diff --git a/data/tsp/tsp-vm1084.json b/data/tsp/tsp-vm1084.json index d562e0ed..ac000f46 100644 --- a/data/tsp/tsp-vm1084.json +++ b/data/tsp/tsp-vm1084.json @@ -1,13017 +1,18444 @@ { - "id" : 0, - "name" : "vm1084", - "distanceType" : "AIR_DISTANCE", - "distanceUnitOfMeasurement" : "distance", - "locationList" : [ { - "@type" : "air", - "@id" : "AirLocation#1", - "id" : 1, - "latitude" : 4080.0, - "longitude" : 5236.0 - }, { - "@type" : "air", - "@id" : "AirLocation#2", - "id" : 2, - "latitude" : 4688.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#3", - "id" : 3, - "latitude" : 5296.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#4", - "id" : 4, - "latitude" : 9392.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#5", - "id" : 5, - "latitude" : 9536.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#6", - "id" : 6, - "latitude" : 9680.0, - "longitude" : 7106.0 - }, { - "@type" : "air", - "@id" : "AirLocation#7", - "id" : 7, - "latitude" : 9936.0, - "longitude" : 9108.0 - }, { - "@type" : "air", - "@id" : "AirLocation#8", - "id" : 8, - "latitude" : 10240.0, - "longitude" : 6248.0 - }, { - "@type" : "air", - "@id" : "AirLocation#9", - "id" : 9, - "latitude" : 10544.0, - "longitude" : 5258.0 - }, { - "@type" : "air", - "@id" : "AirLocation#10", - "id" : 10, - "latitude" : 15504.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#11", - "id" : 11, - "latitude" : 15552.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#12", - "id" : 12, - "latitude" : 15600.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#13", - "id" : 13, - "latitude" : 18864.0, - "longitude" : 11649.0 - }, { - "@type" : "air", - "@id" : "AirLocation#14", - "id" : 14, - "latitude" : 18895.5, - "longitude" : 11330.0 - }, { - "@type" : "air", - "@id" : "AirLocation#15", - "id" : 15, - "latitude" : 18928.0, - "longitude" : 7491.0 - }, { - "@type" : "air", - "@id" : "AirLocation#16", - "id" : 16, - "latitude" : 18928.0, - "longitude" : 11154.0 - }, { - "@type" : "air", - "@id" : "AirLocation#17", - "id" : 17, - "latitude" : 12496.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#18", - "id" : 18, - "latitude" : 12528.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#19", - "id" : 19, - "latitude" : 12560.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#20", - "id" : 20, - "latitude" : 8880.0, - "longitude" : 8888.0 - }, { - "@type" : "air", - "@id" : "AirLocation#21", - "id" : 21, - "latitude" : 9984.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#22", - "id" : 22, - "latitude" : 11088.0, - "longitude" : 5038.0 - }, { - "@type" : "air", - "@id" : "AirLocation#23", - "id" : 23, - "latitude" : 11952.0, - "longitude" : 5368.0 - }, { - "@type" : "air", - "@id" : "AirLocation#24", - "id" : 24, - "latitude" : 11968.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#25", - "id" : 25, - "latitude" : 11984.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#26", - "id" : 26, - "latitude" : 12368.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#27", - "id" : 27, - "latitude" : 12432.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#28", - "id" : 28, - "latitude" : 12496.0, - "longitude" : 5368.0 - }, { - "@type" : "air", - "@id" : "AirLocation#29", - "id" : 29, - "latitude" : 13264.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#30", - "id" : 30, - "latitude" : 13312.0, - "longitude" : 6688.0 - }, { - "@type" : "air", - "@id" : "AirLocation#31", - "id" : 31, - "latitude" : 13360.0, - "longitude" : 5478.0 - }, { - "@type" : "air", - "@id" : "AirLocation#32", - "id" : 32, - "latitude" : 560.0, - "longitude" : 4532.0 - }, { - "@type" : "air", - "@id" : "AirLocation#33", - "id" : 33, - "latitude" : 560.0, - "longitude" : 8514.0 - }, { - "@type" : "air", - "@id" : "AirLocation#34", - "id" : 34, - "latitude" : 640.0, - "longitude" : 5060.0 - }, { - "@type" : "air", - "@id" : "AirLocation#35", - "id" : 35, - "latitude" : 720.0, - "longitude" : 4532.0 - }, { - "@type" : "air", - "@id" : "AirLocation#36", - "id" : 36, - "latitude" : 5936.0, - "longitude" : 7986.0 - }, { - "@type" : "air", - "@id" : "AirLocation#37", - "id" : 37, - "latitude" : 13776.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#38", - "id" : 38, - "latitude" : 13840.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#39", - "id" : 39, - "latitude" : 13904.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#40", - "id" : 40, - "latitude" : 14480.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#41", - "id" : 41, - "latitude" : 14624.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#42", - "id" : 42, - "latitude" : 14768.0, - "longitude" : 7106.0 - }, { - "@type" : "air", - "@id" : "AirLocation#43", - "id" : 43, - "latitude" : 7856.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#44", - "id" : 44, - "latitude" : 7904.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#45", - "id" : 45, - "latitude" : 7952.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#46", - "id" : 46, - "latitude" : 1200.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#47", - "id" : 47, - "latitude" : 1712.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#48", - "id" : 48, - "latitude" : 2224.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#49", - "id" : 49, - "latitude" : 1488.0, - "longitude" : 5830.0 - }, { - "@type" : "air", - "@id" : "AirLocation#50", - "id" : 50, - "latitude" : 2272.0, - "longitude" : 7656.0 - }, { - "@type" : "air", - "@id" : "AirLocation#51", - "id" : 51, - "latitude" : 3056.0, - "longitude" : 9812.0 - }, { - "@type" : "air", - "@id" : "AirLocation#52", - "id" : 52, - "latitude" : 624.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#53", - "id" : 53, - "latitude" : 720.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#54", - "id" : 54, - "latitude" : 816.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#55", - "id" : 55, - "latitude" : 349.5, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#56", - "id" : 56, - "latitude" : 432.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#57", - "id" : 57, - "latitude" : 2192.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#58", - "id" : 58, - "latitude" : 2480.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#59", - "id" : 59, - "latitude" : 2768.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#60", - "id" : 60, - "latitude" : 3056.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#61", - "id" : 61, - "latitude" : 3344.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#62", - "id" : 62, - "latitude" : 3632.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#63", - "id" : 63, - "latitude" : 3920.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#64", - "id" : 64, - "latitude" : 3920.0, - "longitude" : 7942.0 - }, { - "@type" : "air", - "@id" : "AirLocation#65", - "id" : 65, - "latitude" : 4640.0, - "longitude" : 11044.0 - }, { - "@type" : "air", - "@id" : "AirLocation#66", - "id" : 66, - "latitude" : 5360.0, - "longitude" : 11506.0 - }, { - "@type" : "air", - "@id" : "AirLocation#67", - "id" : 67, - "latitude" : 5488.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#68", - "id" : 68, - "latitude" : 5536.0, - "longitude" : 11132.0 - }, { - "@type" : "air", - "@id" : "AirLocation#69", - "id" : 69, - "latitude" : 5584.0, - "longitude" : 11550.0 - }, { - "@type" : "air", - "@id" : "AirLocation#70", - "id" : 70, - "latitude" : 1712.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#71", - "id" : 71, - "latitude" : 2000.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#72", - "id" : 72, - "latitude" : 2288.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#73", - "id" : 73, - "latitude" : 2576.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#74", - "id" : 74, - "latitude" : 2864.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#75", - "id" : 75, - "latitude" : 2864.0, - "longitude" : 5214.0 - }, { - "@type" : "air", - "@id" : "AirLocation#76", - "id" : 76, - "latitude" : 3136.0, - "longitude" : 6028.0 - }, { - "@type" : "air", - "@id" : "AirLocation#77", - "id" : 77, - "latitude" : 3408.0, - "longitude" : 8998.0 - }, { - "@type" : "air", - "@id" : "AirLocation#78", - "id" : 78, - "latitude" : 3424.0, - "longitude" : 6028.0 - }, { - "@type" : "air", - "@id" : "AirLocation#79", - "id" : 79, - "latitude" : 3440.0, - "longitude" : 5016.0 - }, { - "@type" : "air", - "@id" : "AirLocation#80", - "id" : 80, - "latitude" : 7984.0, - "longitude" : 7986.0 - }, { - "@type" : "air", - "@id" : "AirLocation#81", - "id" : 81, - "latitude" : 14160.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#82", - "id" : 82, - "latitude" : 14176.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#83", - "id" : 83, - "latitude" : 14192.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#84", - "id" : 84, - "latitude" : 14384.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#85", - "id" : 85, - "latitude" : 14432.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#86", - "id" : 86, - "latitude" : 14480.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#87", - "id" : 87, - "latitude" : 13072.0, - "longitude" : 8118.0 - }, { - "@type" : "air", - "@id" : "AirLocation#88", - "id" : 88, - "latitude" : 1424.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#89", - "id" : 89, - "latitude" : 2096.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#90", - "id" : 90, - "latitude" : 2768.0, - "longitude" : 9724.0 - }, { - "@type" : "air", - "@id" : "AirLocation#91", - "id" : 91, - "latitude" : 2768.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#92", - "id" : 92, - "latitude" : 2944.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#93", - "id" : 93, - "latitude" : 3120.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#94", - "id" : 94, - "latitude" : 7696.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#95", - "id" : 95, - "latitude" : 7760.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#96", - "id" : 96, - "latitude" : 7824.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#97", - "id" : 97, - "latitude" : 1456.0, - "longitude" : 6864.0 - }, { - "@type" : "air", - "@id" : "AirLocation#98", - "id" : 98, - "latitude" : 2272.0, - "longitude" : 9724.0 - }, { - "@type" : "air", - "@id" : "AirLocation#99", - "id" : 99, - "latitude" : 3088.0, - "longitude" : 10846.0 - }, { - "@type" : "air", - "@id" : "AirLocation#100", - "id" : 100, - "latitude" : 12752.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#101", - "id" : 101, - "latitude" : 12768.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#102", - "id" : 102, - "latitude" : 12784.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#103", - "id" : 103, - "latitude" : 2864.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#104", - "id" : 104, - "latitude" : 3552.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#105", - "id" : 105, - "latitude" : 4240.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#106", - "id" : 106, - "latitude" : 8016.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#107", - "id" : 107, - "latitude" : 8048.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#108", - "id" : 108, - "latitude" : 8080.0, - "longitude" : 8404.0 - }, { - "@type" : "air", - "@id" : "AirLocation#109", - "id" : 109, - "latitude" : 8192.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#110", - "id" : 110, - "latitude" : 8304.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#111", - "id" : 111, - "latitude" : 8336.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#112", - "id" : 112, - "latitude" : 8368.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#113", - "id" : 113, - "latitude" : 8479.5, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#114", - "id" : 114, - "latitude" : 8592.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#115", - "id" : 115, - "latitude" : 8624.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#116", - "id" : 116, - "latitude" : 8592.0, - "longitude" : 4708.0 - }, { - "@type" : "air", - "@id" : "AirLocation#117", - "id" : 117, - "latitude" : 8656.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#118", - "id" : 118, - "latitude" : 8768.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#119", - "id" : 119, - "latitude" : 8880.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#120", - "id" : 120, - "latitude" : 8880.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#121", - "id" : 121, - "latitude" : 8912.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#122", - "id" : 122, - "latitude" : 8944.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#123", - "id" : 123, - "latitude" : 592.0, - "longitude" : 11176.0 - }, { - "@type" : "air", - "@id" : "AirLocation#124", - "id" : 124, - "latitude" : 736.0, - "longitude" : 10384.0 - }, { - "@type" : "air", - "@id" : "AirLocation#125", - "id" : 125, - "latitude" : 880.0, - "longitude" : 7194.0 - }, { - "@type" : "air", - "@id" : "AirLocation#126", - "id" : 126, - "latitude" : 11664.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#127", - "id" : 127, - "latitude" : 11856.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#128", - "id" : 128, - "latitude" : 12048.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#129", - "id" : 129, - "latitude" : 12976.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#130", - "id" : 130, - "latitude" : 13184.0, - "longitude" : 5104.0 - }, { - "@type" : "air", - "@id" : "AirLocation#131", - "id" : 131, - "latitude" : 13392.0, - "longitude" : 4686.0 - }, { - "@type" : "air", - "@id" : "AirLocation#132", - "id" : 132, - "latitude" : 14288.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#133", - "id" : 133, - "latitude" : 14304.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#134", - "id" : 134, - "latitude" : 14320.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#135", - "id" : 135, - "latitude" : 18384.0, - "longitude" : 11759.0 - }, { - "@type" : "air", - "@id" : "AirLocation#136", - "id" : 136, - "latitude" : 18626.5, - "longitude" : 11550.0 - }, { - "@type" : "air", - "@id" : "AirLocation#137", - "id" : 137, - "latitude" : 16208.0, - "longitude" : 10208.0 - }, { - "@type" : "air", - "@id" : "AirLocation#138", - "id" : 138, - "latitude" : 16384.0, - "longitude" : 8448.0 - }, { - "@type" : "air", - "@id" : "AirLocation#139", - "id" : 139, - "latitude" : 16560.0, - "longitude" : 6226.0 - }, { - "@type" : "air", - "@id" : "AirLocation#140", - "id" : 140, - "latitude" : 11376.0, - "longitude" : 5038.0 - }, { - "@type" : "air", - "@id" : "AirLocation#141", - "id" : 141, - "latitude" : 12384.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#142", - "id" : 142, - "latitude" : 13392.0, - "longitude" : 8888.0 - }, { - "@type" : "air", - "@id" : "AirLocation#143", - "id" : 143, - "latitude" : 9968.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#144", - "id" : 144, - "latitude" : 10032.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#145", - "id" : 145, - "latitude" : 10096.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#146", - "id" : 146, - "latitude" : 10256.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#147", - "id" : 147, - "latitude" : 10816.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#148", - "id" : 148, - "latitude" : 11376.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#149", - "id" : 149, - "latitude" : 15824.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#150", - "id" : 150, - "latitude" : 15920.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#151", - "id" : 151, - "latitude" : 16016.0, - "longitude" : 9768.0 - }, { - "@type" : "air", - "@id" : "AirLocation#152", - "id" : 152, - "latitude" : 1008.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#153", - "id" : 153, - "latitude" : 1056.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#154", - "id" : 154, - "latitude" : 1104.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#155", - "id" : 155, - "latitude" : 1104.0, - "longitude" : 8052.0 - }, { - "@type" : "air", - "@id" : "AirLocation#156", - "id" : 156, - "latitude" : 1168.0, - "longitude" : 11484.0 - }, { - "@type" : "air", - "@id" : "AirLocation#157", - "id" : 157, - "latitude" : 1232.0, - "longitude" : 11726.0 - }, { - "@type" : "air", - "@id" : "AirLocation#158", - "id" : 158, - "latitude" : 15280.0, - "longitude" : 6270.0 - }, { - "@type" : "air", - "@id" : "AirLocation#159", - "id" : 159, - "latitude" : 15600.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#160", - "id" : 160, - "latitude" : 15920.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#161", - "id" : 161, - "latitude" : 17360.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#162", - "id" : 162, - "latitude" : 17568.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#163", - "id" : 163, - "latitude" : 17776.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#164", - "id" : 164, - "latitude" : 17984.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#165", - "id" : 165, - "latitude" : 18192.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#166", - "id" : 166, - "latitude" : 18400.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#167", - "id" : 167, - "latitude" : 18608.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#168", - "id" : 168, - "latitude" : 6480.0, - "longitude" : 8624.0 - }, { - "@type" : "air", - "@id" : "AirLocation#169", - "id" : 169, - "latitude" : 6528.0, - "longitude" : 5280.0 - }, { - "@type" : "air", - "@id" : "AirLocation#170", - "id" : 170, - "latitude" : 6576.0, - "longitude" : 4642.0 - }, { - "@type" : "air", - "@id" : "AirLocation#171", - "id" : 171, - "latitude" : 6160.0, - "longitude" : 4642.0 - }, { - "@type" : "air", - "@id" : "AirLocation#172", - "id" : 172, - "latitude" : 6272.0, - "longitude" : 5280.0 - }, { - "@type" : "air", - "@id" : "AirLocation#173", - "id" : 173, - "latitude" : 6384.0, - "longitude" : 8624.0 - }, { - "@type" : "air", - "@id" : "AirLocation#174", - "id" : 174, - "latitude" : 5520.0, - "longitude" : 9988.0 - }, { - "@type" : "air", - "@id" : "AirLocation#175", - "id" : 175, - "latitude" : 5552.0, - "longitude" : 8008.0 - }, { - "@type" : "air", - "@id" : "AirLocation#176", - "id" : 176, - "latitude" : 5584.0, - "longitude" : 6006.0 - }, { - "@type" : "air", - "@id" : "AirLocation#177", - "id" : 177, - "latitude" : 1968.0, - "longitude" : 6754.0 - }, { - "@type" : "air", - "@id" : "AirLocation#178", - "id" : 178, - "latitude" : 1984.0, - "longitude" : 9504.0 - }, { - "@type" : "air", - "@id" : "AirLocation#179", - "id" : 179, - "latitude" : 2000.0, - "longitude" : 10736.0 - }, { - "@type" : "air", - "@id" : "AirLocation#180", - "id" : 180, - "latitude" : 6192.0, - "longitude" : 6754.0 - }, { - "@type" : "air", - "@id" : "AirLocation#181", - "id" : 181, - "latitude" : 11344.0, - "longitude" : 9504.0 - }, { - "@type" : "air", - "@id" : "AirLocation#182", - "id" : 182, - "latitude" : 16496.0, - "longitude" : 10736.0 - }, { - "@type" : "air", - "@id" : "AirLocation#183", - "id" : 183, - "latitude" : 8944.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#184", - "id" : 184, - "latitude" : 8960.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#185", - "id" : 185, - "latitude" : 8976.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#186", - "id" : 186, - "latitude" : 4432.0, - "longitude" : 7194.0 - }, { - "@type" : "air", - "@id" : "AirLocation#187", - "id" : 187, - "latitude" : 9824.0, - "longitude" : 10384.0 - }, { - "@type" : "air", - "@id" : "AirLocation#188", - "id" : 188, - "latitude" : 15216.0, - "longitude" : 11176.0 - }, { - "@type" : "air", - "@id" : "AirLocation#189", - "id" : 189, - "latitude" : 4496.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#190", - "id" : 190, - "latitude" : 10064.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#191", - "id" : 191, - "latitude" : 15632.0, - "longitude" : 9768.0 - }, { - "@type" : "air", - "@id" : "AirLocation#192", - "id" : 192, - "latitude" : 7216.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#193", - "id" : 193, - "latitude" : 7360.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#194", - "id" : 194, - "latitude" : 7504.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#195", - "id" : 195, - "latitude" : 4720.0, - "longitude" : 5456.0 - }, { - "@type" : "air", - "@id" : "AirLocation#196", - "id" : 196, - "latitude" : 10384.0, - "longitude" : 6908.0 - }, { - "@type" : "air", - "@id" : "AirLocation#197", - "id" : 197, - "latitude" : 16048.0, - "longitude" : 9438.0 - }, { - "@type" : "air", - "@id" : "AirLocation#198", - "id" : 198, - "latitude" : 4784.0, - "longitude" : 6490.0 - }, { - "@type" : "air", - "@id" : "AirLocation#199", - "id" : 199, - "latitude" : 10624.0, - "longitude" : 8976.0 - }, { - "@type" : "air", - "@id" : "AirLocation#200", - "id" : 200, - "latitude" : 16464.0, - "longitude" : 10472.0 - }, { - "@type" : "air", - "@id" : "AirLocation#201", - "id" : 201, - "latitude" : 1296.0, - "longitude" : 10318.0 - }, { - "@type" : "air", - "@id" : "AirLocation#202", - "id" : 202, - "latitude" : 1344.5, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#203", - "id" : 203, - "latitude" : 1296.0, - "longitude" : 8492.0 - }, { - "@type" : "air", - "@id" : "AirLocation#204", - "id" : 204, - "latitude" : 1392.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#205", - "id" : 205, - "latitude" : 15696.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#206", - "id" : 206, - "latitude" : 15712.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#207", - "id" : 207, - "latitude" : 15728.0, - "longitude" : 9834.0 - }, { - "@type" : "air", - "@id" : "AirLocation#208", - "id" : 208, - "latitude" : 15728.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#209", - "id" : 209, - "latitude" : 16352.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#210", - "id" : 210, - "latitude" : 16976.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#211", - "id" : 211, - "latitude" : 11792.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#212", - "id" : 212, - "latitude" : 11808.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#213", - "id" : 213, - "latitude" : 11824.0, - "longitude" : 5368.0 - }, { - "@type" : "air", - "@id" : "AirLocation#214", - "id" : 214, - "latitude" : 11216.0, - "longitude" : 8118.0 - }, { - "@type" : "air", - "@id" : "AirLocation#215", - "id" : 215, - "latitude" : 336.0, - "longitude" : 11396.0 - }, { - "@type" : "air", - "@id" : "AirLocation#216", - "id" : 216, - "latitude" : 352.0, - "longitude" : 10824.0 - }, { - "@type" : "air", - "@id" : "AirLocation#217", - "id" : 217, - "latitude" : 368.0, - "longitude" : 7414.0 - }, { - "@type" : "air", - "@id" : "AirLocation#218", - "id" : 218, - "latitude" : 14608.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#219", - "id" : 219, - "latitude" : 14624.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#220", - "id" : 220, - "latitude" : 14640.0, - "longitude" : 6402.0 - }, { - "@type" : "air", - "@id" : "AirLocation#221", - "id" : 221, - "latitude" : 13968.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#222", - "id" : 222, - "latitude" : 14000.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#223", - "id" : 223, - "latitude" : 14032.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#224", - "id" : 224, - "latitude" : 10416.0, - "longitude" : 6996.0 - }, { - "@type" : "air", - "@id" : "AirLocation#225", - "id" : 225, - "latitude" : 10432.0, - "longitude" : 9724.0 - }, { - "@type" : "air", - "@id" : "AirLocation#226", - "id" : 226, - "latitude" : 10448.0, - "longitude" : 10846.0 - }, { - "@type" : "air", - "@id" : "AirLocation#227", - "id" : 227, - "latitude" : 9808.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#228", - "id" : 228, - "latitude" : 9840.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#229", - "id" : 229, - "latitude" : 9872.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#230", - "id" : 230, - "latitude" : 15248.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#231", - "id" : 231, - "latitude" : 15280.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#232", - "id" : 232, - "latitude" : 15312.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#233", - "id" : 233, - "latitude" : 13200.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#234", - "id" : 234, - "latitude" : 13216.0, - "longitude" : 6688.0 - }, { - "@type" : "air", - "@id" : "AirLocation#235", - "id" : 235, - "latitude" : 13232.0, - "longitude" : 5478.0 - }, { - "@type" : "air", - "@id" : "AirLocation#236", - "id" : 236, - "latitude" : 12560.0, - "longitude" : 10846.0 - }, { - "@type" : "air", - "@id" : "AirLocation#237", - "id" : 237, - "latitude" : 12592.0, - "longitude" : 9724.0 - }, { - "@type" : "air", - "@id" : "AirLocation#238", - "id" : 238, - "latitude" : 12624.0, - "longitude" : 6996.0 - }, { - "@type" : "air", - "@id" : "AirLocation#239", - "id" : 239, - "latitude" : 3920.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#240", - "id" : 240, - "latitude" : 3952.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#241", - "id" : 241, - "latitude" : 3984.0, - "longitude" : 7678.0 - }, { - "@type" : "air", - "@id" : "AirLocation#242", - "id" : 242, - "latitude" : 4016.0, - "longitude" : 6644.0 - }, { - "@type" : "air", - "@id" : "AirLocation#243", - "id" : 243, - "latitude" : 4032.0, - "longitude" : 9284.0 - }, { - "@type" : "air", - "@id" : "AirLocation#244", - "id" : 244, - "latitude" : 4048.0, - "longitude" : 10626.0 - }, { - "@type" : "air", - "@id" : "AirLocation#245", - "id" : 245, - "latitude" : 4048.0, - "longitude" : 6270.0 - }, { - "@type" : "air", - "@id" : "AirLocation#246", - "id" : 246, - "latitude" : 4208.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#247", - "id" : 247, - "latitude" : 4368.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#248", - "id" : 248, - "latitude" : 3824.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#249", - "id" : 249, - "latitude" : 3888.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#250", - "id" : 250, - "latitude" : 3952.0, - "longitude" : 6270.0 - }, { - "@type" : "air", - "@id" : "AirLocation#251", - "id" : 251, - "latitude" : 4112.0, - "longitude" : 5676.0 - }, { - "@type" : "air", - "@id" : "AirLocation#252", - "id" : 252, - "latitude" : 4416.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#253", - "id" : 253, - "latitude" : 4720.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#254", - "id" : 254, - "latitude" : 4144.0, - "longitude" : 6644.0 - }, { - "@type" : "air", - "@id" : "AirLocation#255", - "id" : 255, - "latitude" : 4464.0, - "longitude" : 9284.0 - }, { - "@type" : "air", - "@id" : "AirLocation#256", - "id" : 256, - "latitude" : 4784.0, - "longitude" : 10626.0 - }, { - "@type" : "air", - "@id" : "AirLocation#257", - "id" : 257, - "latitude" : 4176.0, - "longitude" : 4906.0 - }, { - "@type" : "air", - "@id" : "AirLocation#258", - "id" : 258, - "latitude" : 4560.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#259", - "id" : 259, - "latitude" : 4944.0, - "longitude" : 8888.0 - }, { - "@type" : "air", - "@id" : "AirLocation#260", - "id" : 260, - "latitude" : 4208.0, - "longitude" : 5016.0 - }, { - "@type" : "air", - "@id" : "AirLocation#261", - "id" : 261, - "latitude" : 4608.0, - "longitude" : 6028.0 - }, { - "@type" : "air", - "@id" : "AirLocation#262", - "id" : 262, - "latitude" : 5008.0, - "longitude" : 8998.0 - }, { - "@type" : "air", - "@id" : "AirLocation#263", - "id" : 263, - "latitude" : 528.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#264", - "id" : 264, - "latitude" : 1584.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#265", - "id" : 265, - "latitude" : 2640.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#266", - "id" : 266, - "latitude" : 12112.0, - "longitude" : 4466.0 - }, { - "@type" : "air", - "@id" : "AirLocation#267", - "id" : 267, - "latitude" : 14752.0, - "longitude" : 4664.0 - }, { - "@type" : "air", - "@id" : "AirLocation#268", - "id" : 268, - "latitude" : 17392.0, - "longitude" : 4158.0 - }, { - "@type" : "air", - "@id" : "AirLocation#269", - "id" : 269, - "latitude" : 17392.0, - "longitude" : 8118.0 - }, { - "@type" : "air", - "@id" : "AirLocation#270", - "id" : 270, - "latitude" : 17456.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#271", - "id" : 271, - "latitude" : 17392.0, - "longitude" : 4510.0 - }, { - "@type" : "air", - "@id" : "AirLocation#272", - "id" : 272, - "latitude" : 17520.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#273", - "id" : 273, - "latitude" : 10800.0, - "longitude" : 7106.0 - }, { - "@type" : "air", - "@id" : "AirLocation#274", - "id" : 274, - "latitude" : 10864.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#275", - "id" : 275, - "latitude" : 10928.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#276", - "id" : 276, - "latitude" : 10704.0, - "longitude" : 5478.0 - }, { - "@type" : "air", - "@id" : "AirLocation#277", - "id" : 277, - "latitude" : 10720.0, - "longitude" : 6688.0 - }, { - "@type" : "air", - "@id" : "AirLocation#278", - "id" : 278, - "latitude" : 10736.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#279", - "id" : 279, - "latitude" : 16688.0, - "longitude" : 6226.0 - }, { - "@type" : "air", - "@id" : "AirLocation#280", - "id" : 280, - "latitude" : 16928.0, - "longitude" : 8448.0 - }, { - "@type" : "air", - "@id" : "AirLocation#281", - "id" : 281, - "latitude" : 17168.0, - "longitude" : 10208.0 - }, { - "@type" : "air", - "@id" : "AirLocation#282", - "id" : 282, - "latitude" : 13520.0, - "longitude" : 4576.0 - }, { - "@type" : "air", - "@id" : "AirLocation#283", - "id" : 283, - "latitude" : 15776.0, - "longitude" : 4884.0 - }, { - "@type" : "air", - "@id" : "AirLocation#284", - "id" : 284, - "latitude" : 18032.0, - "longitude" : 8426.0 - }, { - "@type" : "air", - "@id" : "AirLocation#285", - "id" : 285, - "latitude" : 18063.5, - "longitude" : 4884.0 - }, { - "@type" : "air", - "@id" : "AirLocation#286", - "id" : 286, - "latitude" : 18096.0, - "longitude" : 4268.0 - }, { - "@type" : "air", - "@id" : "AirLocation#287", - "id" : 287, - "latitude" : 18096.0, - "longitude" : 4708.0 - }, { - "@type" : "air", - "@id" : "AirLocation#288", - "id" : 288, - "latitude" : 10928.0, - "longitude" : 6732.0 - }, { - "@type" : "air", - "@id" : "AirLocation#289", - "id" : 289, - "latitude" : 13680.0, - "longitude" : 9196.0 - }, { - "@type" : "air", - "@id" : "AirLocation#290", - "id" : 290, - "latitude" : 16432.0, - "longitude" : 8382.0 - }, { - "@type" : "air", - "@id" : "AirLocation#291", - "id" : 291, - "latitude" : 16736.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#292", - "id" : 292, - "latitude" : 16432.0, - "longitude" : 10582.0 - }, { - "@type" : "air", - "@id" : "AirLocation#293", - "id" : 293, - "latitude" : 17040.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#294", - "id" : 294, - "latitude" : 9424.0, - "longitude" : 4928.0 - }, { - "@type" : "air", - "@id" : "AirLocation#295", - "id" : 295, - "latitude" : 9472.0, - "longitude" : 5588.0 - }, { - "@type" : "air", - "@id" : "AirLocation#296", - "id" : 296, - "latitude" : 9520.0, - "longitude" : 8778.0 - }, { - "@type" : "air", - "@id" : "AirLocation#297", - "id" : 297, - "latitude" : 10256.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#298", - "id" : 298, - "latitude" : 10464.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#299", - "id" : 299, - "latitude" : 10672.0, - "longitude" : 7106.0 - }, { - "@type" : "air", - "@id" : "AirLocation#300", - "id" : 300, - "latitude" : 13744.0, - "longitude" : 4686.0 - }, { - "@type" : "air", - "@id" : "AirLocation#301", - "id" : 301, - "latitude" : 16091.5, - "longitude" : 5104.0 - }, { - "@type" : "air", - "@id" : "AirLocation#302", - "id" : 302, - "latitude" : 18448.0, - "longitude" : 4378.0 - }, { - "@type" : "air", - "@id" : "AirLocation#303", - "id" : 303, - "latitude" : 18448.0, - "longitude" : 4928.0 - }, { - "@type" : "air", - "@id" : "AirLocation#304", - "id" : 304, - "latitude" : 18512.5, - "longitude" : 5104.0 - }, { - "@type" : "air", - "@id" : "AirLocation#305", - "id" : 305, - "latitude" : 18576.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#306", - "id" : 306, - "latitude" : 656.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#307", - "id" : 307, - "latitude" : 816.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#308", - "id" : 308, - "latitude" : 976.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#309", - "id" : 309, - "latitude" : 976.0, - "longitude" : 4752.0 - }, { - "@type" : "air", - "@id" : "AirLocation#310", - "id" : 310, - "latitude" : 992.5, - "longitude" : 4928.0 - }, { - "@type" : "air", - "@id" : "AirLocation#311", - "id" : 311, - "latitude" : 1008.0, - "longitude" : 8448.0 - }, { - "@type" : "air", - "@id" : "AirLocation#312", - "id" : 312, - "latitude" : 1072.0, - "longitude" : 4928.0 - }, { - "@type" : "air", - "@id" : "AirLocation#313", - "id" : 313, - "latitude" : 1136.0, - "longitude" : 4466.0 - }, { - "@type" : "air", - "@id" : "AirLocation#314", - "id" : 314, - "latitude" : 12176.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#315", - "id" : 315, - "latitude" : 12208.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#316", - "id" : 316, - "latitude" : 12240.0, - "longitude" : 5368.0 - }, { - "@type" : "air", - "@id" : "AirLocation#317", - "id" : 317, - "latitude" : 18800.0, - "longitude" : 7986.0 - }, { - "@type" : "air", - "@id" : "AirLocation#318", - "id" : 318, - "latitude" : 14800.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#319", - "id" : 319, - "latitude" : 14864.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#320", - "id" : 320, - "latitude" : 14928.0, - "longitude" : 5808.0 - }, { - "@type" : "air", - "@id" : "AirLocation#321", - "id" : 321, - "latitude" : 9520.0, - "longitude" : 4554.0 - }, { - "@type" : "air", - "@id" : "AirLocation#322", - "id" : 322, - "latitude" : 9616.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#323", - "id" : 323, - "latitude" : 9712.0, - "longitude" : 8404.0 - }, { - "@type" : "air", - "@id" : "AirLocation#324", - "id" : 324, - "latitude" : 16336.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#325", - "id" : 325, - "latitude" : 16352.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#326", - "id" : 326, - "latitude" : 16368.0, - "longitude" : 9768.0 - }, { - "@type" : "air", - "@id" : "AirLocation#327", - "id" : 327, - "latitude" : 10832.0, - "longitude" : 5258.0 - }, { - "@type" : "air", - "@id" : "AirLocation#328", - "id" : 328, - "latitude" : 11184.0, - "longitude" : 6248.0 - }, { - "@type" : "air", - "@id" : "AirLocation#329", - "id" : 329, - "latitude" : 11536.0, - "longitude" : 9108.0 - }, { - "@type" : "air", - "@id" : "AirLocation#330", - "id" : 330, - "latitude" : 12208.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#331", - "id" : 331, - "latitude" : 12240.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#332", - "id" : 332, - "latitude" : 12272.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#333", - "id" : 333, - "latitude" : 12336.0, - "longitude" : 4906.0 - }, { - "@type" : "air", - "@id" : "AirLocation#334", - "id" : 334, - "latitude" : 15040.0, - "longitude" : 5544.0 - }, { - "@type" : "air", - "@id" : "AirLocation#335", - "id" : 335, - "latitude" : 17744.0, - "longitude" : 4774.0 - }, { - "@type" : "air", - "@id" : "AirLocation#336", - "id" : 336, - "latitude" : 17920.0, - "longitude" : 5544.0 - }, { - "@type" : "air", - "@id" : "AirLocation#337", - "id" : 337, - "latitude" : 18096.0, - "longitude" : 8756.0 - }, { - "@type" : "air", - "@id" : "AirLocation#338", - "id" : 338, - "latitude" : 12688.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#339", - "id" : 339, - "latitude" : 13168.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#340", - "id" : 340, - "latitude" : 13648.0, - "longitude" : 5368.0 - }, { - "@type" : "air", - "@id" : "AirLocation#341", - "id" : 341, - "latitude" : 12880.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#342", - "id" : 342, - "latitude" : 13248.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#343", - "id" : 343, - "latitude" : 13616.0, - "longitude" : 5698.0 - }, { - "@type" : "air", - "@id" : "AirLocation#344", - "id" : 344, - "latitude" : 14672.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#345", - "id" : 345, - "latitude" : 14848.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#346", - "id" : 346, - "latitude" : 15024.0, - "longitude" : 6402.0 - }, { - "@type" : "air", - "@id" : "AirLocation#347", - "id" : 347, - "latitude" : 5808.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#348", - "id" : 348, - "latitude" : 5808.0, - "longitude" : 8074.0 - }, { - "@type" : "air", - "@id" : "AirLocation#349", - "id" : 349, - "latitude" : 5840.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#350", - "id" : 350, - "latitude" : 5872.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#351", - "id" : 351, - "latitude" : 3472.0, - "longitude" : 9768.0 - }, { - "@type" : "air", - "@id" : "AirLocation#352", - "id" : 352, - "latitude" : 3664.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#353", - "id" : 353, - "latitude" : 3856.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#354", - "id" : 354, - "latitude" : 336.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#355", - "id" : 355, - "latitude" : 624.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#356", - "id" : 356, - "latitude" : 912.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#357", - "id" : 357, - "latitude" : 11344.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#358", - "id" : 358, - "latitude" : 12944.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#359", - "id" : 359, - "latitude" : 14544.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#360", - "id" : 360, - "latitude" : 17872.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#361", - "id" : 361, - "latitude" : 17904.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#362", - "id" : 362, - "latitude" : 17936.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#363", - "id" : 363, - "latitude" : 368.0, - "longitude" : 11550.0 - }, { - "@type" : "air", - "@id" : "AirLocation#364", - "id" : 364, - "latitude" : 416.0, - "longitude" : 11132.0 - }, { - "@type" : "air", - "@id" : "AirLocation#365", - "id" : 365, - "latitude" : 464.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#366", - "id" : 366, - "latitude" : 17520.0, - "longitude" : 7634.0 - }, { - "@type" : "air", - "@id" : "AirLocation#367", - "id" : 367, - "latitude" : 17568.0, - "longitude" : 11264.0 - }, { - "@type" : "air", - "@id" : "AirLocation#368", - "id" : 368, - "latitude" : 17616.0, - "longitude" : 11616.0 - }, { - "@type" : "air", - "@id" : "AirLocation#369", - "id" : 369, - "latitude" : 4688.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#370", - "id" : 370, - "latitude" : 5904.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#371", - "id" : 371, - "latitude" : 7120.0, - "longitude" : 8404.0 - }, { - "@type" : "air", - "@id" : "AirLocation#372", - "id" : 372, - "latitude" : 1744.0, - "longitude" : 4532.0 - }, { - "@type" : "air", - "@id" : "AirLocation#373", - "id" : 373, - "latitude" : 3424.0, - "longitude" : 5060.0 - }, { - "@type" : "air", - "@id" : "AirLocation#374", - "id" : 374, - "latitude" : 5104.0, - "longitude" : 4532.0 - }, { - "@type" : "air", - "@id" : "AirLocation#375", - "id" : 375, - "latitude" : 3792.0, - "longitude" : 8734.0 - }, { - "@type" : "air", - "@id" : "AirLocation#376", - "id" : 376, - "latitude" : 5552.0, - "longitude" : 5500.0 - }, { - "@type" : "air", - "@id" : "AirLocation#377", - "id" : 377, - "latitude" : 7312.0, - "longitude" : 8734.0 - }, { - "@type" : "air", - "@id" : "AirLocation#378", - "id" : 378, - "latitude" : 17168.0, - "longitude" : 6072.0 - }, { - "@type" : "air", - "@id" : "AirLocation#379", - "id" : 379, - "latitude" : 17200.0, - "longitude" : 8140.0 - }, { - "@type" : "air", - "@id" : "AirLocation#380", - "id" : 380, - "latitude" : 17232.0, - "longitude" : 10054.0 - }, { - "@type" : "air", - "@id" : "AirLocation#381", - "id" : 381, - "latitude" : 3504.0, - "longitude" : 6754.0 - }, { - "@type" : "air", - "@id" : "AirLocation#382", - "id" : 382, - "latitude" : 4832.0, - "longitude" : 9504.0 - }, { - "@type" : "air", - "@id" : "AirLocation#383", - "id" : 383, - "latitude" : 6160.0, - "longitude" : 10736.0 - }, { - "@type" : "air", - "@id" : "AirLocation#384", - "id" : 384, - "latitude" : 1936.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#385", - "id" : 385, - "latitude" : 3264.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#386", - "id" : 386, - "latitude" : 4592.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#387", - "id" : 387, - "latitude" : 6064.0, - "longitude" : 8514.0 - }, { - "@type" : "air", - "@id" : "AirLocation#388", - "id" : 388, - "latitude" : 7856.0, - "longitude" : 5060.0 - }, { - "@type" : "air", - "@id" : "AirLocation#389", - "id" : 389, - "latitude" : 9648.0, - "longitude" : 8514.0 - }, { - "@type" : "air", - "@id" : "AirLocation#390", - "id" : 390, - "latitude" : 16816.0, - "longitude" : 6116.0 - }, { - "@type" : "air", - "@id" : "AirLocation#391", - "id" : 391, - "latitude" : 16848.0, - "longitude" : 8228.0 - }, { - "@type" : "air", - "@id" : "AirLocation#392", - "id" : 392, - "latitude" : 16880.0, - "longitude" : 10098.0 - }, { - "@type" : "air", - "@id" : "AirLocation#393", - "id" : 393, - "latitude" : 15792.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#394", - "id" : 394, - "latitude" : 16256.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#395", - "id" : 395, - "latitude" : 16720.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#396", - "id" : 396, - "latitude" : 2352.0, - "longitude" : 6380.0 - }, { - "@type" : "air", - "@id" : "AirLocation#397", - "id" : 397, - "latitude" : 3808.0, - "longitude" : 8756.0 - }, { - "@type" : "air", - "@id" : "AirLocation#398", - "id" : 398, - "latitude" : 5264.0, - "longitude" : 10362.0 - }, { - "@type" : "air", - "@id" : "AirLocation#399", - "id" : 399, - "latitude" : 16464.0, - "longitude" : 6336.0 - }, { - "@type" : "air", - "@id" : "AirLocation#400", - "id" : 400, - "latitude" : 16736.0, - "longitude" : 8668.0 - }, { - "@type" : "air", - "@id" : "AirLocation#401", - "id" : 401, - "latitude" : 17008.0, - "longitude" : 10318.0 - }, { - "@type" : "air", - "@id" : "AirLocation#402", - "id" : 402, - "latitude" : 16112.0, - "longitude" : 5786.0 - }, { - "@type" : "air", - "@id" : "AirLocation#403", - "id" : 403, - "latitude" : 16192.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#404", - "id" : 404, - "latitude" : 16272.0, - "longitude" : 9768.0 - }, { - "@type" : "air", - "@id" : "AirLocation#405", - "id" : 405, - "latitude" : 9168.0, - "longitude" : 7986.0 - }, { - "@type" : "air", - "@id" : "AirLocation#406", - "id" : 406, - "latitude" : 13360.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#407", - "id" : 407, - "latitude" : 14736.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#408", - "id" : 408, - "latitude" : 16112.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#409", - "id" : 409, - "latitude" : 2928.0, - "longitude" : 7084.0 - }, { - "@type" : "air", - "@id" : "AirLocation#410", - "id" : 410, - "latitude" : 4944.0, - "longitude" : 10164.0 - }, { - "@type" : "air", - "@id" : "AirLocation#411", - "id" : 411, - "latitude" : 6960.0, - "longitude" : 11066.0 - }, { - "@type" : "air", - "@id" : "AirLocation#412", - "id" : 412, - "latitude" : 1776.0, - "longitude" : 6974.0 - }, { - "@type" : "air", - "@id" : "AirLocation#413", - "id" : 413, - "latitude" : 4144.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#414", - "id" : 414, - "latitude" : 6512.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#415", - "id" : 415, - "latitude" : 4144.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#416", - "id" : 416, - "latitude" : 6976.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#417", - "id" : 417, - "latitude" : 9808.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#418", - "id" : 418, - "latitude" : 4816.0, - "longitude" : 5566.0 - }, { - "@type" : "air", - "@id" : "AirLocation#419", - "id" : 419, - "latitude" : 7216.0, - "longitude" : 7128.0 - }, { - "@type" : "air", - "@id" : "AirLocation#420", - "id" : 420, - "latitude" : 9616.0, - "longitude" : 9548.0 - }, { - "@type" : "air", - "@id" : "AirLocation#421", - "id" : 421, - "latitude" : 3824.0, - "longitude" : 5896.0 - }, { - "@type" : "air", - "@id" : "AirLocation#422", - "id" : 422, - "latitude" : 6240.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#423", - "id" : 423, - "latitude" : 8656.0, - "longitude" : 9878.0 - }, { - "@type" : "air", - "@id" : "AirLocation#424", - "id" : 424, - "latitude" : 9264.0, - "longitude" : 5896.0 - }, { - "@type" : "air", - "@id" : "AirLocation#425", - "id" : 425, - "latitude" : 12240.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#426", - "id" : 426, - "latitude" : 15216.0, - "longitude" : 6028.0 - }, { - "@type" : "air", - "@id" : "AirLocation#427", - "id" : 427, - "latitude" : 9104.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#428", - "id" : 428, - "latitude" : 9152.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#429", - "id" : 429, - "latitude" : 9200.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#430", - "id" : 430, - "latitude" : 9200.0, - "longitude" : 4290.0 - }, { - "@type" : "air", - "@id" : "AirLocation#431", - "id" : 431, - "latitude" : 12160.5, - "longitude" : 4444.0 - }, { - "@type" : "air", - "@id" : "AirLocation#432", - "id" : 432, - "latitude" : 15120.0, - "longitude" : 4356.0 - }, { - "@type" : "air", - "@id" : "AirLocation#433", - "id" : 433, - "latitude" : 9072.0, - "longitude" : 6974.0 - }, { - "@type" : "air", - "@id" : "AirLocation#434", - "id" : 434, - "latitude" : 9200.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#435", - "id" : 435, - "latitude" : 9328.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#436", - "id" : 436, - "latitude" : 2672.0, - "longitude" : 7414.0 - }, { - "@type" : "air", - "@id" : "AirLocation#437", - "id" : 437, - "latitude" : 5216.0, - "longitude" : 10824.0 - }, { - "@type" : "air", - "@id" : "AirLocation#438", - "id" : 438, - "latitude" : 7760.0, - "longitude" : 11396.0 - }, { - "@type" : "air", - "@id" : "AirLocation#439", - "id" : 439, - "latitude" : 6000.0, - "longitude" : 7568.0 - }, { - "@type" : "air", - "@id" : "AirLocation#440", - "id" : 440, - "latitude" : 8816.0, - "longitude" : 11132.0 - }, { - "@type" : "air", - "@id" : "AirLocation#441", - "id" : 441, - "latitude" : 11632.0, - "longitude" : 11550.0 - }, { - "@type" : "air", - "@id" : "AirLocation#442", - "id" : 442, - "latitude" : 6032.0, - "longitude" : 5016.0 - }, { - "@type" : "air", - "@id" : "AirLocation#443", - "id" : 443, - "latitude" : 8944.0, - "longitude" : 6028.0 - }, { - "@type" : "air", - "@id" : "AirLocation#444", - "id" : 444, - "latitude" : 11856.0, - "longitude" : 8998.0 - }, { - "@type" : "air", - "@id" : "AirLocation#445", - "id" : 445, - "latitude" : 4880.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#446", - "id" : 446, - "latitude" : 7792.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#447", - "id" : 447, - "latitude" : 10704.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#448", - "id" : 448, - "latitude" : 5456.0, - "longitude" : 5236.0 - }, { - "@type" : "air", - "@id" : "AirLocation#449", - "id" : 449, - "latitude" : 8368.0, - "longitude" : 6468.0 - }, { - "@type" : "air", - "@id" : "AirLocation#450", - "id" : 450, - "latitude" : 11280.0, - "longitude" : 9218.0 - }, { - "@type" : "air", - "@id" : "AirLocation#451", - "id" : 451, - "latitude" : 5168.0, - "longitude" : 5676.0 - }, { - "@type" : "air", - "@id" : "AirLocation#452", - "id" : 452, - "latitude" : 8080.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#453", - "id" : 453, - "latitude" : 10992.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#454", - "id" : 454, - "latitude" : 4592.0, - "longitude" : 7304.0 - }, { - "@type" : "air", - "@id" : "AirLocation#455", - "id" : 455, - "latitude" : 7504.0, - "longitude" : 10604.0 - }, { - "@type" : "air", - "@id" : "AirLocation#456", - "id" : 456, - "latitude" : 10416.0, - "longitude" : 11286.0 - }, { - "@type" : "air", - "@id" : "AirLocation#457", - "id" : 457, - "latitude" : 4912.0, - "longitude" : 6644.0 - }, { - "@type" : "air", - "@id" : "AirLocation#458", - "id" : 458, - "latitude" : 7888.0, - "longitude" : 9284.0 - }, { - "@type" : "air", - "@id" : "AirLocation#459", - "id" : 459, - "latitude" : 10864.0, - "longitude" : 10626.0 - }, { - "@type" : "air", - "@id" : "AirLocation#460", - "id" : 460, - "latitude" : 4336.0, - "longitude" : 6864.0 - }, { - "@type" : "air", - "@id" : "AirLocation#461", - "id" : 461, - "latitude" : 7312.0, - "longitude" : 9724.0 - }, { - "@type" : "air", - "@id" : "AirLocation#462", - "id" : 462, - "latitude" : 10288.0, - "longitude" : 10846.0 - }, { - "@type" : "air", - "@id" : "AirLocation#463", - "id" : 463, - "latitude" : 4624.0, - "longitude" : 5346.0 - }, { - "@type" : "air", - "@id" : "AirLocation#464", - "id" : 464, - "latitude" : 7600.0, - "longitude" : 6688.0 - }, { - "@type" : "air", - "@id" : "AirLocation#465", - "id" : 465, - "latitude" : 10576.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#466", - "id" : 466, - "latitude" : 5200.0, - "longitude" : 6270.0 - }, { - "@type" : "air", - "@id" : "AirLocation#467", - "id" : 467, - "latitude" : 8176.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#468", - "id" : 468, - "latitude" : 11152.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#469", - "id" : 469, - "latitude" : 3248.0, - "longitude" : 5126.0 - }, { - "@type" : "air", - "@id" : "AirLocation#470", - "id" : 470, - "latitude" : 6352.0, - "longitude" : 6248.0 - }, { - "@type" : "air", - "@id" : "AirLocation#471", - "id" : 471, - "latitude" : 9456.0, - "longitude" : 9108.0 - }, { - "@type" : "air", - "@id" : "AirLocation#472", - "id" : 472, - "latitude" : 7920.0, - "longitude" : 7084.0 - }, { - "@type" : "air", - "@id" : "AirLocation#473", - "id" : 473, - "latitude" : 11424.0, - "longitude" : 10164.0 - }, { - "@type" : "air", - "@id" : "AirLocation#474", - "id" : 474, - "latitude" : 14928.0, - "longitude" : 11066.0 - }, { - "@type" : "air", - "@id" : "AirLocation#475", - "id" : 475, - "latitude" : 2096.0, - "longitude" : 7898.0 - }, { - "@type" : "air", - "@id" : "AirLocation#476", - "id" : 476, - "latitude" : 5552.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#477", - "id" : 477, - "latitude" : 9008.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#478", - "id" : 478, - "latitude" : 8176.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#479", - "id" : 479, - "latitude" : 11760.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#480", - "id" : 480, - "latitude" : 15344.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#481", - "id" : 481, - "latitude" : 9232.0, - "longitude" : 4334.0 - }, { - "@type" : "air", - "@id" : "AirLocation#482", - "id" : 482, - "latitude" : 9280.0, - "longitude" : 4664.0 - }, { - "@type" : "air", - "@id" : "AirLocation#483", - "id" : 483, - "latitude" : 9328.0, - "longitude" : 4466.0 - }, { - "@type" : "air", - "@id" : "AirLocation#484", - "id" : 484, - "latitude" : 9328.0, - "longitude" : 4994.0 - }, { - "@type" : "air", - "@id" : "AirLocation#485", - "id" : 485, - "latitude" : 12992.0, - "longitude" : 5324.0 - }, { - "@type" : "air", - "@id" : "AirLocation#486", - "id" : 486, - "latitude" : 16656.0, - "longitude" : 8646.0 - }, { - "@type" : "air", - "@id" : "AirLocation#487", - "id" : 487, - "latitude" : 9136.0, - "longitude" : 7898.0 - }, { - "@type" : "air", - "@id" : "AirLocation#488", - "id" : 488, - "latitude" : 12848.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#489", - "id" : 489, - "latitude" : 16560.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#490", - "id" : 490, - "latitude" : 16592.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#491", - "id" : 491, - "latitude" : 16624.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#492", - "id" : 492, - "latitude" : 8208.0, - "longitude" : 6380.0 - }, { - "@type" : "air", - "@id" : "AirLocation#493", - "id" : 493, - "latitude" : 11984.0, - "longitude" : 8756.0 - }, { - "@type" : "air", - "@id" : "AirLocation#494", - "id" : 494, - "latitude" : 15760.0, - "longitude" : 10362.0 - }, { - "@type" : "air", - "@id" : "AirLocation#495", - "id" : 495, - "latitude" : 8464.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#496", - "id" : 496, - "latitude" : 12320.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#497", - "id" : 497, - "latitude" : 16176.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#498", - "id" : 498, - "latitude" : 3632.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#499", - "id" : 499, - "latitude" : 3664.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#500", - "id" : 500, - "latitude" : 3696.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#501", - "id" : 501, - "latitude" : 4272.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#502", - "id" : 502, - "latitude" : 4320.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#503", - "id" : 503, - "latitude" : 4368.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#504", - "id" : 504, - "latitude" : 2480.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#505", - "id" : 505, - "latitude" : 2512.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#506", - "id" : 506, - "latitude" : 2544.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#507", - "id" : 507, - "latitude" : 5136.0, - "longitude" : 9988.0 - }, { - "@type" : "air", - "@id" : "AirLocation#508", - "id" : 508, - "latitude" : 5200.0, - "longitude" : 8008.0 - }, { - "@type" : "air", - "@id" : "AirLocation#509", - "id" : 509, - "latitude" : 5264.0, - "longitude" : 6006.0 - }, { - "@type" : "air", - "@id" : "AirLocation#510", - "id" : 510, - "latitude" : 6608.0, - "longitude" : 6974.0 - }, { - "@type" : "air", - "@id" : "AirLocation#511", - "id" : 511, - "latitude" : 6640.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#512", - "id" : 512, - "latitude" : 6672.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#513", - "id" : 513, - "latitude" : 3120.0, - "longitude" : 5940.0 - }, { - "@type" : "air", - "@id" : "AirLocation#514", - "id" : 514, - "latitude" : 3184.0, - "longitude" : 7876.0 - }, { - "@type" : "air", - "@id" : "AirLocation#515", - "id" : 515, - "latitude" : 3248.0, - "longitude" : 9922.0 - }, { - "@type" : "air", - "@id" : "AirLocation#516", - "id" : 516, - "latitude" : 7376.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#517", - "id" : 517, - "latitude" : 7392.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#518", - "id" : 518, - "latitude" : 7408.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#519", - "id" : 519, - "latitude" : 6128.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#520", - "id" : 520, - "latitude" : 6192.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#521", - "id" : 521, - "latitude" : 6256.0, - "longitude" : 8074.0 - }, { - "@type" : "air", - "@id" : "AirLocation#522", - "id" : 522, - "latitude" : 6992.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#523", - "id" : 523, - "latitude" : 7024.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#524", - "id" : 524, - "latitude" : 7056.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#525", - "id" : 525, - "latitude" : 15888.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#526", - "id" : 526, - "latitude" : 15920.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#527", - "id" : 527, - "latitude" : 15952.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#528", - "id" : 528, - "latitude" : 5904.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#529", - "id" : 529, - "latitude" : 5936.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#530", - "id" : 530, - "latitude" : 5968.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#531", - "id" : 531, - "latitude" : 688.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#532", - "id" : 532, - "latitude" : 768.0, - "longitude" : 4840.0 - }, { - "@type" : "air", - "@id" : "AirLocation#533", - "id" : 533, - "latitude" : 848.0, - "longitude" : 4422.0 - }, { - "@type" : "air", - "@id" : "AirLocation#534", - "id" : 534, - "latitude" : 240.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#535", - "id" : 535, - "latitude" : 352.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#536", - "id" : 536, - "latitude" : 464.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#537", - "id" : 537, - "latitude" : 496.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#538", - "id" : 538, - "latitude" : 624.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#539", - "id" : 539, - "latitude" : 752.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#540", - "id" : 540, - "latitude" : 1296.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#541", - "id" : 541, - "latitude" : 1456.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#542", - "id" : 542, - "latitude" : 1616.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#543", - "id" : 543, - "latitude" : 784.0, - "longitude" : 4532.0 - }, { - "@type" : "air", - "@id" : "AirLocation#544", - "id" : 544, - "latitude" : 864.0, - "longitude" : 5060.0 - }, { - "@type" : "air", - "@id" : "AirLocation#545", - "id" : 545, - "latitude" : 944.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#546", - "id" : 546, - "latitude" : 944.0, - "longitude" : 4730.0 - }, { - "@type" : "air", - "@id" : "AirLocation#547", - "id" : 547, - "latitude" : 1056.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#548", - "id" : 548, - "latitude" : 1168.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#549", - "id" : 549, - "latitude" : 16912.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#550", - "id" : 550, - "latitude" : 17120.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#551", - "id" : 551, - "latitude" : 17328.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#552", - "id" : 552, - "latitude" : 7472.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#553", - "id" : 553, - "latitude" : 7840.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#554", - "id" : 554, - "latitude" : 8208.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#555", - "id" : 555, - "latitude" : 1104.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#556", - "id" : 556, - "latitude" : 1184.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#557", - "id" : 557, - "latitude" : 1264.0, - "longitude" : 7898.0 - }, { - "@type" : "air", - "@id" : "AirLocation#558", - "id" : 558, - "latitude" : 1072.0, - "longitude" : 11748.0 - }, { - "@type" : "air", - "@id" : "AirLocation#559", - "id" : 559, - "latitude" : 1152.5, - "longitude" : 11176.0 - }, { - "@type" : "air", - "@id" : "AirLocation#560", - "id" : 560, - "latitude" : 1072.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#561", - "id" : 561, - "latitude" : 1232.0, - "longitude" : 7590.0 - }, { - "@type" : "air", - "@id" : "AirLocation#562", - "id" : 562, - "latitude" : 848.0, - "longitude" : 11880.0 - }, { - "@type" : "air", - "@id" : "AirLocation#563", - "id" : 563, - "latitude" : 944.0, - "longitude" : 11792.0 - }, { - "@type" : "air", - "@id" : "AirLocation#564", - "id" : 564, - "latitude" : 1040.0, - "longitude" : 7898.0 - }, { - "@type" : "air", - "@id" : "AirLocation#565", - "id" : 565, - "latitude" : 272.0, - "longitude" : 11176.0 - }, { - "@type" : "air", - "@id" : "AirLocation#566", - "id" : 566, - "latitude" : 384.0, - "longitude" : 10384.0 - }, { - "@type" : "air", - "@id" : "AirLocation#567", - "id" : 567, - "latitude" : 496.0, - "longitude" : 7194.0 - }, { - "@type" : "air", - "@id" : "AirLocation#568", - "id" : 568, - "latitude" : 304.0, - "longitude" : 11286.0 - }, { - "@type" : "air", - "@id" : "AirLocation#569", - "id" : 569, - "latitude" : 464.0, - "longitude" : 10604.0 - }, { - "@type" : "air", - "@id" : "AirLocation#570", - "id" : 570, - "latitude" : 624.0, - "longitude" : 7304.0 - }, { - "@type" : "air", - "@id" : "AirLocation#571", - "id" : 571, - "latitude" : 8560.0, - "longitude" : 11440.0 - }, { - "@type" : "air", - "@id" : "AirLocation#572", - "id" : 572, - "latitude" : 9264.0, - "longitude" : 10912.0 - }, { - "@type" : "air", - "@id" : "AirLocation#573", - "id" : 573, - "latitude" : 9968.0, - "longitude" : 11440.0 - }, { - "@type" : "air", - "@id" : "AirLocation#574", - "id" : 574, - "latitude" : 5712.0, - "longitude" : 9988.0 - }, { - "@type" : "air", - "@id" : "AirLocation#575", - "id" : 575, - "latitude" : 6432.0, - "longitude" : 8008.0 - }, { - "@type" : "air", - "@id" : "AirLocation#576", - "id" : 576, - "latitude" : 7152.0, - "longitude" : 9988.0 - }, { - "@type" : "air", - "@id" : "AirLocation#577", - "id" : 577, - "latitude" : 3664.0, - "longitude" : 6534.0 - }, { - "@type" : "air", - "@id" : "AirLocation#578", - "id" : 578, - "latitude" : 3952.0, - "longitude" : 9064.0 - }, { - "@type" : "air", - "@id" : "AirLocation#579", - "id" : 579, - "latitude" : 4240.0, - "longitude" : 10516.0 - }, { - "@type" : "air", - "@id" : "AirLocation#580", - "id" : 580, - "latitude" : 3472.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#581", - "id" : 581, - "latitude" : 4224.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#582", - "id" : 582, - "latitude" : 4976.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#583", - "id" : 583, - "latitude" : 5008.0, - "longitude" : 4862.0 - }, { - "@type" : "air", - "@id" : "AirLocation#584", - "id" : 584, - "latitude" : 5760.0, - "longitude" : 5720.0 - }, { - "@type" : "air", - "@id" : "AirLocation#585", - "id" : 585, - "latitude" : 6512.0, - "longitude" : 4862.0 - }, { - "@type" : "air", - "@id" : "AirLocation#586", - "id" : 586, - "latitude" : 7472.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#587", - "id" : 587, - "latitude" : 8256.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#588", - "id" : 588, - "latitude" : 9040.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#589", - "id" : 589, - "latitude" : 7056.0, - "longitude" : 4642.0 - }, { - "@type" : "air", - "@id" : "AirLocation#590", - "id" : 590, - "latitude" : 7920.0, - "longitude" : 5280.0 - }, { - "@type" : "air", - "@id" : "AirLocation#591", - "id" : 591, - "latitude" : 8784.0, - "longitude" : 4642.0 - }, { - "@type" : "air", - "@id" : "AirLocation#592", - "id" : 592, - "latitude" : 2512.0, - "longitude" : 5720.0 - }, { - "@type" : "air", - "@id" : "AirLocation#593", - "id" : 593, - "latitude" : 2928.0, - "longitude" : 7436.0 - }, { - "@type" : "air", - "@id" : "AirLocation#594", - "id" : 594, - "latitude" : 3344.0, - "longitude" : 9702.0 - }, { - "@type" : "air", - "@id" : "AirLocation#595", - "id" : 595, - "latitude" : 10224.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#596", - "id" : 596, - "latitude" : 11152.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#597", - "id" : 597, - "latitude" : 12080.0, - "longitude" : 11660.0 - }, { - "@type" : "air", - "@id" : "AirLocation#598", - "id" : 598, - "latitude" : 5072.0, - "longitude" : 6116.0 - }, { - "@type" : "air", - "@id" : "AirLocation#599", - "id" : 599, - "latitude" : 6000.0, - "longitude" : 8228.0 - }, { - "@type" : "air", - "@id" : "AirLocation#600", - "id" : 600, - "latitude" : 6928.0, - "longitude" : 6116.0 - }, { - "@type" : "air", - "@id" : "AirLocation#601", - "id" : 601, - "latitude" : 10480.0, - "longitude" : 11440.0 - }, { - "@type" : "air", - "@id" : "AirLocation#602", - "id" : 602, - "latitude" : 11456.0, - "longitude" : 10912.0 - }, { - "@type" : "air", - "@id" : "AirLocation#603", - "id" : 603, - "latitude" : 12432.0, - "longitude" : 11440.0 - }, { - "@type" : "air", - "@id" : "AirLocation#604", - "id" : 604, - "latitude" : 5296.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#605", - "id" : 605, - "latitude" : 6320.0, - "longitude" : 4400.0 - }, { - "@type" : "air", - "@id" : "AirLocation#606", - "id" : 606, - "latitude" : 7344.0, - "longitude" : 4202.0 - }, { - "@type" : "air", - "@id" : "AirLocation#607", - "id" : 607, - "latitude" : 2320.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#608", - "id" : 608, - "latitude" : 3360.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#609", - "id" : 609, - "latitude" : 4400.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#610", - "id" : 610, - "latitude" : 6640.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#611", - "id" : 611, - "latitude" : 7696.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#612", - "id" : 612, - "latitude" : 8752.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#613", - "id" : 613, - "latitude" : 10512.0, - "longitude" : 11330.0 - }, { - "@type" : "air", - "@id" : "AirLocation#614", - "id" : 614, - "latitude" : 11648.0, - "longitude" : 10692.0 - }, { - "@type" : "air", - "@id" : "AirLocation#615", - "id" : 615, - "latitude" : 12784.0, - "longitude" : 11330.0 - }, { - "@type" : "air", - "@id" : "AirLocation#616", - "id" : 616, - "latitude" : 6224.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#617", - "id" : 617, - "latitude" : 7360.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#618", - "id" : 618, - "latitude" : 8496.0, - "longitude" : 4312.0 - }, { - "@type" : "air", - "@id" : "AirLocation#619", - "id" : 619, - "latitude" : 10768.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#620", - "id" : 620, - "latitude" : 11952.0, - "longitude" : 6688.0 - }, { - "@type" : "air", - "@id" : "AirLocation#621", - "id" : 621, - "latitude" : 13136.0, - "longitude" : 9328.0 - }, { - "@type" : "air", - "@id" : "AirLocation#622", - "id" : 622, - "latitude" : 15344.0, - "longitude" : 5896.0 - }, { - "@type" : "air", - "@id" : "AirLocation#623", - "id" : 623, - "latitude" : 16144.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#624", - "id" : 624, - "latitude" : 16944.0, - "longitude" : 9878.0 - }, { - "@type" : "air", - "@id" : "AirLocation#625", - "id" : 625, - "latitude" : 5360.0, - "longitude" : 6380.0 - }, { - "@type" : "air", - "@id" : "AirLocation#626", - "id" : 626, - "latitude" : 6560.0, - "longitude" : 8756.0 - }, { - "@type" : "air", - "@id" : "AirLocation#627", - "id" : 627, - "latitude" : 7760.0, - "longitude" : 6380.0 - }, { - "@type" : "air", - "@id" : "AirLocation#628", - "id" : 628, - "latitude" : 1520.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#629", - "id" : 629, - "latitude" : 2272.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#630", - "id" : 630, - "latitude" : 3024.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#631", - "id" : 631, - "latitude" : 1328.0, - "longitude" : 6270.0 - }, { - "@type" : "air", - "@id" : "AirLocation#632", - "id" : 632, - "latitude" : 2112.0, - "longitude" : 8536.0 - }, { - "@type" : "air", - "@id" : "AirLocation#633", - "id" : 633, - "latitude" : 2896.0, - "longitude" : 10252.0 - }, { - "@type" : "air", - "@id" : "AirLocation#634", - "id" : 634, - "latitude" : 2896.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#635", - "id" : 635, - "latitude" : 4144.0, - "longitude" : 4180.0 - }, { - "@type" : "air", - "@id" : "AirLocation#636", - "id" : 636, - "latitude" : 5392.0, - "longitude" : 4092.0 - }, { - "@type" : "air", - "@id" : "AirLocation#637", - "id" : 637, - "latitude" : 10800.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#638", - "id" : 638, - "latitude" : 12144.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#639", - "id" : 639, - "latitude" : 13488.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#640", - "id" : 640, - "latitude" : 11056.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#641", - "id" : 641, - "latitude" : 12448.0, - "longitude" : 7348.0 - }, { - "@type" : "air", - "@id" : "AirLocation#642", - "id" : 642, - "latitude" : 13840.0, - "longitude" : 9658.0 - }, { - "@type" : "air", - "@id" : "AirLocation#643", - "id" : 643, - "latitude" : 18576.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#644", - "id" : 644, - "latitude" : 18576.0, - "longitude" : 4620.0 - }, { - "@type" : "air", - "@id" : "AirLocation#645", - "id" : 645, - "latitude" : 18640.5, - "longitude" : 4796.0 - }, { - "@type" : "air", - "@id" : "AirLocation#646", - "id" : 646, - "latitude" : 18704.0, - "longitude" : 8382.0 - }, { - "@type" : "air", - "@id" : "AirLocation#647", - "id" : 647, - "latitude" : 18224.0, - "longitude" : 7788.0 - }, { - "@type" : "air", - "@id" : "AirLocation#648", - "id" : 648, - "latitude" : 18256.0, - "longitude" : 11572.0 - }, { - "@type" : "air", - "@id" : "AirLocation#649", - "id" : 649, - "latitude" : 18288.0, - "longitude" : 11770.0 - }, { - "@type" : "air", - "@id" : "AirLocation#650", - "id" : 650, - "latitude" : 3088.0, - "longitude" : 6160.0 - }, { - "@type" : "air", - "@id" : "AirLocation#651", - "id" : 651, - "latitude" : 4064.0, - "longitude" : 8316.0 - }, { - "@type" : "air", - "@id" : "AirLocation#652", - "id" : 652, - "latitude" : 5040.0, - "longitude" : 10142.0 - }, { - "@type" : "air", - "@id" : "AirLocation#653", - "id" : 653, - "latitude" : 4496.0, - "longitude" : 10032.0 - }, { - "@type" : "air", - "@id" : "AirLocation#654", - "id" : 654, - "latitude" : 4512.0, - "longitude" : 8096.0 - }, { - "@type" : "air", - "@id" : "AirLocation#655", - "id" : 655, - "latitude" : 4528.0, - "longitude" : 6050.0 - }, { - "@type" : "air", - "@id" : "AirLocation#656", - "id" : 656, - "latitude" : 11088.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#657", - "id" : 657, - "latitude" : 12640.0, - "longitude" : 9944.0 - }, { - "@type" : "air", - "@id" : "AirLocation#658", - "id" : 658, - "latitude" : 14192.0, - "longitude" : 10956.0 - }, { - "@type" : "air", - "@id" : "AirLocation#659", - "id" : 659, - "latitude" : 4080.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#660", - "id" : 660, - "latitude" : 5296.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#661", - "id" : 661, - "latitude" : 9392.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#662", - "id" : 662, - "latitude" : 9680.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#663", - "id" : 663, - "latitude" : 9936.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#664", - "id" : 664, - "latitude" : 10544.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#665", - "id" : 665, - "latitude" : 15504.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#666", - "id" : 666, - "latitude" : 15600.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#667", - "id" : 667, - "latitude" : 18864.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#668", - "id" : 668, - "latitude" : 18928.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#669", - "id" : 669, - "latitude" : 12496.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#670", - "id" : 670, - "latitude" : 12560.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#671", - "id" : 671, - "latitude" : 8880.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#672", - "id" : 672, - "latitude" : 11088.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#673", - "id" : 673, - "latitude" : 11952.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#674", - "id" : 674, - "latitude" : 11984.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#675", - "id" : 675, - "latitude" : 12368.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#676", - "id" : 676, - "latitude" : 12496.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#677", - "id" : 677, - "latitude" : 13264.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#678", - "id" : 678, - "latitude" : 13360.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#679", - "id" : 679, - "latitude" : 560.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#680", - "id" : 680, - "latitude" : 560.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#681", - "id" : 681, - "latitude" : 720.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#682", - "id" : 682, - "latitude" : 5936.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#683", - "id" : 683, - "latitude" : 5936.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#684", - "id" : 684, - "latitude" : 13776.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#685", - "id" : 685, - "latitude" : 13904.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#686", - "id" : 686, - "latitude" : 14480.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#687", - "id" : 687, - "latitude" : 14768.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#688", - "id" : 688, - "latitude" : 7856.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#689", - "id" : 689, - "latitude" : 7952.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#690", - "id" : 690, - "latitude" : 1200.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#691", - "id" : 691, - "latitude" : 2224.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#692", - "id" : 692, - "latitude" : 1488.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#693", - "id" : 693, - "latitude" : 3056.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#694", - "id" : 694, - "latitude" : 624.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#695", - "id" : 695, - "latitude" : 816.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#696", - "id" : 696, - "latitude" : 262.0, - "longitude" : 11352.0 - }, { - "@type" : "air", - "@id" : "AirLocation#697", - "id" : 697, - "latitude" : 432.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#698", - "id" : 698, - "latitude" : 2192.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#699", - "id" : 699, - "latitude" : 2768.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#700", - "id" : 700, - "latitude" : 3344.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#701", - "id" : 701, - "latitude" : 3920.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#702", - "id" : 702, - "latitude" : 5360.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#703", - "id" : 703, - "latitude" : 5488.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#704", - "id" : 704, - "latitude" : 5584.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#705", - "id" : 705, - "latitude" : 1712.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#706", - "id" : 706, - "latitude" : 2288.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#707", - "id" : 707, - "latitude" : 2864.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#708", - "id" : 708, - "latitude" : 3408.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#709", - "id" : 709, - "latitude" : 3440.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#710", - "id" : 710, - "latitude" : 7984.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#711", - "id" : 711, - "latitude" : 7984.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#712", - "id" : 712, - "latitude" : 14160.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#713", - "id" : 713, - "latitude" : 14192.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#714", - "id" : 714, - "latitude" : 14384.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#715", - "id" : 715, - "latitude" : 14480.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#716", - "id" : 716, - "latitude" : 13072.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#717", - "id" : 717, - "latitude" : 13072.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#718", - "id" : 718, - "latitude" : 1424.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#719", - "id" : 719, - "latitude" : 2768.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#720", - "id" : 720, - "latitude" : 3120.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#721", - "id" : 721, - "latitude" : 7696.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#722", - "id" : 722, - "latitude" : 7824.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#723", - "id" : 723, - "latitude" : 1456.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#724", - "id" : 724, - "latitude" : 3088.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#725", - "id" : 725, - "latitude" : 12752.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#726", - "id" : 726, - "latitude" : 12784.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#727", - "id" : 727, - "latitude" : 2864.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#728", - "id" : 728, - "latitude" : 4240.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#729", - "id" : 729, - "latitude" : 8016.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#730", - "id" : 730, - "latitude" : 8080.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#731", - "id" : 731, - "latitude" : 8304.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#732", - "id" : 732, - "latitude" : 8368.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#733", - "id" : 733, - "latitude" : 8592.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#734", - "id" : 734, - "latitude" : 8656.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#735", - "id" : 735, - "latitude" : 8880.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#736", - "id" : 736, - "latitude" : 8944.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#737", - "id" : 737, - "latitude" : 592.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#738", - "id" : 738, - "latitude" : 880.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#739", - "id" : 739, - "latitude" : 11664.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#740", - "id" : 740, - "latitude" : 12048.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#741", - "id" : 741, - "latitude" : 12976.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#742", - "id" : 742, - "latitude" : 13392.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#743", - "id" : 743, - "latitude" : 14288.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#744", - "id" : 744, - "latitude" : 14320.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#745", - "id" : 745, - "latitude" : 18384.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#746", - "id" : 746, - "latitude" : 18874.0, - "longitude" : 11550.0 - }, { - "@type" : "air", - "@id" : "AirLocation#747", - "id" : 747, - "latitude" : 16208.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#748", - "id" : 748, - "latitude" : 16560.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#749", - "id" : 749, - "latitude" : 11376.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#750", - "id" : 750, - "latitude" : 13392.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#751", - "id" : 751, - "latitude" : 9968.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#752", - "id" : 752, - "latitude" : 10096.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#753", - "id" : 753, - "latitude" : 10256.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#754", - "id" : 754, - "latitude" : 11376.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#755", - "id" : 755, - "latitude" : 15824.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#756", - "id" : 756, - "latitude" : 16016.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#757", - "id" : 757, - "latitude" : 1008.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#758", - "id" : 758, - "latitude" : 1104.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#759", - "id" : 759, - "latitude" : 1232.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#760", - "id" : 760, - "latitude" : 15280.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#761", - "id" : 761, - "latitude" : 15920.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#762", - "id" : 762, - "latitude" : 17360.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#763", - "id" : 763, - "latitude" : 17776.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#764", - "id" : 764, - "latitude" : 18192.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#765", - "id" : 765, - "latitude" : 18608.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#766", - "id" : 766, - "latitude" : 6480.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#767", - "id" : 767, - "latitude" : 6576.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#768", - "id" : 768, - "latitude" : 6160.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#769", - "id" : 769, - "latitude" : 6384.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#770", - "id" : 770, - "latitude" : 5520.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#771", - "id" : 771, - "latitude" : 5584.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#772", - "id" : 772, - "latitude" : 1968.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#773", - "id" : 773, - "latitude" : 2000.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#774", - "id" : 774, - "latitude" : 6192.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#775", - "id" : 775, - "latitude" : 16496.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#776", - "id" : 776, - "latitude" : 8944.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#777", - "id" : 777, - "latitude" : 8976.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#778", - "id" : 778, - "latitude" : 4432.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#779", - "id" : 779, - "latitude" : 15216.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#780", - "id" : 780, - "latitude" : 4496.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#781", - "id" : 781, - "latitude" : 15632.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#782", - "id" : 782, - "latitude" : 7216.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#783", - "id" : 783, - "latitude" : 7504.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#784", - "id" : 784, - "latitude" : 4720.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#785", - "id" : 785, - "latitude" : 16048.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#786", - "id" : 786, - "latitude" : 4784.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#787", - "id" : 787, - "latitude" : 16464.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#788", - "id" : 788, - "latitude" : 1296.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#789", - "id" : 789, - "latitude" : 1392.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#790", - "id" : 790, - "latitude" : 15696.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#791", - "id" : 791, - "latitude" : 15728.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#792", - "id" : 792, - "latitude" : 16976.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#793", - "id" : 793, - "latitude" : 11792.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#794", - "id" : 794, - "latitude" : 11824.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#795", - "id" : 795, - "latitude" : 11216.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#796", - "id" : 796, - "latitude" : 11216.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#797", - "id" : 797, - "latitude" : 336.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#798", - "id" : 798, - "latitude" : 368.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#799", - "id" : 799, - "latitude" : 14608.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#800", - "id" : 800, - "latitude" : 14640.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#801", - "id" : 801, - "latitude" : 13968.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#802", - "id" : 802, - "latitude" : 14032.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#803", - "id" : 803, - "latitude" : 10416.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#804", - "id" : 804, - "latitude" : 10448.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#805", - "id" : 805, - "latitude" : 9808.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#806", - "id" : 806, - "latitude" : 9872.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#807", - "id" : 807, - "latitude" : 15248.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#808", - "id" : 808, - "latitude" : 15312.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#809", - "id" : 809, - "latitude" : 13200.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#810", - "id" : 810, - "latitude" : 13232.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#811", - "id" : 811, - "latitude" : 12560.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#812", - "id" : 812, - "latitude" : 12624.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#813", - "id" : 813, - "latitude" : 3920.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#814", - "id" : 814, - "latitude" : 3984.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#815", - "id" : 815, - "latitude" : 4016.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#816", - "id" : 816, - "latitude" : 4048.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#817", - "id" : 817, - "latitude" : 4048.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#818", - "id" : 818, - "latitude" : 4368.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#819", - "id" : 819, - "latitude" : 3824.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#820", - "id" : 820, - "latitude" : 3952.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#821", - "id" : 821, - "latitude" : 4112.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#822", - "id" : 822, - "latitude" : 4720.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#823", - "id" : 823, - "latitude" : 4144.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#824", - "id" : 824, - "latitude" : 4784.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#825", - "id" : 825, - "latitude" : 4176.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#826", - "id" : 826, - "latitude" : 4944.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#827", - "id" : 827, - "latitude" : 4208.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#828", - "id" : 828, - "latitude" : 5008.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#829", - "id" : 829, - "latitude" : 528.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#830", - "id" : 830, - "latitude" : 2640.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#831", - "id" : 831, - "latitude" : 12112.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#832", - "id" : 832, - "latitude" : 17392.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#833", - "id" : 833, - "latitude" : 17520.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#834", - "id" : 834, - "latitude" : 10800.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#835", - "id" : 835, - "latitude" : 10928.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#836", - "id" : 836, - "latitude" : 10704.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#837", - "id" : 837, - "latitude" : 10736.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#838", - "id" : 838, - "latitude" : 16688.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#839", - "id" : 839, - "latitude" : 17168.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#840", - "id" : 840, - "latitude" : 13520.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#841", - "id" : 841, - "latitude" : 18032.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#842", - "id" : 842, - "latitude" : 18096.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#843", - "id" : 843, - "latitude" : 10928.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#844", - "id" : 844, - "latitude" : 16432.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#845", - "id" : 845, - "latitude" : 17040.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#846", - "id" : 846, - "latitude" : 9424.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#847", - "id" : 847, - "latitude" : 9520.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#848", - "id" : 848, - "latitude" : 10256.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#849", - "id" : 849, - "latitude" : 10672.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#850", - "id" : 850, - "latitude" : 13744.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#851", - "id" : 851, - "latitude" : 18448.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#852", - "id" : 852, - "latitude" : 18576.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#853", - "id" : 853, - "latitude" : 656.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#854", - "id" : 854, - "latitude" : 976.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#855", - "id" : 855, - "latitude" : 1008.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#856", - "id" : 856, - "latitude" : 1136.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#857", - "id" : 857, - "latitude" : 12176.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#858", - "id" : 858, - "latitude" : 12240.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#859", - "id" : 859, - "latitude" : 18800.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#860", - "id" : 860, - "latitude" : 18800.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#861", - "id" : 861, - "latitude" : 14800.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#862", - "id" : 862, - "latitude" : 14928.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#863", - "id" : 863, - "latitude" : 9520.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#864", - "id" : 864, - "latitude" : 9712.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#865", - "id" : 865, - "latitude" : 16336.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#866", - "id" : 866, - "latitude" : 16368.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#867", - "id" : 867, - "latitude" : 10832.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#868", - "id" : 868, - "latitude" : 11536.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#869", - "id" : 869, - "latitude" : 12208.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#870", - "id" : 870, - "latitude" : 12272.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#871", - "id" : 871, - "latitude" : 12336.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#872", - "id" : 872, - "latitude" : 17744.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#873", - "id" : 873, - "latitude" : 18096.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#874", - "id" : 874, - "latitude" : 12688.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#875", - "id" : 875, - "latitude" : 13648.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#876", - "id" : 876, - "latitude" : 12880.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#877", - "id" : 877, - "latitude" : 13616.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#878", - "id" : 878, - "latitude" : 14672.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#879", - "id" : 879, - "latitude" : 15024.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#880", - "id" : 880, - "latitude" : 5808.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#881", - "id" : 881, - "latitude" : 5808.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#882", - "id" : 882, - "latitude" : 5872.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#883", - "id" : 883, - "latitude" : 3472.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#884", - "id" : 884, - "latitude" : 3856.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#885", - "id" : 885, - "latitude" : 336.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#886", - "id" : 886, - "latitude" : 912.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#887", - "id" : 887, - "latitude" : 11344.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#888", - "id" : 888, - "latitude" : 14544.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#889", - "id" : 889, - "latitude" : 17872.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#890", - "id" : 890, - "latitude" : 17936.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#891", - "id" : 891, - "latitude" : 368.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#892", - "id" : 892, - "latitude" : 464.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#893", - "id" : 893, - "latitude" : 17520.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#894", - "id" : 894, - "latitude" : 17616.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#895", - "id" : 895, - "latitude" : 4688.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#896", - "id" : 896, - "latitude" : 7120.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#897", - "id" : 897, - "latitude" : 1744.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#898", - "id" : 898, - "latitude" : 5104.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#899", - "id" : 899, - "latitude" : 3792.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#900", - "id" : 900, - "latitude" : 7312.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#901", - "id" : 901, - "latitude" : 17168.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#902", - "id" : 902, - "latitude" : 17232.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#903", - "id" : 903, - "latitude" : 3504.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#904", - "id" : 904, - "latitude" : 6160.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#905", - "id" : 905, - "latitude" : 1936.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#906", - "id" : 906, - "latitude" : 4592.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#907", - "id" : 907, - "latitude" : 6064.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#908", - "id" : 908, - "latitude" : 9648.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#909", - "id" : 909, - "latitude" : 16816.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#910", - "id" : 910, - "latitude" : 16880.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#911", - "id" : 911, - "latitude" : 15792.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#912", - "id" : 912, - "latitude" : 16720.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#913", - "id" : 913, - "latitude" : 2352.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#914", - "id" : 914, - "latitude" : 5264.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#915", - "id" : 915, - "latitude" : 16464.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#916", - "id" : 916, - "latitude" : 17008.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#917", - "id" : 917, - "latitude" : 16112.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#918", - "id" : 918, - "latitude" : 16272.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#919", - "id" : 919, - "latitude" : 9168.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#920", - "id" : 920, - "latitude" : 9168.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#921", - "id" : 921, - "latitude" : 13360.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#922", - "id" : 922, - "latitude" : 16112.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#923", - "id" : 923, - "latitude" : 2928.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#924", - "id" : 924, - "latitude" : 6960.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#925", - "id" : 925, - "latitude" : 1776.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#926", - "id" : 926, - "latitude" : 6512.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#927", - "id" : 927, - "latitude" : 4144.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#928", - "id" : 928, - "latitude" : 9808.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#929", - "id" : 929, - "latitude" : 4816.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#930", - "id" : 930, - "latitude" : 9616.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#931", - "id" : 931, - "latitude" : 3824.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#932", - "id" : 932, - "latitude" : 8656.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#933", - "id" : 933, - "latitude" : 9264.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#934", - "id" : 934, - "latitude" : 15216.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#935", - "id" : 935, - "latitude" : 9104.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#936", - "id" : 936, - "latitude" : 9200.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#937", - "id" : 937, - "latitude" : 15120.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#938", - "id" : 938, - "latitude" : 9072.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#939", - "id" : 939, - "latitude" : 9328.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#940", - "id" : 940, - "latitude" : 2672.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#941", - "id" : 941, - "latitude" : 7760.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#942", - "id" : 942, - "latitude" : 6000.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#943", - "id" : 943, - "latitude" : 11632.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#944", - "id" : 944, - "latitude" : 6032.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#945", - "id" : 945, - "latitude" : 11856.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#946", - "id" : 946, - "latitude" : 4880.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#947", - "id" : 947, - "latitude" : 10704.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#948", - "id" : 948, - "latitude" : 5456.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#949", - "id" : 949, - "latitude" : 11280.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#950", - "id" : 950, - "latitude" : 5168.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#951", - "id" : 951, - "latitude" : 10992.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#952", - "id" : 952, - "latitude" : 4592.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#953", - "id" : 953, - "latitude" : 10416.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#954", - "id" : 954, - "latitude" : 4912.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#955", - "id" : 955, - "latitude" : 10864.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#956", - "id" : 956, - "latitude" : 4336.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#957", - "id" : 957, - "latitude" : 10288.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#958", - "id" : 958, - "latitude" : 4624.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#959", - "id" : 959, - "latitude" : 10576.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#960", - "id" : 960, - "latitude" : 5200.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#961", - "id" : 961, - "latitude" : 11152.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#962", - "id" : 962, - "latitude" : 3248.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#963", - "id" : 963, - "latitude" : 9456.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#964", - "id" : 964, - "latitude" : 7920.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#965", - "id" : 965, - "latitude" : 14928.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#966", - "id" : 966, - "latitude" : 2096.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#967", - "id" : 967, - "latitude" : 9008.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#968", - "id" : 968, - "latitude" : 8176.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#969", - "id" : 969, - "latitude" : 15344.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#970", - "id" : 970, - "latitude" : 9232.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#971", - "id" : 971, - "latitude" : 9328.0, - "longitude" : 4224.0 - }, { - "@type" : "air", - "@id" : "AirLocation#972", - "id" : 972, - "latitude" : 16656.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#973", - "id" : 973, - "latitude" : 9136.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#974", - "id" : 974, - "latitude" : 16560.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#975", - "id" : 975, - "latitude" : 16624.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#976", - "id" : 976, - "latitude" : 8208.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#977", - "id" : 977, - "latitude" : 15760.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#978", - "id" : 978, - "latitude" : 8464.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#979", - "id" : 979, - "latitude" : 16176.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#980", - "id" : 980, - "latitude" : 3632.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#981", - "id" : 981, - "latitude" : 3696.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#982", - "id" : 982, - "latitude" : 4272.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#983", - "id" : 983, - "latitude" : 4368.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#984", - "id" : 984, - "latitude" : 2480.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#985", - "id" : 985, - "latitude" : 2544.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#986", - "id" : 986, - "latitude" : 5136.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#987", - "id" : 987, - "latitude" : 5264.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#988", - "id" : 988, - "latitude" : 6608.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#989", - "id" : 989, - "latitude" : 6672.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#990", - "id" : 990, - "latitude" : 3120.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#991", - "id" : 991, - "latitude" : 3248.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#992", - "id" : 992, - "latitude" : 7376.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#993", - "id" : 993, - "latitude" : 7408.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#994", - "id" : 994, - "latitude" : 6128.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#995", - "id" : 995, - "latitude" : 6256.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#996", - "id" : 996, - "latitude" : 6992.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#997", - "id" : 997, - "latitude" : 7056.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#998", - "id" : 998, - "latitude" : 15888.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#999", - "id" : 999, - "latitude" : 15952.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1000", - "id" : 1000, - "latitude" : 5904.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1001", - "id" : 1001, - "latitude" : 5968.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1002", - "id" : 1002, - "latitude" : 688.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1003", - "id" : 1003, - "latitude" : 848.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1004", - "id" : 1004, - "latitude" : 240.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1005", - "id" : 1005, - "latitude" : 464.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1006", - "id" : 1006, - "latitude" : 496.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1007", - "id" : 1007, - "latitude" : 752.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1008", - "id" : 1008, - "latitude" : 1296.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1009", - "id" : 1009, - "latitude" : 1616.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1010", - "id" : 1010, - "latitude" : 784.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1011", - "id" : 1011, - "latitude" : 944.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1012", - "id" : 1012, - "latitude" : 1168.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1013", - "id" : 1013, - "latitude" : 16912.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1014", - "id" : 1014, - "latitude" : 17328.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1015", - "id" : 1015, - "latitude" : 7472.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1016", - "id" : 1016, - "latitude" : 8208.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1017", - "id" : 1017, - "latitude" : 1104.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1018", - "id" : 1018, - "latitude" : 1264.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1019", - "id" : 1019, - "latitude" : 1072.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1020", - "id" : 1020, - "latitude" : 1232.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1021", - "id" : 1021, - "latitude" : 848.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1022", - "id" : 1022, - "latitude" : 1040.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1023", - "id" : 1023, - "latitude" : 272.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1024", - "id" : 1024, - "latitude" : 496.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1025", - "id" : 1025, - "latitude" : 304.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1026", - "id" : 1026, - "latitude" : 624.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1027", - "id" : 1027, - "latitude" : 8560.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1028", - "id" : 1028, - "latitude" : 9968.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1029", - "id" : 1029, - "latitude" : 5712.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1030", - "id" : 1030, - "latitude" : 7152.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1031", - "id" : 1031, - "latitude" : 3664.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1032", - "id" : 1032, - "latitude" : 4240.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1033", - "id" : 1033, - "latitude" : 3472.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1034", - "id" : 1034, - "latitude" : 4976.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1035", - "id" : 1035, - "latitude" : 5008.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1036", - "id" : 1036, - "latitude" : 6512.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1037", - "id" : 1037, - "latitude" : 7472.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1038", - "id" : 1038, - "latitude" : 9040.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1039", - "id" : 1039, - "latitude" : 7056.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1040", - "id" : 1040, - "latitude" : 8784.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1041", - "id" : 1041, - "latitude" : 2512.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1042", - "id" : 1042, - "latitude" : 3344.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1043", - "id" : 1043, - "latitude" : 10224.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1044", - "id" : 1044, - "latitude" : 12080.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1045", - "id" : 1045, - "latitude" : 5072.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1046", - "id" : 1046, - "latitude" : 6928.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1047", - "id" : 1047, - "latitude" : 10480.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1048", - "id" : 1048, - "latitude" : 12432.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1049", - "id" : 1049, - "latitude" : 5296.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1050", - "id" : 1050, - "latitude" : 7344.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1051", - "id" : 1051, - "latitude" : 2320.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1052", - "id" : 1052, - "latitude" : 4400.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1053", - "id" : 1053, - "latitude" : 6640.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1054", - "id" : 1054, - "latitude" : 8752.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1055", - "id" : 1055, - "latitude" : 10512.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1056", - "id" : 1056, - "latitude" : 12784.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1057", - "id" : 1057, - "latitude" : 6224.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1058", - "id" : 1058, - "latitude" : 8496.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1059", - "id" : 1059, - "latitude" : 10768.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1060", - "id" : 1060, - "latitude" : 13136.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1061", - "id" : 1061, - "latitude" : 15344.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1062", - "id" : 1062, - "latitude" : 16944.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1063", - "id" : 1063, - "latitude" : 5360.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1064", - "id" : 1064, - "latitude" : 7760.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1065", - "id" : 1065, - "latitude" : 1520.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1066", - "id" : 1066, - "latitude" : 3024.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1067", - "id" : 1067, - "latitude" : 1328.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1068", - "id" : 1068, - "latitude" : 2896.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1069", - "id" : 1069, - "latitude" : 2896.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1070", - "id" : 1070, - "latitude" : 5392.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1071", - "id" : 1071, - "latitude" : 10800.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1072", - "id" : 1072, - "latitude" : 13488.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1073", - "id" : 1073, - "latitude" : 11056.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1074", - "id" : 1074, - "latitude" : 13840.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1075", - "id" : 1075, - "latitude" : 18576.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1076", - "id" : 1076, - "latitude" : 18704.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1077", - "id" : 1077, - "latitude" : 18224.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1078", - "id" : 1078, - "latitude" : 18288.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1079", - "id" : 1079, - "latitude" : 3088.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1080", - "id" : 1080, - "latitude" : 5040.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1081", - "id" : 1081, - "latitude" : 4496.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1082", - "id" : 1082, - "latitude" : 4528.0, - "longitude" : 3960.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1083", - "id" : 1083, - "latitude" : 11088.0, - "longitude" : 12012.0 - }, { - "@type" : "air", - "@id" : "AirLocation#1084", - "id" : 1084, - "latitude" : 14192.0, - "longitude" : 12012.0 - } ], - "domicile" : { - "@type" : "domicile", - "@id" : "Domicile#1", - "id" : 1, - "location" : "AirLocation#1" - }, - "visitList" : [ { - "@type" : "visit", - "@id" : "Visit#2", - "id" : 2, - "location" : "AirLocation#2", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#198", - "id" : 198, - "location" : "AirLocation#198", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#457", - "id" : 457, - "location" : "AirLocation#457", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#598", - "id" : 598, - "location" : "AirLocation#598", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#466", - "id" : 466, - "location" : "AirLocation#466", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#625", - "id" : 625, - "location" : "AirLocation#625", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#470", - "id" : 470, - "location" : "AirLocation#470", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#180", - "id" : 180, - "location" : "AirLocation#180", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#510", - "id" : 510, - "location" : "AirLocation#510", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#439", - "id" : 439, - "location" : "AirLocation#439", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#67", - "id" : 67, - "location" : "AirLocation#67", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#445", - "id" : 445, - "location" : "AirLocation#445", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#508", - "id" : 508, - "location" : "AirLocation#508", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#175", - "id" : 175, - "location" : "AirLocation#175", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#348", - "id" : 348, - "location" : "AirLocation#348", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#36", - "id" : 36, - "location" : "AirLocation#36", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#422", - "id" : 422, - "location" : "AirLocation#422", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#575", - "id" : 575, - "location" : "AirLocation#575", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#521", - "id" : 521, - "location" : "AirLocation#521", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#599", - "id" : 599, - "location" : "AirLocation#599", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#387", - "id" : 387, - "location" : "AirLocation#387", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#626", - "id" : 626, - "location" : "AirLocation#626", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#168", - "id" : 168, - "location" : "AirLocation#168", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#173", - "id" : 173, - "location" : "AirLocation#173", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#3", - "id" : 3, - "location" : "AirLocation#3", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#574", - "id" : 574, - "location" : "AirLocation#574", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#174", - "id" : 174, - "location" : "AirLocation#174", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#398", - "id" : 398, - "location" : "AirLocation#398", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#410", - "id" : 410, - "location" : "AirLocation#410", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#652", - "id" : 652, - "location" : "AirLocation#652", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#507", - "id" : 507, - "location" : "AirLocation#507", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#382", - "id" : 382, - "location" : "AirLocation#382", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#253", - "id" : 253, - "location" : "AirLocation#253", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#653", - "id" : 653, - "location" : "AirLocation#653", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#247", - "id" : 247, - "location" : "AirLocation#247", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#501", - "id" : 501, - "location" : "AirLocation#501", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#413", - "id" : 413, - "location" : "AirLocation#413", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#248", - "id" : 248, - "location" : "AirLocation#248", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#244", - "id" : 244, - "location" : "AirLocation#244", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#579", - "id" : 579, - "location" : "AirLocation#579", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#256", - "id" : 256, - "location" : "AirLocation#256", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#437", - "id" : 437, - "location" : "AirLocation#437", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#65", - "id" : 65, - "location" : "AirLocation#65", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#386", - "id" : 386, - "location" : "AirLocation#386", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1032", - "id" : 1032, - "location" : "AirLocation#1032", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#982", - "id" : 982, - "location" : "AirLocation#982", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#818", - "id" : 818, - "location" : "AirLocation#818", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1081", - "id" : 1081, - "location" : "AirLocation#1081", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#906", - "id" : 906, - "location" : "AirLocation#906", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#822", - "id" : 822, - "location" : "AirLocation#822", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#824", - "id" : 824, - "location" : "AirLocation#824", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#826", - "id" : 826, - "location" : "AirLocation#826", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#828", - "id" : 828, - "location" : "AirLocation#828", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1080", - "id" : 1080, - "location" : "AirLocation#1080", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#986", - "id" : 986, - "location" : "AirLocation#986", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#914", - "id" : 914, - "location" : "AirLocation#914", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#660", - "id" : 660, - "location" : "AirLocation#660", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#702", - "id" : 702, - "location" : "AirLocation#702", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#66", - "id" : 66, - "location" : "AirLocation#66", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#476", - "id" : 476, - "location" : "AirLocation#476", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#770", - "id" : 770, - "location" : "AirLocation#770", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#704", - "id" : 704, - "location" : "AirLocation#704", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1029", - "id" : 1029, - "location" : "AirLocation#1029", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#881", - "id" : 881, - "location" : "AirLocation#881", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#683", - "id" : 683, - "location" : "AirLocation#683", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#907", - "id" : 907, - "location" : "AirLocation#907", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#904", - "id" : 904, - "location" : "AirLocation#904", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#995", - "id" : 995, - "location" : "AirLocation#995", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#769", - "id" : 769, - "location" : "AirLocation#769", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#766", - "id" : 766, - "location" : "AirLocation#766", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#926", - "id" : 926, - "location" : "AirLocation#926", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#989", - "id" : 989, - "location" : "AirLocation#989", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#69", - "id" : 69, - "location" : "AirLocation#69", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#68", - "id" : 68, - "location" : "AirLocation#68", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#383", - "id" : 383, - "location" : "AirLocation#383", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#414", - "id" : 414, - "location" : "AirLocation#414", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#512", - "id" : 512, - "location" : "AirLocation#512", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#416", - "id" : 416, - "location" : "AirLocation#416", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#411", - "id" : 411, - "location" : "AirLocation#411", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#924", - "id" : 924, - "location" : "AirLocation#924", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#997", - "id" : 997, - "location" : "AirLocation#997", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#896", - "id" : 896, - "location" : "AirLocation#896", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1030", - "id" : 1030, - "location" : "AirLocation#1030", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#782", - "id" : 782, - "location" : "AirLocation#782", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#900", - "id" : 900, - "location" : "AirLocation#900", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#992", - "id" : 992, - "location" : "AirLocation#992", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1015", - "id" : 1015, - "location" : "AirLocation#1015", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#721", - "id" : 721, - "location" : "AirLocation#721", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#941", - "id" : 941, - "location" : "AirLocation#941", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#688", - "id" : 688, - "location" : "AirLocation#688", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#711", - "id" : 711, - "location" : "AirLocation#711", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#730", - "id" : 730, - "location" : "AirLocation#730", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1016", - "id" : 1016, - "location" : "AirLocation#1016", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#446", - "id" : 446, - "location" : "AirLocation#446", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#438", - "id" : 438, - "location" : "AirLocation#438", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#552", - "id" : 552, - "location" : "AirLocation#552", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#455", - "id" : 455, - "location" : "AirLocation#455", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#516", - "id" : 516, - "location" : "AirLocation#516", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#192", - "id" : 192, - "location" : "AirLocation#192", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#576", - "id" : 576, - "location" : "AirLocation#576", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#524", - "id" : 524, - "location" : "AirLocation#524", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#511", - "id" : 511, - "location" : "AirLocation#511", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#461", - "id" : 461, - "location" : "AirLocation#461", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#94", - "id" : 94, - "location" : "AirLocation#94", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#43", - "id" : 43, - "location" : "AirLocation#43", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#553", - "id" : 553, - "location" : "AirLocation#553", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#458", - "id" : 458, - "location" : "AirLocation#458", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#423", - "id" : 423, - "location" : "AirLocation#423", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#183", - "id" : 183, - "location" : "AirLocation#183", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#434", - "id" : 434, - "location" : "AirLocation#434", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#554", - "id" : 554, - "location" : "AirLocation#554", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#571", - "id" : 571, - "location" : "AirLocation#571", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#440", - "id" : 440, - "location" : "AirLocation#440", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#572", - "id" : 572, - "location" : "AirLocation#572", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#435", - "id" : 435, - "location" : "AirLocation#435", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#4", - "id" : 4, - "location" : "AirLocation#4", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#477", - "id" : 477, - "location" : "AirLocation#477", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1027", - "id" : 1027, - "location" : "AirLocation#1027", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#932", - "id" : 932, - "location" : "AirLocation#932", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#671", - "id" : 671, - "location" : "AirLocation#671", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#776", - "id" : 776, - "location" : "AirLocation#776", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#967", - "id" : 967, - "location" : "AirLocation#967", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#920", - "id" : 920, - "location" : "AirLocation#920", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#939", - "id" : 939, - "location" : "AirLocation#939", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#661", - "id" : 661, - "location" : "AirLocation#661", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#963", - "id" : 963, - "location" : "AirLocation#963", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#847", - "id" : 847, - "location" : "AirLocation#847", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#930", - "id" : 930, - "location" : "AirLocation#930", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#908", - "id" : 908, - "location" : "AirLocation#908", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#864", - "id" : 864, - "location" : "AirLocation#864", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#928", - "id" : 928, - "location" : "AirLocation#928", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#806", - "id" : 806, - "location" : "AirLocation#806", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#663", - "id" : 663, - "location" : "AirLocation#663", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1028", - "id" : 1028, - "location" : "AirLocation#1028", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#752", - "id" : 752, - "location" : "AirLocation#752", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#417", - "id" : 417, - "location" : "AirLocation#417", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#573", - "id" : 573, - "location" : "AirLocation#573", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#595", - "id" : 595, - "location" : "AirLocation#595", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1043", - "id" : 1043, - "location" : "AirLocation#1043", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#848", - "id" : 848, - "location" : "AirLocation#848", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#957", - "id" : 957, - "location" : "AirLocation#957", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#953", - "id" : 953, - "location" : "AirLocation#953", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#804", - "id" : 804, - "location" : "AirLocation#804", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1047", - "id" : 1047, - "location" : "AirLocation#1047", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1055", - "id" : 1055, - "location" : "AirLocation#1055", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#959", - "id" : 959, - "location" : "AirLocation#959", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#447", - "id" : 447, - "location" : "AirLocation#447", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#637", - "id" : 637, - "location" : "AirLocation#637", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#947", - "id" : 947, - "location" : "AirLocation#947", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#837", - "id" : 837, - "location" : "AirLocation#837", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1059", - "id" : 1059, - "location" : "AirLocation#1059", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1071", - "id" : 1071, - "location" : "AirLocation#1071", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#955", - "id" : 955, - "location" : "AirLocation#955", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#835", - "id" : 835, - "location" : "AirLocation#835", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#951", - "id" : 951, - "location" : "AirLocation#951", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1073", - "id" : 1073, - "location" : "AirLocation#1073", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1083", - "id" : 1083, - "location" : "AirLocation#1083", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#596", - "id" : 596, - "location" : "AirLocation#596", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#601", - "id" : 601, - "location" : "AirLocation#601", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#613", - "id" : 613, - "location" : "AirLocation#613", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#456", - "id" : 456, - "location" : "AirLocation#456", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#297", - "id" : 297, - "location" : "AirLocation#297", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#462", - "id" : 462, - "location" : "AirLocation#462", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#226", - "id" : 226, - "location" : "AirLocation#226", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#275", - "id" : 275, - "location" : "AirLocation#275", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#656", - "id" : 656, - "location" : "AirLocation#656", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#459", - "id" : 459, - "location" : "AirLocation#459", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#187", - "id" : 187, - "location" : "AirLocation#187", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#5", - "id" : 5, - "location" : "AirLocation#5", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#420", - "id" : 420, - "location" : "AirLocation#420", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#229", - "id" : 229, - "location" : "AirLocation#229", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#145", - "id" : 145, - "location" : "AirLocation#145", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#225", - "id" : 225, - "location" : "AirLocation#225", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#298", - "id" : 298, - "location" : "AirLocation#298", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#274", - "id" : 274, - "location" : "AirLocation#274", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#640", - "id" : 640, - "location" : "AirLocation#640", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#453", - "id" : 453, - "location" : "AirLocation#453", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#619", - "id" : 619, - "location" : "AirLocation#619", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#278", - "id" : 278, - "location" : "AirLocation#278", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#465", - "id" : 465, - "location" : "AirLocation#465", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#199", - "id" : 199, - "location" : "AirLocation#199", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#7", - "id" : 7, - "location" : "AirLocation#7", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#323", - "id" : 323, - "location" : "AirLocation#323", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#389", - "id" : 389, - "location" : "AirLocation#389", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#296", - "id" : 296, - "location" : "AirLocation#296", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#471", - "id" : 471, - "location" : "AirLocation#471", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#20", - "id" : 20, - "location" : "AirLocation#20", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#467", - "id" : 467, - "location" : "AirLocation#467", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#108", - "id" : 108, - "location" : "AirLocation#108", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#44", - "id" : 44, - "location" : "AirLocation#44", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#95", - "id" : 95, - "location" : "AirLocation#95", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#377", - "id" : 377, - "location" : "AirLocation#377", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#371", - "id" : 371, - "location" : "AirLocation#371", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#523", - "id" : 523, - "location" : "AirLocation#523", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#517", - "id" : 517, - "location" : "AirLocation#517", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#193", - "id" : 193, - "location" : "AirLocation#193", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#419", - "id" : 419, - "location" : "AirLocation#419", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#464", - "id" : 464, - "location" : "AirLocation#464", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#472", - "id" : 472, - "location" : "AirLocation#472", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#452", - "id" : 452, - "location" : "AirLocation#452", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#80", - "id" : 80, - "location" : "AirLocation#80", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#184", - "id" : 184, - "location" : "AirLocation#184", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#405", - "id" : 405, - "location" : "AirLocation#405", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#487", - "id" : 487, - "location" : "AirLocation#487", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#433", - "id" : 433, - "location" : "AirLocation#433", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#6", - "id" : 6, - "location" : "AirLocation#6", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#228", - "id" : 228, - "location" : "AirLocation#228", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#190", - "id" : 190, - "location" : "AirLocation#190", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#144", - "id" : 144, - "location" : "AirLocation#144", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#8", - "id" : 8, - "location" : "AirLocation#8", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#277", - "id" : 277, - "location" : "AirLocation#277", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#196", - "id" : 196, - "location" : "AirLocation#196", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#224", - "id" : 224, - "location" : "AirLocation#224", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#299", - "id" : 299, - "location" : "AirLocation#299", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#273", - "id" : 273, - "location" : "AirLocation#273", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#147", - "id" : 147, - "location" : "AirLocation#147", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#288", - "id" : 288, - "location" : "AirLocation#288", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#328", - "id" : 328, - "location" : "AirLocation#328", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#620", - "id" : 620, - "location" : "AirLocation#620", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#127", - "id" : 127, - "location" : "AirLocation#127", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#425", - "id" : 425, - "location" : "AirLocation#425", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#496", - "id" : 496, - "location" : "AirLocation#496", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#479", - "id" : 479, - "location" : "AirLocation#479", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#214", - "id" : 214, - "location" : "AirLocation#214", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#329", - "id" : 329, - "location" : "AirLocation#329", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#444", - "id" : 444, - "location" : "AirLocation#444", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#493", - "id" : 493, - "location" : "AirLocation#493", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#25", - "id" : 25, - "location" : "AirLocation#25", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#211", - "id" : 211, - "location" : "AirLocation#211", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#450", - "id" : 450, - "location" : "AirLocation#450", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#181", - "id" : 181, - "location" : "AirLocation#181", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#148", - "id" : 148, - "location" : "AirLocation#148", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#468", - "id" : 468, - "location" : "AirLocation#468", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#357", - "id" : 357, - "location" : "AirLocation#357", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#473", - "id" : 473, - "location" : "AirLocation#473", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#128", - "id" : 128, - "location" : "AirLocation#128", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#314", - "id" : 314, - "location" : "AirLocation#314", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#26", - "id" : 26, - "location" : "AirLocation#26", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#332", - "id" : 332, - "location" : "AirLocation#332", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#17", - "id" : 17, - "location" : "AirLocation#17", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#237", - "id" : 237, - "location" : "AirLocation#237", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#657", - "id" : 657, - "location" : "AirLocation#657", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#236", - "id" : 236, - "location" : "AirLocation#236", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#614", - "id" : 614, - "location" : "AirLocation#614", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#602", - "id" : 602, - "location" : "AirLocation#602", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#441", - "id" : 441, - "location" : "AirLocation#441", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#961", - "id" : 961, - "location" : "AirLocation#961", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#796", - "id" : 796, - "location" : "AirLocation#796", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#949", - "id" : 949, - "location" : "AirLocation#949", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#887", - "id" : 887, - "location" : "AirLocation#887", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#754", - "id" : 754, - "location" : "AirLocation#754", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#868", - "id" : 868, - "location" : "AirLocation#868", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#943", - "id" : 943, - "location" : "AirLocation#943", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#793", - "id" : 793, - "location" : "AirLocation#793", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#945", - "id" : 945, - "location" : "AirLocation#945", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#674", - "id" : 674, - "location" : "AirLocation#674", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#740", - "id" : 740, - "location" : "AirLocation#740", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1044", - "id" : 1044, - "location" : "AirLocation#1044", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#857", - "id" : 857, - "location" : "AirLocation#857", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#597", - "id" : 597, - "location" : "AirLocation#597", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#638", - "id" : 638, - "location" : "AirLocation#638", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#603", - "id" : 603, - "location" : "AirLocation#603", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#870", - "id" : 870, - "location" : "AirLocation#870", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#675", - "id" : 675, - "location" : "AirLocation#675", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1048", - "id" : 1048, - "location" : "AirLocation#1048", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#669", - "id" : 669, - "location" : "AirLocation#669", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#811", - "id" : 811, - "location" : "AirLocation#811", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#874", - "id" : 874, - "location" : "AirLocation#874", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#725", - "id" : 725, - "location" : "AirLocation#725", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1056", - "id" : 1056, - "location" : "AirLocation#1056", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#488", - "id" : 488, - "location" : "AirLocation#488", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#876", - "id" : 876, - "location" : "AirLocation#876", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#741", - "id" : 741, - "location" : "AirLocation#741", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#717", - "id" : 717, - "location" : "AirLocation#717", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1060", - "id" : 1060, - "location" : "AirLocation#1060", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#809", - "id" : 809, - "location" : "AirLocation#809", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#677", - "id" : 677, - "location" : "AirLocation#677", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#921", - "id" : 921, - "location" : "AirLocation#921", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#750", - "id" : 750, - "location" : "AirLocation#750", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1072", - "id" : 1072, - "location" : "AirLocation#1072", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#684", - "id" : 684, - "location" : "AirLocation#684", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1074", - "id" : 1074, - "location" : "AirLocation#1074", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#639", - "id" : 639, - "location" : "AirLocation#639", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#406", - "id" : 406, - "location" : "AirLocation#406", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#615", - "id" : 615, - "location" : "AirLocation#615", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#341", - "id" : 341, - "location" : "AirLocation#341", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#100", - "id" : 100, - "location" : "AirLocation#100", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#338", - "id" : 338, - "location" : "AirLocation#338", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#621", - "id" : 621, - "location" : "AirLocation#621", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#233", - "id" : 233, - "location" : "AirLocation#233", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#29", - "id" : 29, - "location" : "AirLocation#29", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#289", - "id" : 289, - "location" : "AirLocation#289", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#37", - "id" : 37, - "location" : "AirLocation#37", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#642", - "id" : 642, - "location" : "AirLocation#642", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#221", - "id" : 221, - "location" : "AirLocation#221", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#81", - "id" : 81, - "location" : "AirLocation#81", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#132", - "id" : 132, - "location" : "AirLocation#132", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#84", - "id" : 84, - "location" : "AirLocation#84", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#318", - "id" : 318, - "location" : "AirLocation#318", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#41", - "id" : 41, - "location" : "AirLocation#41", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#344", - "id" : 344, - "location" : "AirLocation#344", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#218", - "id" : 218, - "location" : "AirLocation#218", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#359", - "id" : 359, - "location" : "AirLocation#359", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#658", - "id" : 658, - "location" : "AirLocation#658", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#40", - "id" : 40, - "location" : "AirLocation#40", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#801", - "id" : 801, - "location" : "AirLocation#801", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#712", - "id" : 712, - "location" : "AirLocation#712", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1084", - "id" : 1084, - "location" : "AirLocation#1084", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#743", - "id" : 743, - "location" : "AirLocation#743", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#714", - "id" : 714, - "location" : "AirLocation#714", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#686", - "id" : 686, - "location" : "AirLocation#686", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#888", - "id" : 888, - "location" : "AirLocation#888", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#799", - "id" : 799, - "location" : "AirLocation#799", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#878", - "id" : 878, - "location" : "AirLocation#878", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#861", - "id" : 861, - "location" : "AirLocation#861", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#965", - "id" : 965, - "location" : "AirLocation#965", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#407", - "id" : 407, - "location" : "AirLocation#407", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#474", - "id" : 474, - "location" : "AirLocation#474", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#188", - "id" : 188, - "location" : "AirLocation#188", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#779", - "id" : 779, - "location" : "AirLocation#779", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#808", - "id" : 808, - "location" : "AirLocation#808", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#969", - "id" : 969, - "location" : "AirLocation#969", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#666", - "id" : 666, - "location" : "AirLocation#666", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#781", - "id" : 781, - "location" : "AirLocation#781", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#791", - "id" : 791, - "location" : "AirLocation#791", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#977", - "id" : 977, - "location" : "AirLocation#977", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#208", - "id" : 208, - "location" : "AirLocation#208", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#494", - "id" : 494, - "location" : "AirLocation#494", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#480", - "id" : 480, - "location" : "AirLocation#480", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#232", - "id" : 232, - "location" : "AirLocation#232", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#12", - "id" : 12, - "location" : "AirLocation#12", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#207", - "id" : 207, - "location" : "AirLocation#207", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#191", - "id" : 191, - "location" : "AirLocation#191", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#197", - "id" : 197, - "location" : "AirLocation#197", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#326", - "id" : 326, - "location" : "AirLocation#326", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#404", - "id" : 404, - "location" : "AirLocation#404", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#151", - "id" : 151, - "location" : "AirLocation#151", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#160", - "id" : 160, - "location" : "AirLocation#160", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#497", - "id" : 497, - "location" : "AirLocation#497", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#137", - "id" : 137, - "location" : "AirLocation#137", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#200", - "id" : 200, - "location" : "AirLocation#200", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#395", - "id" : 395, - "location" : "AirLocation#395", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#392", - "id" : 392, - "location" : "AirLocation#392", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#624", - "id" : 624, - "location" : "AirLocation#624", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#380", - "id" : 380, - "location" : "AirLocation#380", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#281", - "id" : 281, - "location" : "AirLocation#281", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#401", - "id" : 401, - "location" : "AirLocation#401", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#292", - "id" : 292, - "location" : "AirLocation#292", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#182", - "id" : 182, - "location" : "AirLocation#182", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#408", - "id" : 408, - "location" : "AirLocation#408", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#761", - "id" : 761, - "location" : "AirLocation#761", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#756", - "id" : 756, - "location" : "AirLocation#756", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#785", - "id" : 785, - "location" : "AirLocation#785", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#922", - "id" : 922, - "location" : "AirLocation#922", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#979", - "id" : 979, - "location" : "AirLocation#979", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#747", - "id" : 747, - "location" : "AirLocation#747", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#918", - "id" : 918, - "location" : "AirLocation#918", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#209", - "id" : 209, - "location" : "AirLocation#209", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#490", - "id" : 490, - "location" : "AirLocation#490", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#489", - "id" : 489, - "location" : "AirLocation#489", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#866", - "id" : 866, - "location" : "AirLocation#866", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#844", - "id" : 844, - "location" : "AirLocation#844", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#787", - "id" : 787, - "location" : "AirLocation#787", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#775", - "id" : 775, - "location" : "AirLocation#775", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#974", - "id" : 974, - "location" : "AirLocation#974", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#491", - "id" : 491, - "location" : "AirLocation#491", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#975", - "id" : 975, - "location" : "AirLocation#975", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#972", - "id" : 972, - "location" : "AirLocation#972", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#912", - "id" : 912, - "location" : "AirLocation#912", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#910", - "id" : 910, - "location" : "AirLocation#910", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1013", - "id" : 1013, - "location" : "AirLocation#1013", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1062", - "id" : 1062, - "location" : "AirLocation#1062", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#792", - "id" : 792, - "location" : "AirLocation#792", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#916", - "id" : 916, - "location" : "AirLocation#916", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#549", - "id" : 549, - "location" : "AirLocation#549", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#210", - "id" : 210, - "location" : "AirLocation#210", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#550", - "id" : 550, - "location" : "AirLocation#550", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#839", - "id" : 839, - "location" : "AirLocation#839", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#902", - "id" : 902, - "location" : "AirLocation#902", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#551", - "id" : 551, - "location" : "AirLocation#551", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1014", - "id" : 1014, - "location" : "AirLocation#1014", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#762", - "id" : 762, - "location" : "AirLocation#762", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#161", - "id" : 161, - "location" : "AirLocation#161", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#270", - "id" : 270, - "location" : "AirLocation#270", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#367", - "id" : 367, - "location" : "AirLocation#367", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#368", - "id" : 368, - "location" : "AirLocation#368", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#272", - "id" : 272, - "location" : "AirLocation#272", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#162", - "id" : 162, - "location" : "AirLocation#162", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#833", - "id" : 833, - "location" : "AirLocation#833", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#894", - "id" : 894, - "location" : "AirLocation#894", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#763", - "id" : 763, - "location" : "AirLocation#763", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#163", - "id" : 163, - "location" : "AirLocation#163", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#361", - "id" : 361, - "location" : "AirLocation#361", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#362", - "id" : 362, - "location" : "AirLocation#362", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#164", - "id" : 164, - "location" : "AirLocation#164", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#890", - "id" : 890, - "location" : "AirLocation#890", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#841", - "id" : 841, - "location" : "AirLocation#841", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#873", - "id" : 873, - "location" : "AirLocation#873", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#764", - "id" : 764, - "location" : "AirLocation#764", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#165", - "id" : 165, - "location" : "AirLocation#165", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#649", - "id" : 649, - "location" : "AirLocation#649", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#648", - "id" : 648, - "location" : "AirLocation#648", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#166", - "id" : 166, - "location" : "AirLocation#166", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#135", - "id" : 135, - "location" : "AirLocation#135", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1078", - "id" : 1078, - "location" : "AirLocation#1078", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#745", - "id" : 745, - "location" : "AirLocation#745", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#852", - "id" : 852, - "location" : "AirLocation#852", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#765", - "id" : 765, - "location" : "AirLocation#765", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#167", - "id" : 167, - "location" : "AirLocation#167", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1076", - "id" : 1076, - "location" : "AirLocation#1076", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#860", - "id" : 860, - "location" : "AirLocation#860", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#667", - "id" : 667, - "location" : "AirLocation#667", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#136", - "id" : 136, - "location" : "AirLocation#136", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#13", - "id" : 13, - "location" : "AirLocation#13", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#746", - "id" : 746, - "location" : "AirLocation#746", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#14", - "id" : 14, - "location" : "AirLocation#14", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#16", - "id" : 16, - "location" : "AirLocation#16", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#337", - "id" : 337, - "location" : "AirLocation#337", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#305", - "id" : 305, - "location" : "AirLocation#305", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#646", - "id" : 646, - "location" : "AirLocation#646", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#317", - "id" : 317, - "location" : "AirLocation#317", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#15", - "id" : 15, - "location" : "AirLocation#15", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#647", - "id" : 647, - "location" : "AirLocation#647", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#360", - "id" : 360, - "location" : "AirLocation#360", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#284", - "id" : 284, - "location" : "AirLocation#284", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#269", - "id" : 269, - "location" : "AirLocation#269", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#379", - "id" : 379, - "location" : "AirLocation#379", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#366", - "id" : 366, - "location" : "AirLocation#366", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#291", - "id" : 291, - "location" : "AirLocation#291", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#325", - "id" : 325, - "location" : "AirLocation#325", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#403", - "id" : 403, - "location" : "AirLocation#403", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#623", - "id" : 623, - "location" : "AirLocation#623", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#394", - "id" : 394, - "location" : "AirLocation#394", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#391", - "id" : 391, - "location" : "AirLocation#391", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#280", - "id" : 280, - "location" : "AirLocation#280", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#400", - "id" : 400, - "location" : "AirLocation#400", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#486", - "id" : 486, - "location" : "AirLocation#486", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#290", - "id" : 290, - "location" : "AirLocation#290", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#138", - "id" : 138, - "location" : "AirLocation#138", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#159", - "id" : 159, - "location" : "AirLocation#159", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#11", - "id" : 11, - "location" : "AirLocation#11", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#206", - "id" : 206, - "location" : "AirLocation#206", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#150", - "id" : 150, - "location" : "AirLocation#150", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#231", - "id" : 231, - "location" : "AirLocation#231", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#319", - "id" : 319, - "location" : "AirLocation#319", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#42", - "id" : 42, - "location" : "AirLocation#42", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#399", - "id" : 399, - "location" : "AirLocation#399", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#139", - "id" : 139, - "location" : "AirLocation#139", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#279", - "id" : 279, - "location" : "AirLocation#279", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#390", - "id" : 390, - "location" : "AirLocation#390", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#378", - "id" : 378, - "location" : "AirLocation#378", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#293", - "id" : 293, - "location" : "AirLocation#293", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#336", - "id" : 336, - "location" : "AirLocation#336", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#335", - "id" : 335, - "location" : "AirLocation#335", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#285", - "id" : 285, - "location" : "AirLocation#285", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#287", - "id" : 287, - "location" : "AirLocation#287", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#304", - "id" : 304, - "location" : "AirLocation#304", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#303", - "id" : 303, - "location" : "AirLocation#303", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#645", - "id" : 645, - "location" : "AirLocation#645", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#644", - "id" : 644, - "location" : "AirLocation#644", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#302", - "id" : 302, - "location" : "AirLocation#302", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#643", - "id" : 643, - "location" : "AirLocation#643", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#668", - "id" : 668, - "location" : "AirLocation#668", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#859", - "id" : 859, - "location" : "AirLocation#859", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1075", - "id" : 1075, - "location" : "AirLocation#1075", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#851", - "id" : 851, - "location" : "AirLocation#851", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1077", - "id" : 1077, - "location" : "AirLocation#1077", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#842", - "id" : 842, - "location" : "AirLocation#842", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#286", - "id" : 286, - "location" : "AirLocation#286", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#889", - "id" : 889, - "location" : "AirLocation#889", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#872", - "id" : 872, - "location" : "AirLocation#872", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#893", - "id" : 893, - "location" : "AirLocation#893", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#271", - "id" : 271, - "location" : "AirLocation#271", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#268", - "id" : 268, - "location" : "AirLocation#268", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#832", - "id" : 832, - "location" : "AirLocation#832", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#901", - "id" : 901, - "location" : "AirLocation#901", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#845", - "id" : 845, - "location" : "AirLocation#845", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#909", - "id" : 909, - "location" : "AirLocation#909", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#838", - "id" : 838, - "location" : "AirLocation#838", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#748", - "id" : 748, - "location" : "AirLocation#748", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#915", - "id" : 915, - "location" : "AirLocation#915", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#865", - "id" : 865, - "location" : "AirLocation#865", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#917", - "id" : 917, - "location" : "AirLocation#917", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#527", - "id" : 527, - "location" : "AirLocation#527", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#525", - "id" : 525, - "location" : "AirLocation#525", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#526", - "id" : 526, - "location" : "AirLocation#526", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#999", - "id" : 999, - "location" : "AirLocation#999", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#998", - "id" : 998, - "location" : "AirLocation#998", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#755", - "id" : 755, - "location" : "AirLocation#755", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#911", - "id" : 911, - "location" : "AirLocation#911", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#790", - "id" : 790, - "location" : "AirLocation#790", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#665", - "id" : 665, - "location" : "AirLocation#665", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1061", - "id" : 1061, - "location" : "AirLocation#1061", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#760", - "id" : 760, - "location" : "AirLocation#760", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#807", - "id" : 807, - "location" : "AirLocation#807", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#934", - "id" : 934, - "location" : "AirLocation#934", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#283", - "id" : 283, - "location" : "AirLocation#283", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#301", - "id" : 301, - "location" : "AirLocation#301", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#324", - "id" : 324, - "location" : "AirLocation#324", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#402", - "id" : 402, - "location" : "AirLocation#402", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#149", - "id" : 149, - "location" : "AirLocation#149", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#393", - "id" : 393, - "location" : "AirLocation#393", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#205", - "id" : 205, - "location" : "AirLocation#205", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#10", - "id" : 10, - "location" : "AirLocation#10", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#622", - "id" : 622, - "location" : "AirLocation#622", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#230", - "id" : 230, - "location" : "AirLocation#230", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#426", - "id" : 426, - "location" : "AirLocation#426", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#158", - "id" : 158, - "location" : "AirLocation#158", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#346", - "id" : 346, - "location" : "AirLocation#346", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#220", - "id" : 220, - "location" : "AirLocation#220", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#320", - "id" : 320, - "location" : "AirLocation#320", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#334", - "id" : 334, - "location" : "AirLocation#334", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#86", - "id" : 86, - "location" : "AirLocation#86", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#134", - "id" : 134, - "location" : "AirLocation#134", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#83", - "id" : 83, - "location" : "AirLocation#83", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#223", - "id" : 223, - "location" : "AirLocation#223", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#39", - "id" : 39, - "location" : "AirLocation#39", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#343", - "id" : 343, - "location" : "AirLocation#343", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#340", - "id" : 340, - "location" : "AirLocation#340", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#267", - "id" : 267, - "location" : "AirLocation#267", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#432", - "id" : 432, - "location" : "AirLocation#432", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#937", - "id" : 937, - "location" : "AirLocation#937", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#879", - "id" : 879, - "location" : "AirLocation#879", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#862", - "id" : 862, - "location" : "AirLocation#862", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#687", - "id" : 687, - "location" : "AirLocation#687", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#800", - "id" : 800, - "location" : "AirLocation#800", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#715", - "id" : 715, - "location" : "AirLocation#715", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#744", - "id" : 744, - "location" : "AirLocation#744", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#713", - "id" : 713, - "location" : "AirLocation#713", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#802", - "id" : 802, - "location" : "AirLocation#802", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#685", - "id" : 685, - "location" : "AirLocation#685", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#850", - "id" : 850, - "location" : "AirLocation#850", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#875", - "id" : 875, - "location" : "AirLocation#875", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#877", - "id" : 877, - "location" : "AirLocation#877", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#300", - "id" : 300, - "location" : "AirLocation#300", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#282", - "id" : 282, - "location" : "AirLocation#282", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#840", - "id" : 840, - "location" : "AirLocation#840", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#742", - "id" : 742, - "location" : "AirLocation#742", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#678", - "id" : 678, - "location" : "AirLocation#678", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#810", - "id" : 810, - "location" : "AirLocation#810", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#716", - "id" : 716, - "location" : "AirLocation#716", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#131", - "id" : 131, - "location" : "AirLocation#131", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#130", - "id" : 130, - "location" : "AirLocation#130", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#485", - "id" : 485, - "location" : "AirLocation#485", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#235", - "id" : 235, - "location" : "AirLocation#235", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#31", - "id" : 31, - "location" : "AirLocation#31", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#339", - "id" : 339, - "location" : "AirLocation#339", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#234", - "id" : 234, - "location" : "AirLocation#234", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#30", - "id" : 30, - "location" : "AirLocation#30", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#342", - "id" : 342, - "location" : "AirLocation#342", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#38", - "id" : 38, - "location" : "AirLocation#38", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#222", - "id" : 222, - "location" : "AirLocation#222", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#85", - "id" : 85, - "location" : "AirLocation#85", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#133", - "id" : 133, - "location" : "AirLocation#133", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#82", - "id" : 82, - "location" : "AirLocation#82", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#345", - "id" : 345, - "location" : "AirLocation#345", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#219", - "id" : 219, - "location" : "AirLocation#219", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#142", - "id" : 142, - "location" : "AirLocation#142", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#129", - "id" : 129, - "location" : "AirLocation#129", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#358", - "id" : 358, - "location" : "AirLocation#358", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#87", - "id" : 87, - "location" : "AirLocation#87", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#101", - "id" : 101, - "location" : "AirLocation#101", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#18", - "id" : 18, - "location" : "AirLocation#18", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#238", - "id" : 238, - "location" : "AirLocation#238", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#641", - "id" : 641, - "location" : "AirLocation#641", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#331", - "id" : 331, - "location" : "AirLocation#331", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#27", - "id" : 27, - "location" : "AirLocation#27", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#315", - "id" : 315, - "location" : "AirLocation#315", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#24", - "id" : 24, - "location" : "AirLocation#24", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#212", - "id" : 212, - "location" : "AirLocation#212", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#330", - "id" : 330, - "location" : "AirLocation#330", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#141", - "id" : 141, - "location" : "AirLocation#141", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#19", - "id" : 19, - "location" : "AirLocation#19", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#102", - "id" : 102, - "location" : "AirLocation#102", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#28", - "id" : 28, - "location" : "AirLocation#28", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#316", - "id" : 316, - "location" : "AirLocation#316", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#333", - "id" : 333, - "location" : "AirLocation#333", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#726", - "id" : 726, - "location" : "AirLocation#726", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#812", - "id" : 812, - "location" : "AirLocation#812", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#670", - "id" : 670, - "location" : "AirLocation#670", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#676", - "id" : 676, - "location" : "AirLocation#676", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#871", - "id" : 871, - "location" : "AirLocation#871", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#858", - "id" : 858, - "location" : "AirLocation#858", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#869", - "id" : 869, - "location" : "AirLocation#869", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#831", - "id" : 831, - "location" : "AirLocation#831", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#673", - "id" : 673, - "location" : "AirLocation#673", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#794", - "id" : 794, - "location" : "AirLocation#794", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#739", - "id" : 739, - "location" : "AirLocation#739", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#749", - "id" : 749, - "location" : "AirLocation#749", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#431", - "id" : 431, - "location" : "AirLocation#431", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#266", - "id" : 266, - "location" : "AirLocation#266", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#23", - "id" : 23, - "location" : "AirLocation#23", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#213", - "id" : 213, - "location" : "AirLocation#213", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#126", - "id" : 126, - "location" : "AirLocation#126", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#140", - "id" : 140, - "location" : "AirLocation#140", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#22", - "id" : 22, - "location" : "AirLocation#22", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#327", - "id" : 327, - "location" : "AirLocation#327", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#9", - "id" : 9, - "location" : "AirLocation#9", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#276", - "id" : 276, - "location" : "AirLocation#276", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#146", - "id" : 146, - "location" : "AirLocation#146", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#21", - "id" : 21, - "location" : "AirLocation#21", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#143", - "id" : 143, - "location" : "AirLocation#143", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#227", - "id" : 227, - "location" : "AirLocation#227", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#295", - "id" : 295, - "location" : "AirLocation#295", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#424", - "id" : 424, - "location" : "AirLocation#424", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#443", - "id" : 443, - "location" : "AirLocation#443", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#185", - "id" : 185, - "location" : "AirLocation#185", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#484", - "id" : 484, - "location" : "AirLocation#484", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#294", - "id" : 294, - "location" : "AirLocation#294", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#322", - "id" : 322, - "location" : "AirLocation#322", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#321", - "id" : 321, - "location" : "AirLocation#321", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#795", - "id" : 795, - "location" : "AirLocation#795", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#672", - "id" : 672, - "location" : "AirLocation#672", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#843", - "id" : 843, - "location" : "AirLocation#843", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#867", - "id" : 867, - "location" : "AirLocation#867", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#834", - "id" : 834, - "location" : "AirLocation#834", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#836", - "id" : 836, - "location" : "AirLocation#836", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#849", - "id" : 849, - "location" : "AirLocation#849", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#664", - "id" : 664, - "location" : "AirLocation#664", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#803", - "id" : 803, - "location" : "AirLocation#803", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#753", - "id" : 753, - "location" : "AirLocation#753", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#751", - "id" : 751, - "location" : "AirLocation#751", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#805", - "id" : 805, - "location" : "AirLocation#805", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#662", - "id" : 662, - "location" : "AirLocation#662", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#863", - "id" : 863, - "location" : "AirLocation#863", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#846", - "id" : 846, - "location" : "AirLocation#846", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#971", - "id" : 971, - "location" : "AirLocation#971", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#483", - "id" : 483, - "location" : "AirLocation#483", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#482", - "id" : 482, - "location" : "AirLocation#482", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#591", - "id" : 591, - "location" : "AirLocation#591", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#113", - "id" : 113, - "location" : "AirLocation#113", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#111", - "id" : 111, - "location" : "AirLocation#111", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#109", - "id" : 109, - "location" : "AirLocation#109", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#116", - "id" : 116, - "location" : "AirLocation#116", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#115", - "id" : 115, - "location" : "AirLocation#115", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#118", - "id" : 118, - "location" : "AirLocation#118", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#120", - "id" : 120, - "location" : "AirLocation#120", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#121", - "id" : 121, - "location" : "AirLocation#121", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#588", - "id" : 588, - "location" : "AirLocation#588", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#481", - "id" : 481, - "location" : "AirLocation#481", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#430", - "id" : 430, - "location" : "AirLocation#430", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#428", - "id" : 428, - "location" : "AirLocation#428", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#429", - "id" : 429, - "location" : "AirLocation#429", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#933", - "id" : 933, - "location" : "AirLocation#933", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#970", - "id" : 970, - "location" : "AirLocation#970", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#936", - "id" : 936, - "location" : "AirLocation#936", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#919", - "id" : 919, - "location" : "AirLocation#919", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#973", - "id" : 973, - "location" : "AirLocation#973", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#935", - "id" : 935, - "location" : "AirLocation#935", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#938", - "id" : 938, - "location" : "AirLocation#938", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1038", - "id" : 1038, - "location" : "AirLocation#1038", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#427", - "id" : 427, - "location" : "AirLocation#427", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#122", - "id" : 122, - "location" : "AirLocation#122", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#119", - "id" : 119, - "location" : "AirLocation#119", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#777", - "id" : 777, - "location" : "AirLocation#777", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#736", - "id" : 736, - "location" : "AirLocation#736", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#735", - "id" : 735, - "location" : "AirLocation#735", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1040", - "id" : 1040, - "location" : "AirLocation#1040", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1054", - "id" : 1054, - "location" : "AirLocation#1054", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#612", - "id" : 612, - "location" : "AirLocation#612", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#734", - "id" : 734, - "location" : "AirLocation#734", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#733", - "id" : 733, - "location" : "AirLocation#733", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#117", - "id" : 117, - "location" : "AirLocation#117", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#114", - "id" : 114, - "location" : "AirLocation#114", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#618", - "id" : 618, - "location" : "AirLocation#618", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#112", - "id" : 112, - "location" : "AirLocation#112", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#110", - "id" : 110, - "location" : "AirLocation#110", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#587", - "id" : 587, - "location" : "AirLocation#587", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#106", - "id" : 106, - "location" : "AirLocation#106", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1058", - "id" : 1058, - "location" : "AirLocation#1058", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#978", - "id" : 978, - "location" : "AirLocation#978", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#732", - "id" : 732, - "location" : "AirLocation#732", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#731", - "id" : 731, - "location" : "AirLocation#731", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#976", - "id" : 976, - "location" : "AirLocation#976", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#968", - "id" : 968, - "location" : "AirLocation#968", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#729", - "id" : 729, - "location" : "AirLocation#729", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#710", - "id" : 710, - "location" : "AirLocation#710", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#689", - "id" : 689, - "location" : "AirLocation#689", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#964", - "id" : 964, - "location" : "AirLocation#964", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#722", - "id" : 722, - "location" : "AirLocation#722", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1064", - "id" : 1064, - "location" : "AirLocation#1064", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#611", - "id" : 611, - "location" : "AirLocation#611", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#783", - "id" : 783, - "location" : "AirLocation#783", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1037", - "id" : 1037, - "location" : "AirLocation#1037", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#993", - "id" : 993, - "location" : "AirLocation#993", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1050", - "id" : 1050, - "location" : "AirLocation#1050", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#586", - "id" : 586, - "location" : "AirLocation#586", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#606", - "id" : 606, - "location" : "AirLocation#606", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1039", - "id" : 1039, - "location" : "AirLocation#1039", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#996", - "id" : 996, - "location" : "AirLocation#996", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1046", - "id" : 1046, - "location" : "AirLocation#1046", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#589", - "id" : 589, - "location" : "AirLocation#589", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#617", - "id" : 617, - "location" : "AirLocation#617", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#107", - "id" : 107, - "location" : "AirLocation#107", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#388", - "id" : 388, - "location" : "AirLocation#388", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#590", - "id" : 590, - "location" : "AirLocation#590", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#478", - "id" : 478, - "location" : "AirLocation#478", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#495", - "id" : 495, - "location" : "AirLocation#495", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#449", - "id" : 449, - "location" : "AirLocation#449", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#492", - "id" : 492, - "location" : "AirLocation#492", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#45", - "id" : 45, - "location" : "AirLocation#45", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#96", - "id" : 96, - "location" : "AirLocation#96", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#627", - "id" : 627, - "location" : "AirLocation#627", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#194", - "id" : 194, - "location" : "AirLocation#194", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#518", - "id" : 518, - "location" : "AirLocation#518", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#522", - "id" : 522, - "location" : "AirLocation#522", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#600", - "id" : 600, - "location" : "AirLocation#600", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#169", - "id" : 169, - "location" : "AirLocation#169", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#172", - "id" : 172, - "location" : "AirLocation#172", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#585", - "id" : 585, - "location" : "AirLocation#585", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#170", - "id" : 170, - "location" : "AirLocation#170", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#171", - "id" : 171, - "location" : "AirLocation#171", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#442", - "id" : 442, - "location" : "AirLocation#442", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#370", - "id" : 370, - "location" : "AirLocation#370", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#616", - "id" : 616, - "location" : "AirLocation#616", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#605", - "id" : 605, - "location" : "AirLocation#605", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#610", - "id" : 610, - "location" : "AirLocation#610", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1053", - "id" : 1053, - "location" : "AirLocation#1053", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#988", - "id" : 988, - "location" : "AirLocation#988", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#767", - "id" : 767, - "location" : "AirLocation#767", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1036", - "id" : 1036, - "location" : "AirLocation#1036", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1057", - "id" : 1057, - "location" : "AirLocation#1057", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#774", - "id" : 774, - "location" : "AirLocation#774", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#768", - "id" : 768, - "location" : "AirLocation#768", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#994", - "id" : 994, - "location" : "AirLocation#994", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#520", - "id" : 520, - "location" : "AirLocation#520", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#519", - "id" : 519, - "location" : "AirLocation#519", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#530", - "id" : 530, - "location" : "AirLocation#530", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#944", - "id" : 944, - "location" : "AirLocation#944", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#942", - "id" : 942, - "location" : "AirLocation#942", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1001", - "id" : 1001, - "location" : "AirLocation#1001", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#682", - "id" : 682, - "location" : "AirLocation#682", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1000", - "id" : 1000, - "location" : "AirLocation#1000", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#882", - "id" : 882, - "location" : "AirLocation#882", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#528", - "id" : 528, - "location" : "AirLocation#528", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#529", - "id" : 529, - "location" : "AirLocation#529", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#349", - "id" : 349, - "location" : "AirLocation#349", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#350", - "id" : 350, - "location" : "AirLocation#350", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#347", - "id" : 347, - "location" : "AirLocation#347", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#880", - "id" : 880, - "location" : "AirLocation#880", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#771", - "id" : 771, - "location" : "AirLocation#771", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#703", - "id" : 703, - "location" : "AirLocation#703", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#948", - "id" : 948, - "location" : "AirLocation#948", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#636", - "id" : 636, - "location" : "AirLocation#636", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1070", - "id" : 1070, - "location" : "AirLocation#1070", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1063", - "id" : 1063, - "location" : "AirLocation#1063", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1049", - "id" : 1049, - "location" : "AirLocation#1049", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#987", - "id" : 987, - "location" : "AirLocation#987", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#960", - "id" : 960, - "location" : "AirLocation#960", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#950", - "id" : 950, - "location" : "AirLocation#950", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#898", - "id" : 898, - "location" : "AirLocation#898", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1045", - "id" : 1045, - "location" : "AirLocation#1045", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#604", - "id" : 604, - "location" : "AirLocation#604", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#374", - "id" : 374, - "location" : "AirLocation#374", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#582", - "id" : 582, - "location" : "AirLocation#582", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#369", - "id" : 369, - "location" : "AirLocation#369", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#583", - "id" : 583, - "location" : "AirLocation#583", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#448", - "id" : 448, - "location" : "AirLocation#448", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#376", - "id" : 376, - "location" : "AirLocation#376", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#584", - "id" : 584, - "location" : "AirLocation#584", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#176", - "id" : 176, - "location" : "AirLocation#176", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#509", - "id" : 509, - "location" : "AirLocation#509", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#451", - "id" : 451, - "location" : "AirLocation#451", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#418", - "id" : 418, - "location" : "AirLocation#418", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#195", - "id" : 195, - "location" : "AirLocation#195", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#463", - "id" : 463, - "location" : "AirLocation#463", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#258", - "id" : 258, - "location" : "AirLocation#258", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#189", - "id" : 189, - "location" : "AirLocation#189", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#261", - "id" : 261, - "location" : "AirLocation#261", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#655", - "id" : 655, - "location" : "AirLocation#655", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#503", - "id" : 503, - "location" : "AirLocation#503", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#105", - "id" : 105, - "location" : "AirLocation#105", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#421", - "id" : 421, - "location" : "AirLocation#421", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#500", - "id" : 500, - "location" : "AirLocation#500", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#353", - "id" : 353, - "location" : "AirLocation#353", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#251", - "id" : 251, - "location" : "AirLocation#251", - "previousStandstill" : "Domicile#1" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, "Visit#3", "Visit#4", "Visit#5", "Visit#6", "Visit#7", "Visit#8", "Visit#9", "Visit#10", "Visit#11", "Visit#12", "Visit#13", "Visit#14", "Visit#15", "Visit#16", "Visit#17", "Visit#18", "Visit#19", "Visit#20", "Visit#21", "Visit#22", "Visit#23", "Visit#24", "Visit#25", "Visit#26", "Visit#27", "Visit#28", "Visit#29", "Visit#30", "Visit#31", { - "@type" : "visit", - "@id" : "Visit#32", - "id" : 32, - "location" : "AirLocation#32", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#532", - "id" : 532, - "location" : "AirLocation#532", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#34", - "id" : 34, - "location" : "AirLocation#34", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#544", - "id" : 544, - "location" : "AirLocation#544", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#310", - "id" : 310, - "location" : "AirLocation#310", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#312", - "id" : 312, - "location" : "AirLocation#312", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#49", - "id" : 49, - "location" : "AirLocation#49", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#88", - "id" : 88, - "location" : "AirLocation#88", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#46", - "id" : 46, - "location" : "AirLocation#46", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#631", - "id" : 631, - "location" : "AirLocation#631", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#204", - "id" : 204, - "location" : "AirLocation#204", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#628", - "id" : 628, - "location" : "AirLocation#628", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#396", - "id" : 396, - "location" : "AirLocation#396", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#177", - "id" : 177, - "location" : "AirLocation#177", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#412", - "id" : 412, - "location" : "AirLocation#412", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#97", - "id" : 97, - "location" : "AirLocation#97", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#125", - "id" : 125, - "location" : "AirLocation#125", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#570", - "id" : 570, - "location" : "AirLocation#570", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#567", - "id" : 567, - "location" : "AirLocation#567", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#217", - "id" : 217, - "location" : "AirLocation#217", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#365", - "id" : 365, - "location" : "AirLocation#365", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#54", - "id" : 54, - "location" : "AirLocation#54", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#561", - "id" : 561, - "location" : "AirLocation#561", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#564", - "id" : 564, - "location" : "AirLocation#564", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#155", - "id" : 155, - "location" : "AirLocation#155", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#557", - "id" : 557, - "location" : "AirLocation#557", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#202", - "id" : 202, - "location" : "AirLocation#202", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#203", - "id" : 203, - "location" : "AirLocation#203", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#311", - "id" : 311, - "location" : "AirLocation#311", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#33", - "id" : 33, - "location" : "AirLocation#33", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#201", - "id" : 201, - "location" : "AirLocation#201", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#124", - "id" : 124, - "location" : "AirLocation#124", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#566", - "id" : 566, - "location" : "AirLocation#566", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#569", - "id" : 569, - "location" : "AirLocation#569", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#216", - "id" : 216, - "location" : "AirLocation#216", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#565", - "id" : 565, - "location" : "AirLocation#565", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#364", - "id" : 364, - "location" : "AirLocation#364", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#123", - "id" : 123, - "location" : "AirLocation#123", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#568", - "id" : 568, - "location" : "AirLocation#568", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#696", - "id" : 696, - "location" : "AirLocation#696", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#55", - "id" : 55, - "location" : "AirLocation#55", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#215", - "id" : 215, - "location" : "AirLocation#215", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#363", - "id" : 363, - "location" : "AirLocation#363", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#535", - "id" : 535, - "location" : "AirLocation#535", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#534", - "id" : 534, - "location" : "AirLocation#534", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#56", - "id" : 56, - "location" : "AirLocation#56", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#536", - "id" : 536, - "location" : "AirLocation#536", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#537", - "id" : 537, - "location" : "AirLocation#537", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1004", - "id" : 1004, - "location" : "AirLocation#1004", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1023", - "id" : 1023, - "location" : "AirLocation#1023", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1025", - "id" : 1025, - "location" : "AirLocation#1025", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#797", - "id" : 797, - "location" : "AirLocation#797", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#891", - "id" : 891, - "location" : "AirLocation#891", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#697", - "id" : 697, - "location" : "AirLocation#697", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1005", - "id" : 1005, - "location" : "AirLocation#1005", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1006", - "id" : 1006, - "location" : "AirLocation#1006", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#680", - "id" : 680, - "location" : "AirLocation#680", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#737", - "id" : 737, - "location" : "AirLocation#737", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#694", - "id" : 694, - "location" : "AirLocation#694", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1007", - "id" : 1007, - "location" : "AirLocation#1007", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1021", - "id" : 1021, - "location" : "AirLocation#1021", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#539", - "id" : 539, - "location" : "AirLocation#539", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#562", - "id" : 562, - "location" : "AirLocation#562", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#538", - "id" : 538, - "location" : "AirLocation#538", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#52", - "id" : 52, - "location" : "AirLocation#52", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#53", - "id" : 53, - "location" : "AirLocation#53", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#156", - "id" : 156, - "location" : "AirLocation#156", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#558", - "id" : 558, - "location" : "AirLocation#558", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#563", - "id" : 563, - "location" : "AirLocation#563", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#555", - "id" : 555, - "location" : "AirLocation#555", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#855", - "id" : 855, - "location" : "AirLocation#855", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1019", - "id" : 1019, - "location" : "AirLocation#1019", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1017", - "id" : 1017, - "location" : "AirLocation#1017", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#759", - "id" : 759, - "location" : "AirLocation#759", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#788", - "id" : 788, - "location" : "AirLocation#788", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#556", - "id" : 556, - "location" : "AirLocation#556", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#157", - "id" : 157, - "location" : "AirLocation#157", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#560", - "id" : 560, - "location" : "AirLocation#560", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#559", - "id" : 559, - "location" : "AirLocation#559", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#179", - "id" : 179, - "location" : "AirLocation#179", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#773", - "id" : 773, - "location" : "AirLocation#773", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#691", - "id" : 691, - "location" : "AirLocation#691", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#984", - "id" : 984, - "location" : "AirLocation#984", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#91", - "id" : 91, - "location" : "AirLocation#91", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#719", - "id" : 719, - "location" : "AirLocation#719", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#727", - "id" : 727, - "location" : "AirLocation#727", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1068", - "id" : 1068, - "location" : "AirLocation#1068", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1066", - "id" : 1066, - "location" : "AirLocation#1066", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#693", - "id" : 693, - "location" : "AirLocation#693", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#724", - "id" : 724, - "location" : "AirLocation#724", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#720", - "id" : 720, - "location" : "AirLocation#720", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#93", - "id" : 93, - "location" : "AirLocation#93", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#385", - "id" : 385, - "location" : "AirLocation#385", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#991", - "id" : 991, - "location" : "AirLocation#991", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1042", - "id" : 1042, - "location" : "AirLocation#1042", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#708", - "id" : 708, - "location" : "AirLocation#708", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#883", - "id" : 883, - "location" : "AirLocation#883", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#980", - "id" : 980, - "location" : "AirLocation#980", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#899", - "id" : 899, - "location" : "AirLocation#899", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#819", - "id" : 819, - "location" : "AirLocation#819", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#813", - "id" : 813, - "location" : "AirLocation#813", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#816", - "id" : 816, - "location" : "AirLocation#816", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#927", - "id" : 927, - "location" : "AirLocation#927", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#239", - "id" : 239, - "location" : "AirLocation#239", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#415", - "id" : 415, - "location" : "AirLocation#415", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#240", - "id" : 240, - "location" : "AirLocation#240", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#92", - "id" : 92, - "location" : "AirLocation#92", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#99", - "id" : 99, - "location" : "AirLocation#99", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#633", - "id" : 633, - "location" : "AirLocation#633", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#630", - "id" : 630, - "location" : "AirLocation#630", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#103", - "id" : 103, - "location" : "AirLocation#103", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#504", - "id" : 504, - "location" : "AirLocation#504", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#48", - "id" : 48, - "location" : "AirLocation#48", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#178", - "id" : 178, - "location" : "AirLocation#178", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#98", - "id" : 98, - "location" : "AirLocation#98", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#90", - "id" : 90, - "location" : "AirLocation#90", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#51", - "id" : 51, - "location" : "AirLocation#51", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#515", - "id" : 515, - "location" : "AirLocation#515", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#594", - "id" : 594, - "location" : "AirLocation#594", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#351", - "id" : 351, - "location" : "AirLocation#351", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#498", - "id" : 498, - "location" : "AirLocation#498", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#243", - "id" : 243, - "location" : "AirLocation#243", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#578", - "id" : 578, - "location" : "AirLocation#578", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#255", - "id" : 255, - "location" : "AirLocation#255", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#262", - "id" : 262, - "location" : "AirLocation#262", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#259", - "id" : 259, - "location" : "AirLocation#259", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#654", - "id" : 654, - "location" : "AirLocation#654", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#502", - "id" : 502, - "location" : "AirLocation#502", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#651", - "id" : 651, - "location" : "AirLocation#651", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#246", - "id" : 246, - "location" : "AirLocation#246", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#249", - "id" : 249, - "location" : "AirLocation#249", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#375", - "id" : 375, - "location" : "AirLocation#375", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#397", - "id" : 397, - "location" : "AirLocation#397", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#77", - "id" : 77, - "location" : "AirLocation#77", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#505", - "id" : 505, - "location" : "AirLocation#505", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#629", - "id" : 629, - "location" : "AirLocation#629", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#632", - "id" : 632, - "location" : "AirLocation#632", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#89", - "id" : 89, - "location" : "AirLocation#89", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#47", - "id" : 47, - "location" : "AirLocation#47", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#384", - "id" : 384, - "location" : "AirLocation#384", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#475", - "id" : 475, - "location" : "AirLocation#475", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#50", - "id" : 50, - "location" : "AirLocation#50", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#436", - "id" : 436, - "location" : "AirLocation#436", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#409", - "id" : 409, - "location" : "AirLocation#409", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#593", - "id" : 593, - "location" : "AirLocation#593", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#514", - "id" : 514, - "location" : "AirLocation#514", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#104", - "id" : 104, - "location" : "AirLocation#104", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#499", - "id" : 499, - "location" : "AirLocation#499", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#64", - "id" : 64, - "location" : "AirLocation#64", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#352", - "id" : 352, - "location" : "AirLocation#352", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#241", - "id" : 241, - "location" : "AirLocation#241", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#252", - "id" : 252, - "location" : "AirLocation#252", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#454", - "id" : 454, - "location" : "AirLocation#454", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#186", - "id" : 186, - "location" : "AirLocation#186", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#460", - "id" : 460, - "location" : "AirLocation#460", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#254", - "id" : 254, - "location" : "AirLocation#254", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#242", - "id" : 242, - "location" : "AirLocation#242", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#381", - "id" : 381, - "location" : "AirLocation#381", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#577", - "id" : 577, - "location" : "AirLocation#577", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#250", - "id" : 250, - "location" : "AirLocation#250", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#245", - "id" : 245, - "location" : "AirLocation#245", - "previousStandstill" : "Visit#2" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, "Visit#33", "Visit#34", { - "@type" : "visit", - "@id" : "Visit#35", - "id" : 35, - "location" : "AirLocation#35", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#543", - "id" : 543, - "location" : "AirLocation#543", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#533", - "id" : 533, - "location" : "AirLocation#533", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#531", - "id" : 531, - "location" : "AirLocation#531", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#355", - "id" : 355, - "location" : "AirLocation#355", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#306", - "id" : 306, - "location" : "AirLocation#306", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#263", - "id" : 263, - "location" : "AirLocation#263", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#886", - "id" : 886, - "location" : "AirLocation#886", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#738", - "id" : 738, - "location" : "AirLocation#738", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1003", - "id" : 1003, - "location" : "AirLocation#1003", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#695", - "id" : 695, - "location" : "AirLocation#695", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1010", - "id" : 1010, - "location" : "AirLocation#1010", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#681", - "id" : 681, - "location" : "AirLocation#681", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1002", - "id" : 1002, - "location" : "AirLocation#1002", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#853", - "id" : 853, - "location" : "AirLocation#853", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1026", - "id" : 1026, - "location" : "AirLocation#1026", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#679", - "id" : 679, - "location" : "AirLocation#679", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#829", - "id" : 829, - "location" : "AirLocation#829", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1024", - "id" : 1024, - "location" : "AirLocation#1024", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#892", - "id" : 892, - "location" : "AirLocation#892", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#798", - "id" : 798, - "location" : "AirLocation#798", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#885", - "id" : 885, - "location" : "AirLocation#885", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#354", - "id" : 354, - "location" : "AirLocation#354", - "previousStandstill" : "Visit#32" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, "Visit#36", "Visit#37", "Visit#38", "Visit#39", "Visit#40", "Visit#41", "Visit#42", "Visit#43", "Visit#44", "Visit#45", "Visit#46", "Visit#47", "Visit#48", "Visit#49", "Visit#50", "Visit#51", "Visit#52", "Visit#53", "Visit#54", "Visit#55", "Visit#56", { - "@type" : "visit", - "@id" : "Visit#57", - "id" : 57, - "location" : "AirLocation#57", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#607", - "id" : 607, - "location" : "AirLocation#607", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#72", - "id" : 72, - "location" : "AirLocation#72", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#913", - "id" : 913, - "location" : "AirLocation#913", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1051", - "id" : 1051, - "location" : "AirLocation#1051", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#706", - "id" : 706, - "location" : "AirLocation#706", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#698", - "id" : 698, - "location" : "AirLocation#698", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#966", - "id" : 966, - "location" : "AirLocation#966", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#772", - "id" : 772, - "location" : "AirLocation#772", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#905", - "id" : 905, - "location" : "AirLocation#905", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#71", - "id" : 71, - "location" : "AirLocation#71", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#372", - "id" : 372, - "location" : "AirLocation#372", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#70", - "id" : 70, - "location" : "AirLocation#70", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#542", - "id" : 542, - "location" : "AirLocation#542", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#264", - "id" : 264, - "location" : "AirLocation#264", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#541", - "id" : 541, - "location" : "AirLocation#541", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#540", - "id" : 540, - "location" : "AirLocation#540", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#925", - "id" : 925, - "location" : "AirLocation#925", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#897", - "id" : 897, - "location" : "AirLocation#897", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#705", - "id" : 705, - "location" : "AirLocation#705", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1009", - "id" : 1009, - "location" : "AirLocation#1009", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1065", - "id" : 1065, - "location" : "AirLocation#1065", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#692", - "id" : 692, - "location" : "AirLocation#692", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#723", - "id" : 723, - "location" : "AirLocation#723", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#718", - "id" : 718, - "location" : "AirLocation#718", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#789", - "id" : 789, - "location" : "AirLocation#789", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1067", - "id" : 1067, - "location" : "AirLocation#1067", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1008", - "id" : 1008, - "location" : "AirLocation#1008", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1018", - "id" : 1018, - "location" : "AirLocation#1018", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1020", - "id" : 1020, - "location" : "AirLocation#1020", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#690", - "id" : 690, - "location" : "AirLocation#690", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1012", - "id" : 1012, - "location" : "AirLocation#1012", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#856", - "id" : 856, - "location" : "AirLocation#856", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#758", - "id" : 758, - "location" : "AirLocation#758", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1022", - "id" : 1022, - "location" : "AirLocation#1022", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#757", - "id" : 757, - "location" : "AirLocation#757", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#854", - "id" : 854, - "location" : "AirLocation#854", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1011", - "id" : 1011, - "location" : "AirLocation#1011", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#548", - "id" : 548, - "location" : "AirLocation#548", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#154", - "id" : 154, - "location" : "AirLocation#154", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#152", - "id" : 152, - "location" : "AirLocation#152", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#545", - "id" : 545, - "location" : "AirLocation#545", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#356", - "id" : 356, - "location" : "AirLocation#356", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#308", - "id" : 308, - "location" : "AirLocation#308", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#547", - "id" : 547, - "location" : "AirLocation#547", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#313", - "id" : 313, - "location" : "AirLocation#313", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#153", - "id" : 153, - "location" : "AirLocation#153", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#309", - "id" : 309, - "location" : "AirLocation#309", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#546", - "id" : 546, - "location" : "AirLocation#546", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#307", - "id" : 307, - "location" : "AirLocation#307", - "previousStandstill" : "Visit#35" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } + "distanceType": "AIR_DISTANCE", + "distanceUnitOfMeasurement": "distance", + "domicile": { + "id": 1, + "location": { + "@type": "air", + "@id": "AirLocation#1", + "id": 1, + "latitude": 4080.0, + "longitude": 5236.0 } - }, { - "@type" : "visit", - "@id" : "Visit#58", - "id" : 58, - "location" : "AirLocation#58", - "previousStandstill" : "Visit#57" - }, { - "@type" : "visit", - "@id" : "Visit#59", - "id" : 59, - "location" : "AirLocation#59", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#74", - "id" : 74, - "location" : "AirLocation#74", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#634", - "id" : 634, - "location" : "AirLocation#634", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#923", - "id" : 923, - "location" : "AirLocation#923", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1069", - "id" : 1069, - "location" : "AirLocation#1069", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#707", - "id" : 707, - "location" : "AirLocation#707", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#699", - "id" : 699, - "location" : "AirLocation#699", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#940", - "id" : 940, - "location" : "AirLocation#940", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#830", - "id" : 830, - "location" : "AirLocation#830", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#985", - "id" : 985, - "location" : "AirLocation#985", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1041", - "id" : 1041, - "location" : "AirLocation#1041", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#265", - "id" : 265, - "location" : "AirLocation#265", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#73", - "id" : 73, - "location" : "AirLocation#73", - "previousStandstill" : "Visit#58" - } - } - } - } - } - } - } - } - } - } - } - } - }, { - "@type" : "visit", - "@id" : "Visit#60", - "id" : 60, - "location" : "AirLocation#60", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#79", - "id" : 79, - "location" : "AirLocation#79", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#373", - "id" : 373, - "location" : "AirLocation#373", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#469", - "id" : 469, - "location" : "AirLocation#469", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#78", - "id" : 78, - "location" : "AirLocation#78", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#650", - "id" : 650, - "location" : "AirLocation#650", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#76", - "id" : 76, - "location" : "AirLocation#76", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#513", - "id" : 513, - "location" : "AirLocation#513", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#506", - "id" : 506, - "location" : "AirLocation#506", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#592", - "id" : 592, - "location" : "AirLocation#592", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#75", - "id" : 75, - "location" : "AirLocation#75", - "previousStandstill" : "Visit#59" - } - } - } - } - } - } - } - } - } - } - }, { - "@type" : "visit", - "@id" : "Visit#61", - "id" : 61, - "location" : "AirLocation#61", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#608", - "id" : 608, - "location" : "AirLocation#608", - "previousStandstill" : "Visit#60" + }, + "id": 0, + "locationList": [ + "AirLocation#1", + { + "@type": "air", + "@id": "AirLocation#2", + "id": 2, + "latitude": 4688.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#3", + "id": 3, + "latitude": 5296.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#4", + "id": 4, + "latitude": 9392.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#5", + "id": 5, + "latitude": 9536.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#6", + "id": 6, + "latitude": 9680.0, + "longitude": 7106.0 + }, + { + "@type": "air", + "@id": "AirLocation#7", + "id": 7, + "latitude": 9936.0, + "longitude": 9108.0 + }, + { + "@type": "air", + "@id": "AirLocation#8", + "id": 8, + "latitude": 10240.0, + "longitude": 6248.0 + }, + { + "@type": "air", + "@id": "AirLocation#9", + "id": 9, + "latitude": 10544.0, + "longitude": 5258.0 + }, + { + "@type": "air", + "@id": "AirLocation#10", + "id": 10, + "latitude": 15504.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#11", + "id": 11, + "latitude": 15552.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#12", + "id": 12, + "latitude": 15600.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#13", + "id": 13, + "latitude": 18864.0, + "longitude": 11649.0 + }, + { + "@type": "air", + "@id": "AirLocation#14", + "id": 14, + "latitude": 18895.5, + "longitude": 11330.0 + }, + { + "@type": "air", + "@id": "AirLocation#15", + "id": 15, + "latitude": 18928.0, + "longitude": 7491.0 + }, + { + "@type": "air", + "@id": "AirLocation#16", + "id": 16, + "latitude": 18928.0, + "longitude": 11154.0 + }, + { + "@type": "air", + "@id": "AirLocation#17", + "id": 17, + "latitude": 12496.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#18", + "id": 18, + "latitude": 12528.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#19", + "id": 19, + "latitude": 12560.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#20", + "id": 20, + "latitude": 8880.0, + "longitude": 8888.0 + }, + { + "@type": "air", + "@id": "AirLocation#21", + "id": 21, + "latitude": 9984.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#22", + "id": 22, + "latitude": 11088.0, + "longitude": 5038.0 + }, + { + "@type": "air", + "@id": "AirLocation#23", + "id": 23, + "latitude": 11952.0, + "longitude": 5368.0 + }, + { + "@type": "air", + "@id": "AirLocation#24", + "id": 24, + "latitude": 11968.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#25", + "id": 25, + "latitude": 11984.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#26", + "id": 26, + "latitude": 12368.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#27", + "id": 27, + "latitude": 12432.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#28", + "id": 28, + "latitude": 12496.0, + "longitude": 5368.0 + }, + { + "@type": "air", + "@id": "AirLocation#29", + "id": 29, + "latitude": 13264.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#30", + "id": 30, + "latitude": 13312.0, + "longitude": 6688.0 + }, + { + "@type": "air", + "@id": "AirLocation#31", + "id": 31, + "latitude": 13360.0, + "longitude": 5478.0 + }, + { + "@type": "air", + "@id": "AirLocation#32", + "id": 32, + "latitude": 560.0, + "longitude": 4532.0 + }, + { + "@type": "air", + "@id": "AirLocation#33", + "id": 33, + "latitude": 560.0, + "longitude": 8514.0 + }, + { + "@type": "air", + "@id": "AirLocation#34", + "id": 34, + "latitude": 640.0, + "longitude": 5060.0 + }, + { + "@type": "air", + "@id": "AirLocation#35", + "id": 35, + "latitude": 720.0, + "longitude": 4532.0 + }, + { + "@type": "air", + "@id": "AirLocation#36", + "id": 36, + "latitude": 5936.0, + "longitude": 7986.0 + }, + { + "@type": "air", + "@id": "AirLocation#37", + "id": 37, + "latitude": 13776.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#38", + "id": 38, + "latitude": 13840.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#39", + "id": 39, + "latitude": 13904.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#40", + "id": 40, + "latitude": 14480.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#41", + "id": 41, + "latitude": 14624.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#42", + "id": 42, + "latitude": 14768.0, + "longitude": 7106.0 + }, + { + "@type": "air", + "@id": "AirLocation#43", + "id": 43, + "latitude": 7856.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#44", + "id": 44, + "latitude": 7904.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#45", + "id": 45, + "latitude": 7952.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#46", + "id": 46, + "latitude": 1200.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#47", + "id": 47, + "latitude": 1712.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#48", + "id": 48, + "latitude": 2224.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#49", + "id": 49, + "latitude": 1488.0, + "longitude": 5830.0 + }, + { + "@type": "air", + "@id": "AirLocation#50", + "id": 50, + "latitude": 2272.0, + "longitude": 7656.0 + }, + { + "@type": "air", + "@id": "AirLocation#51", + "id": 51, + "latitude": 3056.0, + "longitude": 9812.0 + }, + { + "@type": "air", + "@id": "AirLocation#52", + "id": 52, + "latitude": 624.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#53", + "id": 53, + "latitude": 720.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#54", + "id": 54, + "latitude": 816.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#55", + "id": 55, + "latitude": 349.5, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#56", + "id": 56, + "latitude": 432.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#57", + "id": 57, + "latitude": 2192.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#58", + "id": 58, + "latitude": 2480.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#59", + "id": 59, + "latitude": 2768.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#60", + "id": 60, + "latitude": 3056.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#61", + "id": 61, + "latitude": 3344.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#62", + "id": 62, + "latitude": 3632.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#63", + "id": 63, + "latitude": 3920.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#64", + "id": 64, + "latitude": 3920.0, + "longitude": 7942.0 + }, + { + "@type": "air", + "@id": "AirLocation#65", + "id": 65, + "latitude": 4640.0, + "longitude": 11044.0 + }, + { + "@type": "air", + "@id": "AirLocation#66", + "id": 66, + "latitude": 5360.0, + "longitude": 11506.0 + }, + { + "@type": "air", + "@id": "AirLocation#67", + "id": 67, + "latitude": 5488.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#68", + "id": 68, + "latitude": 5536.0, + "longitude": 11132.0 + }, + { + "@type": "air", + "@id": "AirLocation#69", + "id": 69, + "latitude": 5584.0, + "longitude": 11550.0 + }, + { + "@type": "air", + "@id": "AirLocation#70", + "id": 70, + "latitude": 1712.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#71", + "id": 71, + "latitude": 2000.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#72", + "id": 72, + "latitude": 2288.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#73", + "id": 73, + "latitude": 2576.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#74", + "id": 74, + "latitude": 2864.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#75", + "id": 75, + "latitude": 2864.0, + "longitude": 5214.0 + }, + { + "@type": "air", + "@id": "AirLocation#76", + "id": 76, + "latitude": 3136.0, + "longitude": 6028.0 + }, + { + "@type": "air", + "@id": "AirLocation#77", + "id": 77, + "latitude": 3408.0, + "longitude": 8998.0 + }, + { + "@type": "air", + "@id": "AirLocation#78", + "id": 78, + "latitude": 3424.0, + "longitude": 6028.0 + }, + { + "@type": "air", + "@id": "AirLocation#79", + "id": 79, + "latitude": 3440.0, + "longitude": 5016.0 + }, + { + "@type": "air", + "@id": "AirLocation#80", + "id": 80, + "latitude": 7984.0, + "longitude": 7986.0 + }, + { + "@type": "air", + "@id": "AirLocation#81", + "id": 81, + "latitude": 14160.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#82", + "id": 82, + "latitude": 14176.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#83", + "id": 83, + "latitude": 14192.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#84", + "id": 84, + "latitude": 14384.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#85", + "id": 85, + "latitude": 14432.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#86", + "id": 86, + "latitude": 14480.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#87", + "id": 87, + "latitude": 13072.0, + "longitude": 8118.0 + }, + { + "@type": "air", + "@id": "AirLocation#88", + "id": 88, + "latitude": 1424.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#89", + "id": 89, + "latitude": 2096.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#90", + "id": 90, + "latitude": 2768.0, + "longitude": 9724.0 + }, + { + "@type": "air", + "@id": "AirLocation#91", + "id": 91, + "latitude": 2768.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#92", + "id": 92, + "latitude": 2944.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#93", + "id": 93, + "latitude": 3120.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#94", + "id": 94, + "latitude": 7696.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#95", + "id": 95, + "latitude": 7760.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#96", + "id": 96, + "latitude": 7824.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#97", + "id": 97, + "latitude": 1456.0, + "longitude": 6864.0 + }, + { + "@type": "air", + "@id": "AirLocation#98", + "id": 98, + "latitude": 2272.0, + "longitude": 9724.0 + }, + { + "@type": "air", + "@id": "AirLocation#99", + "id": 99, + "latitude": 3088.0, + "longitude": 10846.0 + }, + { + "@type": "air", + "@id": "AirLocation#100", + "id": 100, + "latitude": 12752.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#101", + "id": 101, + "latitude": 12768.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#102", + "id": 102, + "latitude": 12784.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#103", + "id": 103, + "latitude": 2864.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#104", + "id": 104, + "latitude": 3552.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#105", + "id": 105, + "latitude": 4240.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#106", + "id": 106, + "latitude": 8016.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#107", + "id": 107, + "latitude": 8048.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#108", + "id": 108, + "latitude": 8080.0, + "longitude": 8404.0 + }, + { + "@type": "air", + "@id": "AirLocation#109", + "id": 109, + "latitude": 8192.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#110", + "id": 110, + "latitude": 8304.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#111", + "id": 111, + "latitude": 8336.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#112", + "id": 112, + "latitude": 8368.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#113", + "id": 113, + "latitude": 8479.5, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#114", + "id": 114, + "latitude": 8592.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#115", + "id": 115, + "latitude": 8624.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#116", + "id": 116, + "latitude": 8592.0, + "longitude": 4708.0 + }, + { + "@type": "air", + "@id": "AirLocation#117", + "id": 117, + "latitude": 8656.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#118", + "id": 118, + "latitude": 8768.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#119", + "id": 119, + "latitude": 8880.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#120", + "id": 120, + "latitude": 8880.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#121", + "id": 121, + "latitude": 8912.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#122", + "id": 122, + "latitude": 8944.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#123", + "id": 123, + "latitude": 592.0, + "longitude": 11176.0 + }, + { + "@type": "air", + "@id": "AirLocation#124", + "id": 124, + "latitude": 736.0, + "longitude": 10384.0 + }, + { + "@type": "air", + "@id": "AirLocation#125", + "id": 125, + "latitude": 880.0, + "longitude": 7194.0 + }, + { + "@type": "air", + "@id": "AirLocation#126", + "id": 126, + "latitude": 11664.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#127", + "id": 127, + "latitude": 11856.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#128", + "id": 128, + "latitude": 12048.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#129", + "id": 129, + "latitude": 12976.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#130", + "id": 130, + "latitude": 13184.0, + "longitude": 5104.0 + }, + { + "@type": "air", + "@id": "AirLocation#131", + "id": 131, + "latitude": 13392.0, + "longitude": 4686.0 + }, + { + "@type": "air", + "@id": "AirLocation#132", + "id": 132, + "latitude": 14288.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#133", + "id": 133, + "latitude": 14304.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#134", + "id": 134, + "latitude": 14320.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#135", + "id": 135, + "latitude": 18384.0, + "longitude": 11759.0 + }, + { + "@type": "air", + "@id": "AirLocation#136", + "id": 136, + "latitude": 18626.5, + "longitude": 11550.0 + }, + { + "@type": "air", + "@id": "AirLocation#137", + "id": 137, + "latitude": 16208.0, + "longitude": 10208.0 + }, + { + "@type": "air", + "@id": "AirLocation#138", + "id": 138, + "latitude": 16384.0, + "longitude": 8448.0 + }, + { + "@type": "air", + "@id": "AirLocation#139", + "id": 139, + "latitude": 16560.0, + "longitude": 6226.0 + }, + { + "@type": "air", + "@id": "AirLocation#140", + "id": 140, + "latitude": 11376.0, + "longitude": 5038.0 + }, + { + "@type": "air", + "@id": "AirLocation#141", + "id": 141, + "latitude": 12384.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#142", + "id": 142, + "latitude": 13392.0, + "longitude": 8888.0 + }, + { + "@type": "air", + "@id": "AirLocation#143", + "id": 143, + "latitude": 9968.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#144", + "id": 144, + "latitude": 10032.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#145", + "id": 145, + "latitude": 10096.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#146", + "id": 146, + "latitude": 10256.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#147", + "id": 147, + "latitude": 10816.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#148", + "id": 148, + "latitude": 11376.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#149", + "id": 149, + "latitude": 15824.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#150", + "id": 150, + "latitude": 15920.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#151", + "id": 151, + "latitude": 16016.0, + "longitude": 9768.0 + }, + { + "@type": "air", + "@id": "AirLocation#152", + "id": 152, + "latitude": 1008.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#153", + "id": 153, + "latitude": 1056.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#154", + "id": 154, + "latitude": 1104.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#155", + "id": 155, + "latitude": 1104.0, + "longitude": 8052.0 + }, + { + "@type": "air", + "@id": "AirLocation#156", + "id": 156, + "latitude": 1168.0, + "longitude": 11484.0 + }, + { + "@type": "air", + "@id": "AirLocation#157", + "id": 157, + "latitude": 1232.0, + "longitude": 11726.0 + }, + { + "@type": "air", + "@id": "AirLocation#158", + "id": 158, + "latitude": 15280.0, + "longitude": 6270.0 + }, + { + "@type": "air", + "@id": "AirLocation#159", + "id": 159, + "latitude": 15600.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#160", + "id": 160, + "latitude": 15920.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#161", + "id": 161, + "latitude": 17360.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#162", + "id": 162, + "latitude": 17568.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#163", + "id": 163, + "latitude": 17776.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#164", + "id": 164, + "latitude": 17984.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#165", + "id": 165, + "latitude": 18192.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#166", + "id": 166, + "latitude": 18400.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#167", + "id": 167, + "latitude": 18608.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#168", + "id": 168, + "latitude": 6480.0, + "longitude": 8624.0 + }, + { + "@type": "air", + "@id": "AirLocation#169", + "id": 169, + "latitude": 6528.0, + "longitude": 5280.0 + }, + { + "@type": "air", + "@id": "AirLocation#170", + "id": 170, + "latitude": 6576.0, + "longitude": 4642.0 + }, + { + "@type": "air", + "@id": "AirLocation#171", + "id": 171, + "latitude": 6160.0, + "longitude": 4642.0 + }, + { + "@type": "air", + "@id": "AirLocation#172", + "id": 172, + "latitude": 6272.0, + "longitude": 5280.0 + }, + { + "@type": "air", + "@id": "AirLocation#173", + "id": 173, + "latitude": 6384.0, + "longitude": 8624.0 + }, + { + "@type": "air", + "@id": "AirLocation#174", + "id": 174, + "latitude": 5520.0, + "longitude": 9988.0 + }, + { + "@type": "air", + "@id": "AirLocation#175", + "id": 175, + "latitude": 5552.0, + "longitude": 8008.0 + }, + { + "@type": "air", + "@id": "AirLocation#176", + "id": 176, + "latitude": 5584.0, + "longitude": 6006.0 + }, + { + "@type": "air", + "@id": "AirLocation#177", + "id": 177, + "latitude": 1968.0, + "longitude": 6754.0 + }, + { + "@type": "air", + "@id": "AirLocation#178", + "id": 178, + "latitude": 1984.0, + "longitude": 9504.0 + }, + { + "@type": "air", + "@id": "AirLocation#179", + "id": 179, + "latitude": 2000.0, + "longitude": 10736.0 + }, + { + "@type": "air", + "@id": "AirLocation#180", + "id": 180, + "latitude": 6192.0, + "longitude": 6754.0 + }, + { + "@type": "air", + "@id": "AirLocation#181", + "id": 181, + "latitude": 11344.0, + "longitude": 9504.0 + }, + { + "@type": "air", + "@id": "AirLocation#182", + "id": 182, + "latitude": 16496.0, + "longitude": 10736.0 + }, + { + "@type": "air", + "@id": "AirLocation#183", + "id": 183, + "latitude": 8944.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#184", + "id": 184, + "latitude": 8960.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#185", + "id": 185, + "latitude": 8976.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#186", + "id": 186, + "latitude": 4432.0, + "longitude": 7194.0 + }, + { + "@type": "air", + "@id": "AirLocation#187", + "id": 187, + "latitude": 9824.0, + "longitude": 10384.0 + }, + { + "@type": "air", + "@id": "AirLocation#188", + "id": 188, + "latitude": 15216.0, + "longitude": 11176.0 + }, + { + "@type": "air", + "@id": "AirLocation#189", + "id": 189, + "latitude": 4496.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#190", + "id": 190, + "latitude": 10064.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#191", + "id": 191, + "latitude": 15632.0, + "longitude": 9768.0 + }, + { + "@type": "air", + "@id": "AirLocation#192", + "id": 192, + "latitude": 7216.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#193", + "id": 193, + "latitude": 7360.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#194", + "id": 194, + "latitude": 7504.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#195", + "id": 195, + "latitude": 4720.0, + "longitude": 5456.0 + }, + { + "@type": "air", + "@id": "AirLocation#196", + "id": 196, + "latitude": 10384.0, + "longitude": 6908.0 + }, + { + "@type": "air", + "@id": "AirLocation#197", + "id": 197, + "latitude": 16048.0, + "longitude": 9438.0 + }, + { + "@type": "air", + "@id": "AirLocation#198", + "id": 198, + "latitude": 4784.0, + "longitude": 6490.0 + }, + { + "@type": "air", + "@id": "AirLocation#199", + "id": 199, + "latitude": 10624.0, + "longitude": 8976.0 + }, + { + "@type": "air", + "@id": "AirLocation#200", + "id": 200, + "latitude": 16464.0, + "longitude": 10472.0 + }, + { + "@type": "air", + "@id": "AirLocation#201", + "id": 201, + "latitude": 1296.0, + "longitude": 10318.0 + }, + { + "@type": "air", + "@id": "AirLocation#202", + "id": 202, + "latitude": 1344.5, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#203", + "id": 203, + "latitude": 1296.0, + "longitude": 8492.0 + }, + { + "@type": "air", + "@id": "AirLocation#204", + "id": 204, + "latitude": 1392.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#205", + "id": 205, + "latitude": 15696.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#206", + "id": 206, + "latitude": 15712.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#207", + "id": 207, + "latitude": 15728.0, + "longitude": 9834.0 + }, + { + "@type": "air", + "@id": "AirLocation#208", + "id": 208, + "latitude": 15728.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#209", + "id": 209, + "latitude": 16352.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#210", + "id": 210, + "latitude": 16976.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#211", + "id": 211, + "latitude": 11792.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#212", + "id": 212, + "latitude": 11808.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#213", + "id": 213, + "latitude": 11824.0, + "longitude": 5368.0 + }, + { + "@type": "air", + "@id": "AirLocation#214", + "id": 214, + "latitude": 11216.0, + "longitude": 8118.0 + }, + { + "@type": "air", + "@id": "AirLocation#215", + "id": 215, + "latitude": 336.0, + "longitude": 11396.0 + }, + { + "@type": "air", + "@id": "AirLocation#216", + "id": 216, + "latitude": 352.0, + "longitude": 10824.0 + }, + { + "@type": "air", + "@id": "AirLocation#217", + "id": 217, + "latitude": 368.0, + "longitude": 7414.0 + }, + { + "@type": "air", + "@id": "AirLocation#218", + "id": 218, + "latitude": 14608.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#219", + "id": 219, + "latitude": 14624.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#220", + "id": 220, + "latitude": 14640.0, + "longitude": 6402.0 + }, + { + "@type": "air", + "@id": "AirLocation#221", + "id": 221, + "latitude": 13968.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#222", + "id": 222, + "latitude": 14000.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#223", + "id": 223, + "latitude": 14032.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#224", + "id": 224, + "latitude": 10416.0, + "longitude": 6996.0 + }, + { + "@type": "air", + "@id": "AirLocation#225", + "id": 225, + "latitude": 10432.0, + "longitude": 9724.0 + }, + { + "@type": "air", + "@id": "AirLocation#226", + "id": 226, + "latitude": 10448.0, + "longitude": 10846.0 + }, + { + "@type": "air", + "@id": "AirLocation#227", + "id": 227, + "latitude": 9808.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#228", + "id": 228, + "latitude": 9840.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#229", + "id": 229, + "latitude": 9872.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#230", + "id": 230, + "latitude": 15248.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#231", + "id": 231, + "latitude": 15280.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#232", + "id": 232, + "latitude": 15312.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#233", + "id": 233, + "latitude": 13200.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#234", + "id": 234, + "latitude": 13216.0, + "longitude": 6688.0 + }, + { + "@type": "air", + "@id": "AirLocation#235", + "id": 235, + "latitude": 13232.0, + "longitude": 5478.0 + }, + { + "@type": "air", + "@id": "AirLocation#236", + "id": 236, + "latitude": 12560.0, + "longitude": 10846.0 + }, + { + "@type": "air", + "@id": "AirLocation#237", + "id": 237, + "latitude": 12592.0, + "longitude": 9724.0 + }, + { + "@type": "air", + "@id": "AirLocation#238", + "id": 238, + "latitude": 12624.0, + "longitude": 6996.0 + }, + { + "@type": "air", + "@id": "AirLocation#239", + "id": 239, + "latitude": 3920.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#240", + "id": 240, + "latitude": 3952.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#241", + "id": 241, + "latitude": 3984.0, + "longitude": 7678.0 + }, + { + "@type": "air", + "@id": "AirLocation#242", + "id": 242, + "latitude": 4016.0, + "longitude": 6644.0 + }, + { + "@type": "air", + "@id": "AirLocation#243", + "id": 243, + "latitude": 4032.0, + "longitude": 9284.0 + }, + { + "@type": "air", + "@id": "AirLocation#244", + "id": 244, + "latitude": 4048.0, + "longitude": 10626.0 + }, + { + "@type": "air", + "@id": "AirLocation#245", + "id": 245, + "latitude": 4048.0, + "longitude": 6270.0 + }, + { + "@type": "air", + "@id": "AirLocation#246", + "id": 246, + "latitude": 4208.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#247", + "id": 247, + "latitude": 4368.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#248", + "id": 248, + "latitude": 3824.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#249", + "id": 249, + "latitude": 3888.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#250", + "id": 250, + "latitude": 3952.0, + "longitude": 6270.0 + }, + { + "@type": "air", + "@id": "AirLocation#251", + "id": 251, + "latitude": 4112.0, + "longitude": 5676.0 + }, + { + "@type": "air", + "@id": "AirLocation#252", + "id": 252, + "latitude": 4416.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#253", + "id": 253, + "latitude": 4720.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#254", + "id": 254, + "latitude": 4144.0, + "longitude": 6644.0 + }, + { + "@type": "air", + "@id": "AirLocation#255", + "id": 255, + "latitude": 4464.0, + "longitude": 9284.0 + }, + { + "@type": "air", + "@id": "AirLocation#256", + "id": 256, + "latitude": 4784.0, + "longitude": 10626.0 + }, + { + "@type": "air", + "@id": "AirLocation#257", + "id": 257, + "latitude": 4176.0, + "longitude": 4906.0 + }, + { + "@type": "air", + "@id": "AirLocation#258", + "id": 258, + "latitude": 4560.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#259", + "id": 259, + "latitude": 4944.0, + "longitude": 8888.0 + }, + { + "@type": "air", + "@id": "AirLocation#260", + "id": 260, + "latitude": 4208.0, + "longitude": 5016.0 + }, + { + "@type": "air", + "@id": "AirLocation#261", + "id": 261, + "latitude": 4608.0, + "longitude": 6028.0 + }, + { + "@type": "air", + "@id": "AirLocation#262", + "id": 262, + "latitude": 5008.0, + "longitude": 8998.0 + }, + { + "@type": "air", + "@id": "AirLocation#263", + "id": 263, + "latitude": 528.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#264", + "id": 264, + "latitude": 1584.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#265", + "id": 265, + "latitude": 2640.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#266", + "id": 266, + "latitude": 12112.0, + "longitude": 4466.0 + }, + { + "@type": "air", + "@id": "AirLocation#267", + "id": 267, + "latitude": 14752.0, + "longitude": 4664.0 + }, + { + "@type": "air", + "@id": "AirLocation#268", + "id": 268, + "latitude": 17392.0, + "longitude": 4158.0 + }, + { + "@type": "air", + "@id": "AirLocation#269", + "id": 269, + "latitude": 17392.0, + "longitude": 8118.0 + }, + { + "@type": "air", + "@id": "AirLocation#270", + "id": 270, + "latitude": 17456.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#271", + "id": 271, + "latitude": 17392.0, + "longitude": 4510.0 + }, + { + "@type": "air", + "@id": "AirLocation#272", + "id": 272, + "latitude": 17520.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#273", + "id": 273, + "latitude": 10800.0, + "longitude": 7106.0 + }, + { + "@type": "air", + "@id": "AirLocation#274", + "id": 274, + "latitude": 10864.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#275", + "id": 275, + "latitude": 10928.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#276", + "id": 276, + "latitude": 10704.0, + "longitude": 5478.0 + }, + { + "@type": "air", + "@id": "AirLocation#277", + "id": 277, + "latitude": 10720.0, + "longitude": 6688.0 + }, + { + "@type": "air", + "@id": "AirLocation#278", + "id": 278, + "latitude": 10736.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#279", + "id": 279, + "latitude": 16688.0, + "longitude": 6226.0 + }, + { + "@type": "air", + "@id": "AirLocation#280", + "id": 280, + "latitude": 16928.0, + "longitude": 8448.0 + }, + { + "@type": "air", + "@id": "AirLocation#281", + "id": 281, + "latitude": 17168.0, + "longitude": 10208.0 + }, + { + "@type": "air", + "@id": "AirLocation#282", + "id": 282, + "latitude": 13520.0, + "longitude": 4576.0 + }, + { + "@type": "air", + "@id": "AirLocation#283", + "id": 283, + "latitude": 15776.0, + "longitude": 4884.0 + }, + { + "@type": "air", + "@id": "AirLocation#284", + "id": 284, + "latitude": 18032.0, + "longitude": 8426.0 + }, + { + "@type": "air", + "@id": "AirLocation#285", + "id": 285, + "latitude": 18063.5, + "longitude": 4884.0 + }, + { + "@type": "air", + "@id": "AirLocation#286", + "id": 286, + "latitude": 18096.0, + "longitude": 4268.0 + }, + { + "@type": "air", + "@id": "AirLocation#287", + "id": 287, + "latitude": 18096.0, + "longitude": 4708.0 + }, + { + "@type": "air", + "@id": "AirLocation#288", + "id": 288, + "latitude": 10928.0, + "longitude": 6732.0 + }, + { + "@type": "air", + "@id": "AirLocation#289", + "id": 289, + "latitude": 13680.0, + "longitude": 9196.0 + }, + { + "@type": "air", + "@id": "AirLocation#290", + "id": 290, + "latitude": 16432.0, + "longitude": 8382.0 + }, + { + "@type": "air", + "@id": "AirLocation#291", + "id": 291, + "latitude": 16736.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#292", + "id": 292, + "latitude": 16432.0, + "longitude": 10582.0 + }, + { + "@type": "air", + "@id": "AirLocation#293", + "id": 293, + "latitude": 17040.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#294", + "id": 294, + "latitude": 9424.0, + "longitude": 4928.0 + }, + { + "@type": "air", + "@id": "AirLocation#295", + "id": 295, + "latitude": 9472.0, + "longitude": 5588.0 + }, + { + "@type": "air", + "@id": "AirLocation#296", + "id": 296, + "latitude": 9520.0, + "longitude": 8778.0 + }, + { + "@type": "air", + "@id": "AirLocation#297", + "id": 297, + "latitude": 10256.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#298", + "id": 298, + "latitude": 10464.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#299", + "id": 299, + "latitude": 10672.0, + "longitude": 7106.0 + }, + { + "@type": "air", + "@id": "AirLocation#300", + "id": 300, + "latitude": 13744.0, + "longitude": 4686.0 + }, + { + "@type": "air", + "@id": "AirLocation#301", + "id": 301, + "latitude": 16091.5, + "longitude": 5104.0 + }, + { + "@type": "air", + "@id": "AirLocation#302", + "id": 302, + "latitude": 18448.0, + "longitude": 4378.0 + }, + { + "@type": "air", + "@id": "AirLocation#303", + "id": 303, + "latitude": 18448.0, + "longitude": 4928.0 + }, + { + "@type": "air", + "@id": "AirLocation#304", + "id": 304, + "latitude": 18512.5, + "longitude": 5104.0 + }, + { + "@type": "air", + "@id": "AirLocation#305", + "id": 305, + "latitude": 18576.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#306", + "id": 306, + "latitude": 656.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#307", + "id": 307, + "latitude": 816.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#308", + "id": 308, + "latitude": 976.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#309", + "id": 309, + "latitude": 976.0, + "longitude": 4752.0 + }, + { + "@type": "air", + "@id": "AirLocation#310", + "id": 310, + "latitude": 992.5, + "longitude": 4928.0 + }, + { + "@type": "air", + "@id": "AirLocation#311", + "id": 311, + "latitude": 1008.0, + "longitude": 8448.0 + }, + { + "@type": "air", + "@id": "AirLocation#312", + "id": 312, + "latitude": 1072.0, + "longitude": 4928.0 + }, + { + "@type": "air", + "@id": "AirLocation#313", + "id": 313, + "latitude": 1136.0, + "longitude": 4466.0 + }, + { + "@type": "air", + "@id": "AirLocation#314", + "id": 314, + "latitude": 12176.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#315", + "id": 315, + "latitude": 12208.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#316", + "id": 316, + "latitude": 12240.0, + "longitude": 5368.0 + }, + { + "@type": "air", + "@id": "AirLocation#317", + "id": 317, + "latitude": 18800.0, + "longitude": 7986.0 + }, + { + "@type": "air", + "@id": "AirLocation#318", + "id": 318, + "latitude": 14800.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#319", + "id": 319, + "latitude": 14864.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#320", + "id": 320, + "latitude": 14928.0, + "longitude": 5808.0 + }, + { + "@type": "air", + "@id": "AirLocation#321", + "id": 321, + "latitude": 9520.0, + "longitude": 4554.0 + }, + { + "@type": "air", + "@id": "AirLocation#322", + "id": 322, + "latitude": 9616.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#323", + "id": 323, + "latitude": 9712.0, + "longitude": 8404.0 + }, + { + "@type": "air", + "@id": "AirLocation#324", + "id": 324, + "latitude": 16336.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#325", + "id": 325, + "latitude": 16352.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#326", + "id": 326, + "latitude": 16368.0, + "longitude": 9768.0 + }, + { + "@type": "air", + "@id": "AirLocation#327", + "id": 327, + "latitude": 10832.0, + "longitude": 5258.0 + }, + { + "@type": "air", + "@id": "AirLocation#328", + "id": 328, + "latitude": 11184.0, + "longitude": 6248.0 + }, + { + "@type": "air", + "@id": "AirLocation#329", + "id": 329, + "latitude": 11536.0, + "longitude": 9108.0 + }, + { + "@type": "air", + "@id": "AirLocation#330", + "id": 330, + "latitude": 12208.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#331", + "id": 331, + "latitude": 12240.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#332", + "id": 332, + "latitude": 12272.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#333", + "id": 333, + "latitude": 12336.0, + "longitude": 4906.0 + }, + { + "@type": "air", + "@id": "AirLocation#334", + "id": 334, + "latitude": 15040.0, + "longitude": 5544.0 + }, + { + "@type": "air", + "@id": "AirLocation#335", + "id": 335, + "latitude": 17744.0, + "longitude": 4774.0 + }, + { + "@type": "air", + "@id": "AirLocation#336", + "id": 336, + "latitude": 17920.0, + "longitude": 5544.0 + }, + { + "@type": "air", + "@id": "AirLocation#337", + "id": 337, + "latitude": 18096.0, + "longitude": 8756.0 + }, + { + "@type": "air", + "@id": "AirLocation#338", + "id": 338, + "latitude": 12688.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#339", + "id": 339, + "latitude": 13168.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#340", + "id": 340, + "latitude": 13648.0, + "longitude": 5368.0 + }, + { + "@type": "air", + "@id": "AirLocation#341", + "id": 341, + "latitude": 12880.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#342", + "id": 342, + "latitude": 13248.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#343", + "id": 343, + "latitude": 13616.0, + "longitude": 5698.0 + }, + { + "@type": "air", + "@id": "AirLocation#344", + "id": 344, + "latitude": 14672.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#345", + "id": 345, + "latitude": 14848.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#346", + "id": 346, + "latitude": 15024.0, + "longitude": 6402.0 + }, + { + "@type": "air", + "@id": "AirLocation#347", + "id": 347, + "latitude": 5808.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#348", + "id": 348, + "latitude": 5808.0, + "longitude": 8074.0 + }, + { + "@type": "air", + "@id": "AirLocation#349", + "id": 349, + "latitude": 5840.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#350", + "id": 350, + "latitude": 5872.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#351", + "id": 351, + "latitude": 3472.0, + "longitude": 9768.0 + }, + { + "@type": "air", + "@id": "AirLocation#352", + "id": 352, + "latitude": 3664.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#353", + "id": 353, + "latitude": 3856.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#354", + "id": 354, + "latitude": 336.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#355", + "id": 355, + "latitude": 624.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#356", + "id": 356, + "latitude": 912.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#357", + "id": 357, + "latitude": 11344.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#358", + "id": 358, + "latitude": 12944.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#359", + "id": 359, + "latitude": 14544.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#360", + "id": 360, + "latitude": 17872.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#361", + "id": 361, + "latitude": 17904.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#362", + "id": 362, + "latitude": 17936.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#363", + "id": 363, + "latitude": 368.0, + "longitude": 11550.0 + }, + { + "@type": "air", + "@id": "AirLocation#364", + "id": 364, + "latitude": 416.0, + "longitude": 11132.0 + }, + { + "@type": "air", + "@id": "AirLocation#365", + "id": 365, + "latitude": 464.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#366", + "id": 366, + "latitude": 17520.0, + "longitude": 7634.0 + }, + { + "@type": "air", + "@id": "AirLocation#367", + "id": 367, + "latitude": 17568.0, + "longitude": 11264.0 + }, + { + "@type": "air", + "@id": "AirLocation#368", + "id": 368, + "latitude": 17616.0, + "longitude": 11616.0 + }, + { + "@type": "air", + "@id": "AirLocation#369", + "id": 369, + "latitude": 4688.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#370", + "id": 370, + "latitude": 5904.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#371", + "id": 371, + "latitude": 7120.0, + "longitude": 8404.0 + }, + { + "@type": "air", + "@id": "AirLocation#372", + "id": 372, + "latitude": 1744.0, + "longitude": 4532.0 + }, + { + "@type": "air", + "@id": "AirLocation#373", + "id": 373, + "latitude": 3424.0, + "longitude": 5060.0 + }, + { + "@type": "air", + "@id": "AirLocation#374", + "id": 374, + "latitude": 5104.0, + "longitude": 4532.0 + }, + { + "@type": "air", + "@id": "AirLocation#375", + "id": 375, + "latitude": 3792.0, + "longitude": 8734.0 + }, + { + "@type": "air", + "@id": "AirLocation#376", + "id": 376, + "latitude": 5552.0, + "longitude": 5500.0 + }, + { + "@type": "air", + "@id": "AirLocation#377", + "id": 377, + "latitude": 7312.0, + "longitude": 8734.0 + }, + { + "@type": "air", + "@id": "AirLocation#378", + "id": 378, + "latitude": 17168.0, + "longitude": 6072.0 + }, + { + "@type": "air", + "@id": "AirLocation#379", + "id": 379, + "latitude": 17200.0, + "longitude": 8140.0 + }, + { + "@type": "air", + "@id": "AirLocation#380", + "id": 380, + "latitude": 17232.0, + "longitude": 10054.0 + }, + { + "@type": "air", + "@id": "AirLocation#381", + "id": 381, + "latitude": 3504.0, + "longitude": 6754.0 + }, + { + "@type": "air", + "@id": "AirLocation#382", + "id": 382, + "latitude": 4832.0, + "longitude": 9504.0 + }, + { + "@type": "air", + "@id": "AirLocation#383", + "id": 383, + "latitude": 6160.0, + "longitude": 10736.0 + }, + { + "@type": "air", + "@id": "AirLocation#384", + "id": 384, + "latitude": 1936.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#385", + "id": 385, + "latitude": 3264.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#386", + "id": 386, + "latitude": 4592.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#387", + "id": 387, + "latitude": 6064.0, + "longitude": 8514.0 + }, + { + "@type": "air", + "@id": "AirLocation#388", + "id": 388, + "latitude": 7856.0, + "longitude": 5060.0 + }, + { + "@type": "air", + "@id": "AirLocation#389", + "id": 389, + "latitude": 9648.0, + "longitude": 8514.0 + }, + { + "@type": "air", + "@id": "AirLocation#390", + "id": 390, + "latitude": 16816.0, + "longitude": 6116.0 + }, + { + "@type": "air", + "@id": "AirLocation#391", + "id": 391, + "latitude": 16848.0, + "longitude": 8228.0 + }, + { + "@type": "air", + "@id": "AirLocation#392", + "id": 392, + "latitude": 16880.0, + "longitude": 10098.0 + }, + { + "@type": "air", + "@id": "AirLocation#393", + "id": 393, + "latitude": 15792.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#394", + "id": 394, + "latitude": 16256.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#395", + "id": 395, + "latitude": 16720.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#396", + "id": 396, + "latitude": 2352.0, + "longitude": 6380.0 + }, + { + "@type": "air", + "@id": "AirLocation#397", + "id": 397, + "latitude": 3808.0, + "longitude": 8756.0 + }, + { + "@type": "air", + "@id": "AirLocation#398", + "id": 398, + "latitude": 5264.0, + "longitude": 10362.0 + }, + { + "@type": "air", + "@id": "AirLocation#399", + "id": 399, + "latitude": 16464.0, + "longitude": 6336.0 + }, + { + "@type": "air", + "@id": "AirLocation#400", + "id": 400, + "latitude": 16736.0, + "longitude": 8668.0 + }, + { + "@type": "air", + "@id": "AirLocation#401", + "id": 401, + "latitude": 17008.0, + "longitude": 10318.0 + }, + { + "@type": "air", + "@id": "AirLocation#402", + "id": 402, + "latitude": 16112.0, + "longitude": 5786.0 + }, + { + "@type": "air", + "@id": "AirLocation#403", + "id": 403, + "latitude": 16192.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#404", + "id": 404, + "latitude": 16272.0, + "longitude": 9768.0 + }, + { + "@type": "air", + "@id": "AirLocation#405", + "id": 405, + "latitude": 9168.0, + "longitude": 7986.0 + }, + { + "@type": "air", + "@id": "AirLocation#406", + "id": 406, + "latitude": 13360.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#407", + "id": 407, + "latitude": 14736.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#408", + "id": 408, + "latitude": 16112.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#409", + "id": 409, + "latitude": 2928.0, + "longitude": 7084.0 + }, + { + "@type": "air", + "@id": "AirLocation#410", + "id": 410, + "latitude": 4944.0, + "longitude": 10164.0 + }, + { + "@type": "air", + "@id": "AirLocation#411", + "id": 411, + "latitude": 6960.0, + "longitude": 11066.0 + }, + { + "@type": "air", + "@id": "AirLocation#412", + "id": 412, + "latitude": 1776.0, + "longitude": 6974.0 + }, + { + "@type": "air", + "@id": "AirLocation#413", + "id": 413, + "latitude": 4144.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#414", + "id": 414, + "latitude": 6512.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#415", + "id": 415, + "latitude": 4144.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#416", + "id": 416, + "latitude": 6976.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#417", + "id": 417, + "latitude": 9808.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#418", + "id": 418, + "latitude": 4816.0, + "longitude": 5566.0 + }, + { + "@type": "air", + "@id": "AirLocation#419", + "id": 419, + "latitude": 7216.0, + "longitude": 7128.0 + }, + { + "@type": "air", + "@id": "AirLocation#420", + "id": 420, + "latitude": 9616.0, + "longitude": 9548.0 + }, + { + "@type": "air", + "@id": "AirLocation#421", + "id": 421, + "latitude": 3824.0, + "longitude": 5896.0 + }, + { + "@type": "air", + "@id": "AirLocation#422", + "id": 422, + "latitude": 6240.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#423", + "id": 423, + "latitude": 8656.0, + "longitude": 9878.0 + }, + { + "@type": "air", + "@id": "AirLocation#424", + "id": 424, + "latitude": 9264.0, + "longitude": 5896.0 + }, + { + "@type": "air", + "@id": "AirLocation#425", + "id": 425, + "latitude": 12240.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#426", + "id": 426, + "latitude": 15216.0, + "longitude": 6028.0 + }, + { + "@type": "air", + "@id": "AirLocation#427", + "id": 427, + "latitude": 9104.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#428", + "id": 428, + "latitude": 9152.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#429", + "id": 429, + "latitude": 9200.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#430", + "id": 430, + "latitude": 9200.0, + "longitude": 4290.0 + }, + { + "@type": "air", + "@id": "AirLocation#431", + "id": 431, + "latitude": 12160.5, + "longitude": 4444.0 + }, + { + "@type": "air", + "@id": "AirLocation#432", + "id": 432, + "latitude": 15120.0, + "longitude": 4356.0 + }, + { + "@type": "air", + "@id": "AirLocation#433", + "id": 433, + "latitude": 9072.0, + "longitude": 6974.0 + }, + { + "@type": "air", + "@id": "AirLocation#434", + "id": 434, + "latitude": 9200.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#435", + "id": 435, + "latitude": 9328.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#436", + "id": 436, + "latitude": 2672.0, + "longitude": 7414.0 + }, + { + "@type": "air", + "@id": "AirLocation#437", + "id": 437, + "latitude": 5216.0, + "longitude": 10824.0 + }, + { + "@type": "air", + "@id": "AirLocation#438", + "id": 438, + "latitude": 7760.0, + "longitude": 11396.0 + }, + { + "@type": "air", + "@id": "AirLocation#439", + "id": 439, + "latitude": 6000.0, + "longitude": 7568.0 + }, + { + "@type": "air", + "@id": "AirLocation#440", + "id": 440, + "latitude": 8816.0, + "longitude": 11132.0 + }, + { + "@type": "air", + "@id": "AirLocation#441", + "id": 441, + "latitude": 11632.0, + "longitude": 11550.0 + }, + { + "@type": "air", + "@id": "AirLocation#442", + "id": 442, + "latitude": 6032.0, + "longitude": 5016.0 + }, + { + "@type": "air", + "@id": "AirLocation#443", + "id": 443, + "latitude": 8944.0, + "longitude": 6028.0 + }, + { + "@type": "air", + "@id": "AirLocation#444", + "id": 444, + "latitude": 11856.0, + "longitude": 8998.0 + }, + { + "@type": "air", + "@id": "AirLocation#445", + "id": 445, + "latitude": 4880.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#446", + "id": 446, + "latitude": 7792.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#447", + "id": 447, + "latitude": 10704.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#448", + "id": 448, + "latitude": 5456.0, + "longitude": 5236.0 + }, + { + "@type": "air", + "@id": "AirLocation#449", + "id": 449, + "latitude": 8368.0, + "longitude": 6468.0 + }, + { + "@type": "air", + "@id": "AirLocation#450", + "id": 450, + "latitude": 11280.0, + "longitude": 9218.0 + }, + { + "@type": "air", + "@id": "AirLocation#451", + "id": 451, + "latitude": 5168.0, + "longitude": 5676.0 + }, + { + "@type": "air", + "@id": "AirLocation#452", + "id": 452, + "latitude": 8080.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#453", + "id": 453, + "latitude": 10992.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#454", + "id": 454, + "latitude": 4592.0, + "longitude": 7304.0 + }, + { + "@type": "air", + "@id": "AirLocation#455", + "id": 455, + "latitude": 7504.0, + "longitude": 10604.0 + }, + { + "@type": "air", + "@id": "AirLocation#456", + "id": 456, + "latitude": 10416.0, + "longitude": 11286.0 + }, + { + "@type": "air", + "@id": "AirLocation#457", + "id": 457, + "latitude": 4912.0, + "longitude": 6644.0 + }, + { + "@type": "air", + "@id": "AirLocation#458", + "id": 458, + "latitude": 7888.0, + "longitude": 9284.0 + }, + { + "@type": "air", + "@id": "AirLocation#459", + "id": 459, + "latitude": 10864.0, + "longitude": 10626.0 + }, + { + "@type": "air", + "@id": "AirLocation#460", + "id": 460, + "latitude": 4336.0, + "longitude": 6864.0 + }, + { + "@type": "air", + "@id": "AirLocation#461", + "id": 461, + "latitude": 7312.0, + "longitude": 9724.0 + }, + { + "@type": "air", + "@id": "AirLocation#462", + "id": 462, + "latitude": 10288.0, + "longitude": 10846.0 + }, + { + "@type": "air", + "@id": "AirLocation#463", + "id": 463, + "latitude": 4624.0, + "longitude": 5346.0 + }, + { + "@type": "air", + "@id": "AirLocation#464", + "id": 464, + "latitude": 7600.0, + "longitude": 6688.0 + }, + { + "@type": "air", + "@id": "AirLocation#465", + "id": 465, + "latitude": 10576.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#466", + "id": 466, + "latitude": 5200.0, + "longitude": 6270.0 + }, + { + "@type": "air", + "@id": "AirLocation#467", + "id": 467, + "latitude": 8176.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#468", + "id": 468, + "latitude": 11152.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#469", + "id": 469, + "latitude": 3248.0, + "longitude": 5126.0 + }, + { + "@type": "air", + "@id": "AirLocation#470", + "id": 470, + "latitude": 6352.0, + "longitude": 6248.0 + }, + { + "@type": "air", + "@id": "AirLocation#471", + "id": 471, + "latitude": 9456.0, + "longitude": 9108.0 + }, + { + "@type": "air", + "@id": "AirLocation#472", + "id": 472, + "latitude": 7920.0, + "longitude": 7084.0 + }, + { + "@type": "air", + "@id": "AirLocation#473", + "id": 473, + "latitude": 11424.0, + "longitude": 10164.0 + }, + { + "@type": "air", + "@id": "AirLocation#474", + "id": 474, + "latitude": 14928.0, + "longitude": 11066.0 + }, + { + "@type": "air", + "@id": "AirLocation#475", + "id": 475, + "latitude": 2096.0, + "longitude": 7898.0 + }, + { + "@type": "air", + "@id": "AirLocation#476", + "id": 476, + "latitude": 5552.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#477", + "id": 477, + "latitude": 9008.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#478", + "id": 478, + "latitude": 8176.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#479", + "id": 479, + "latitude": 11760.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#480", + "id": 480, + "latitude": 15344.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#481", + "id": 481, + "latitude": 9232.0, + "longitude": 4334.0 + }, + { + "@type": "air", + "@id": "AirLocation#482", + "id": 482, + "latitude": 9280.0, + "longitude": 4664.0 + }, + { + "@type": "air", + "@id": "AirLocation#483", + "id": 483, + "latitude": 9328.0, + "longitude": 4466.0 + }, + { + "@type": "air", + "@id": "AirLocation#484", + "id": 484, + "latitude": 9328.0, + "longitude": 4994.0 + }, + { + "@type": "air", + "@id": "AirLocation#485", + "id": 485, + "latitude": 12992.0, + "longitude": 5324.0 + }, + { + "@type": "air", + "@id": "AirLocation#486", + "id": 486, + "latitude": 16656.0, + "longitude": 8646.0 + }, + { + "@type": "air", + "@id": "AirLocation#487", + "id": 487, + "latitude": 9136.0, + "longitude": 7898.0 + }, + { + "@type": "air", + "@id": "AirLocation#488", + "id": 488, + "latitude": 12848.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#489", + "id": 489, + "latitude": 16560.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#490", + "id": 490, + "latitude": 16592.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#491", + "id": 491, + "latitude": 16624.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#492", + "id": 492, + "latitude": 8208.0, + "longitude": 6380.0 + }, + { + "@type": "air", + "@id": "AirLocation#493", + "id": 493, + "latitude": 11984.0, + "longitude": 8756.0 + }, + { + "@type": "air", + "@id": "AirLocation#494", + "id": 494, + "latitude": 15760.0, + "longitude": 10362.0 + }, + { + "@type": "air", + "@id": "AirLocation#495", + "id": 495, + "latitude": 8464.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#496", + "id": 496, + "latitude": 12320.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#497", + "id": 497, + "latitude": 16176.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#498", + "id": 498, + "latitude": 3632.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#499", + "id": 499, + "latitude": 3664.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#500", + "id": 500, + "latitude": 3696.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#501", + "id": 501, + "latitude": 4272.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#502", + "id": 502, + "latitude": 4320.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#503", + "id": 503, + "latitude": 4368.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#504", + "id": 504, + "latitude": 2480.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#505", + "id": 505, + "latitude": 2512.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#506", + "id": 506, + "latitude": 2544.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#507", + "id": 507, + "latitude": 5136.0, + "longitude": 9988.0 + }, + { + "@type": "air", + "@id": "AirLocation#508", + "id": 508, + "latitude": 5200.0, + "longitude": 8008.0 + }, + { + "@type": "air", + "@id": "AirLocation#509", + "id": 509, + "latitude": 5264.0, + "longitude": 6006.0 + }, + { + "@type": "air", + "@id": "AirLocation#510", + "id": 510, + "latitude": 6608.0, + "longitude": 6974.0 + }, + { + "@type": "air", + "@id": "AirLocation#511", + "id": 511, + "latitude": 6640.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#512", + "id": 512, + "latitude": 6672.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#513", + "id": 513, + "latitude": 3120.0, + "longitude": 5940.0 + }, + { + "@type": "air", + "@id": "AirLocation#514", + "id": 514, + "latitude": 3184.0, + "longitude": 7876.0 + }, + { + "@type": "air", + "@id": "AirLocation#515", + "id": 515, + "latitude": 3248.0, + "longitude": 9922.0 + }, + { + "@type": "air", + "@id": "AirLocation#516", + "id": 516, + "latitude": 7376.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#517", + "id": 517, + "latitude": 7392.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#518", + "id": 518, + "latitude": 7408.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#519", + "id": 519, + "latitude": 6128.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#520", + "id": 520, + "latitude": 6192.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#521", + "id": 521, + "latitude": 6256.0, + "longitude": 8074.0 + }, + { + "@type": "air", + "@id": "AirLocation#522", + "id": 522, + "latitude": 6992.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#523", + "id": 523, + "latitude": 7024.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#524", + "id": 524, + "latitude": 7056.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#525", + "id": 525, + "latitude": 15888.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#526", + "id": 526, + "latitude": 15920.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#527", + "id": 527, + "latitude": 15952.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#528", + "id": 528, + "latitude": 5904.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#529", + "id": 529, + "latitude": 5936.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#530", + "id": 530, + "latitude": 5968.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#531", + "id": 531, + "latitude": 688.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#532", + "id": 532, + "latitude": 768.0, + "longitude": 4840.0 + }, + { + "@type": "air", + "@id": "AirLocation#533", + "id": 533, + "latitude": 848.0, + "longitude": 4422.0 + }, + { + "@type": "air", + "@id": "AirLocation#534", + "id": 534, + "latitude": 240.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#535", + "id": 535, + "latitude": 352.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#536", + "id": 536, + "latitude": 464.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#537", + "id": 537, + "latitude": 496.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#538", + "id": 538, + "latitude": 624.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#539", + "id": 539, + "latitude": 752.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#540", + "id": 540, + "latitude": 1296.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#541", + "id": 541, + "latitude": 1456.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#542", + "id": 542, + "latitude": 1616.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#543", + "id": 543, + "latitude": 784.0, + "longitude": 4532.0 + }, + { + "@type": "air", + "@id": "AirLocation#544", + "id": 544, + "latitude": 864.0, + "longitude": 5060.0 + }, + { + "@type": "air", + "@id": "AirLocation#545", + "id": 545, + "latitude": 944.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#546", + "id": 546, + "latitude": 944.0, + "longitude": 4730.0 + }, + { + "@type": "air", + "@id": "AirLocation#547", + "id": 547, + "latitude": 1056.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#548", + "id": 548, + "latitude": 1168.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#549", + "id": 549, + "latitude": 16912.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#550", + "id": 550, + "latitude": 17120.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#551", + "id": 551, + "latitude": 17328.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#552", + "id": 552, + "latitude": 7472.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#553", + "id": 553, + "latitude": 7840.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#554", + "id": 554, + "latitude": 8208.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#555", + "id": 555, + "latitude": 1104.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#556", + "id": 556, + "latitude": 1184.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#557", + "id": 557, + "latitude": 1264.0, + "longitude": 7898.0 + }, + { + "@type": "air", + "@id": "AirLocation#558", + "id": 558, + "latitude": 1072.0, + "longitude": 11748.0 + }, + { + "@type": "air", + "@id": "AirLocation#559", + "id": 559, + "latitude": 1152.5, + "longitude": 11176.0 + }, + { + "@type": "air", + "@id": "AirLocation#560", + "id": 560, + "latitude": 1072.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#561", + "id": 561, + "latitude": 1232.0, + "longitude": 7590.0 + }, + { + "@type": "air", + "@id": "AirLocation#562", + "id": 562, + "latitude": 848.0, + "longitude": 11880.0 + }, + { + "@type": "air", + "@id": "AirLocation#563", + "id": 563, + "latitude": 944.0, + "longitude": 11792.0 + }, + { + "@type": "air", + "@id": "AirLocation#564", + "id": 564, + "latitude": 1040.0, + "longitude": 7898.0 + }, + { + "@type": "air", + "@id": "AirLocation#565", + "id": 565, + "latitude": 272.0, + "longitude": 11176.0 + }, + { + "@type": "air", + "@id": "AirLocation#566", + "id": 566, + "latitude": 384.0, + "longitude": 10384.0 + }, + { + "@type": "air", + "@id": "AirLocation#567", + "id": 567, + "latitude": 496.0, + "longitude": 7194.0 + }, + { + "@type": "air", + "@id": "AirLocation#568", + "id": 568, + "latitude": 304.0, + "longitude": 11286.0 + }, + { + "@type": "air", + "@id": "AirLocation#569", + "id": 569, + "latitude": 464.0, + "longitude": 10604.0 + }, + { + "@type": "air", + "@id": "AirLocation#570", + "id": 570, + "latitude": 624.0, + "longitude": 7304.0 + }, + { + "@type": "air", + "@id": "AirLocation#571", + "id": 571, + "latitude": 8560.0, + "longitude": 11440.0 + }, + { + "@type": "air", + "@id": "AirLocation#572", + "id": 572, + "latitude": 9264.0, + "longitude": 10912.0 + }, + { + "@type": "air", + "@id": "AirLocation#573", + "id": 573, + "latitude": 9968.0, + "longitude": 11440.0 + }, + { + "@type": "air", + "@id": "AirLocation#574", + "id": 574, + "latitude": 5712.0, + "longitude": 9988.0 + }, + { + "@type": "air", + "@id": "AirLocation#575", + "id": 575, + "latitude": 6432.0, + "longitude": 8008.0 + }, + { + "@type": "air", + "@id": "AirLocation#576", + "id": 576, + "latitude": 7152.0, + "longitude": 9988.0 + }, + { + "@type": "air", + "@id": "AirLocation#577", + "id": 577, + "latitude": 3664.0, + "longitude": 6534.0 + }, + { + "@type": "air", + "@id": "AirLocation#578", + "id": 578, + "latitude": 3952.0, + "longitude": 9064.0 + }, + { + "@type": "air", + "@id": "AirLocation#579", + "id": 579, + "latitude": 4240.0, + "longitude": 10516.0 + }, + { + "@type": "air", + "@id": "AirLocation#580", + "id": 580, + "latitude": 3472.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#581", + "id": 581, + "latitude": 4224.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#582", + "id": 582, + "latitude": 4976.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#583", + "id": 583, + "latitude": 5008.0, + "longitude": 4862.0 + }, + { + "@type": "air", + "@id": "AirLocation#584", + "id": 584, + "latitude": 5760.0, + "longitude": 5720.0 + }, + { + "@type": "air", + "@id": "AirLocation#585", + "id": 585, + "latitude": 6512.0, + "longitude": 4862.0 + }, + { + "@type": "air", + "@id": "AirLocation#586", + "id": 586, + "latitude": 7472.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#587", + "id": 587, + "latitude": 8256.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#588", + "id": 588, + "latitude": 9040.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#589", + "id": 589, + "latitude": 7056.0, + "longitude": 4642.0 + }, + { + "@type": "air", + "@id": "AirLocation#590", + "id": 590, + "latitude": 7920.0, + "longitude": 5280.0 + }, + { + "@type": "air", + "@id": "AirLocation#591", + "id": 591, + "latitude": 8784.0, + "longitude": 4642.0 + }, + { + "@type": "air", + "@id": "AirLocation#592", + "id": 592, + "latitude": 2512.0, + "longitude": 5720.0 + }, + { + "@type": "air", + "@id": "AirLocation#593", + "id": 593, + "latitude": 2928.0, + "longitude": 7436.0 + }, + { + "@type": "air", + "@id": "AirLocation#594", + "id": 594, + "latitude": 3344.0, + "longitude": 9702.0 + }, + { + "@type": "air", + "@id": "AirLocation#595", + "id": 595, + "latitude": 10224.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#596", + "id": 596, + "latitude": 11152.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#597", + "id": 597, + "latitude": 12080.0, + "longitude": 11660.0 + }, + { + "@type": "air", + "@id": "AirLocation#598", + "id": 598, + "latitude": 5072.0, + "longitude": 6116.0 + }, + { + "@type": "air", + "@id": "AirLocation#599", + "id": 599, + "latitude": 6000.0, + "longitude": 8228.0 + }, + { + "@type": "air", + "@id": "AirLocation#600", + "id": 600, + "latitude": 6928.0, + "longitude": 6116.0 + }, + { + "@type": "air", + "@id": "AirLocation#601", + "id": 601, + "latitude": 10480.0, + "longitude": 11440.0 + }, + { + "@type": "air", + "@id": "AirLocation#602", + "id": 602, + "latitude": 11456.0, + "longitude": 10912.0 + }, + { + "@type": "air", + "@id": "AirLocation#603", + "id": 603, + "latitude": 12432.0, + "longitude": 11440.0 + }, + { + "@type": "air", + "@id": "AirLocation#604", + "id": 604, + "latitude": 5296.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#605", + "id": 605, + "latitude": 6320.0, + "longitude": 4400.0 + }, + { + "@type": "air", + "@id": "AirLocation#606", + "id": 606, + "latitude": 7344.0, + "longitude": 4202.0 + }, + { + "@type": "air", + "@id": "AirLocation#607", + "id": 607, + "latitude": 2320.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#608", + "id": 608, + "latitude": 3360.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#609", + "id": 609, + "latitude": 4400.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#610", + "id": 610, + "latitude": 6640.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#611", + "id": 611, + "latitude": 7696.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#612", + "id": 612, + "latitude": 8752.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#613", + "id": 613, + "latitude": 10512.0, + "longitude": 11330.0 + }, + { + "@type": "air", + "@id": "AirLocation#614", + "id": 614, + "latitude": 11648.0, + "longitude": 10692.0 + }, + { + "@type": "air", + "@id": "AirLocation#615", + "id": 615, + "latitude": 12784.0, + "longitude": 11330.0 + }, + { + "@type": "air", + "@id": "AirLocation#616", + "id": 616, + "latitude": 6224.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#617", + "id": 617, + "latitude": 7360.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#618", + "id": 618, + "latitude": 8496.0, + "longitude": 4312.0 + }, + { + "@type": "air", + "@id": "AirLocation#619", + "id": 619, + "latitude": 10768.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#620", + "id": 620, + "latitude": 11952.0, + "longitude": 6688.0 + }, + { + "@type": "air", + "@id": "AirLocation#621", + "id": 621, + "latitude": 13136.0, + "longitude": 9328.0 + }, + { + "@type": "air", + "@id": "AirLocation#622", + "id": 622, + "latitude": 15344.0, + "longitude": 5896.0 + }, + { + "@type": "air", + "@id": "AirLocation#623", + "id": 623, + "latitude": 16144.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#624", + "id": 624, + "latitude": 16944.0, + "longitude": 9878.0 + }, + { + "@type": "air", + "@id": "AirLocation#625", + "id": 625, + "latitude": 5360.0, + "longitude": 6380.0 + }, + { + "@type": "air", + "@id": "AirLocation#626", + "id": 626, + "latitude": 6560.0, + "longitude": 8756.0 + }, + { + "@type": "air", + "@id": "AirLocation#627", + "id": 627, + "latitude": 7760.0, + "longitude": 6380.0 + }, + { + "@type": "air", + "@id": "AirLocation#628", + "id": 628, + "latitude": 1520.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#629", + "id": 629, + "latitude": 2272.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#630", + "id": 630, + "latitude": 3024.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#631", + "id": 631, + "latitude": 1328.0, + "longitude": 6270.0 + }, + { + "@type": "air", + "@id": "AirLocation#632", + "id": 632, + "latitude": 2112.0, + "longitude": 8536.0 + }, + { + "@type": "air", + "@id": "AirLocation#633", + "id": 633, + "latitude": 2896.0, + "longitude": 10252.0 + }, + { + "@type": "air", + "@id": "AirLocation#634", + "id": 634, + "latitude": 2896.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#635", + "id": 635, + "latitude": 4144.0, + "longitude": 4180.0 + }, + { + "@type": "air", + "@id": "AirLocation#636", + "id": 636, + "latitude": 5392.0, + "longitude": 4092.0 + }, + { + "@type": "air", + "@id": "AirLocation#637", + "id": 637, + "latitude": 10800.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#638", + "id": 638, + "latitude": 12144.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#639", + "id": 639, + "latitude": 13488.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#640", + "id": 640, + "latitude": 11056.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#641", + "id": 641, + "latitude": 12448.0, + "longitude": 7348.0 + }, + { + "@type": "air", + "@id": "AirLocation#642", + "id": 642, + "latitude": 13840.0, + "longitude": 9658.0 + }, + { + "@type": "air", + "@id": "AirLocation#643", + "id": 643, + "latitude": 18576.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#644", + "id": 644, + "latitude": 18576.0, + "longitude": 4620.0 + }, + { + "@type": "air", + "@id": "AirLocation#645", + "id": 645, + "latitude": 18640.5, + "longitude": 4796.0 + }, + { + "@type": "air", + "@id": "AirLocation#646", + "id": 646, + "latitude": 18704.0, + "longitude": 8382.0 + }, + { + "@type": "air", + "@id": "AirLocation#647", + "id": 647, + "latitude": 18224.0, + "longitude": 7788.0 + }, + { + "@type": "air", + "@id": "AirLocation#648", + "id": 648, + "latitude": 18256.0, + "longitude": 11572.0 + }, + { + "@type": "air", + "@id": "AirLocation#649", + "id": 649, + "latitude": 18288.0, + "longitude": 11770.0 + }, + { + "@type": "air", + "@id": "AirLocation#650", + "id": 650, + "latitude": 3088.0, + "longitude": 6160.0 + }, + { + "@type": "air", + "@id": "AirLocation#651", + "id": 651, + "latitude": 4064.0, + "longitude": 8316.0 + }, + { + "@type": "air", + "@id": "AirLocation#652", + "id": 652, + "latitude": 5040.0, + "longitude": 10142.0 + }, + { + "@type": "air", + "@id": "AirLocation#653", + "id": 653, + "latitude": 4496.0, + "longitude": 10032.0 + }, + { + "@type": "air", + "@id": "AirLocation#654", + "id": 654, + "latitude": 4512.0, + "longitude": 8096.0 + }, + { + "@type": "air", + "@id": "AirLocation#655", + "id": 655, + "latitude": 4528.0, + "longitude": 6050.0 + }, + { + "@type": "air", + "@id": "AirLocation#656", + "id": 656, + "latitude": 11088.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#657", + "id": 657, + "latitude": 12640.0, + "longitude": 9944.0 + }, + { + "@type": "air", + "@id": "AirLocation#658", + "id": 658, + "latitude": 14192.0, + "longitude": 10956.0 + }, + { + "@type": "air", + "@id": "AirLocation#659", + "id": 659, + "latitude": 4080.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#660", + "id": 660, + "latitude": 5296.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#661", + "id": 661, + "latitude": 9392.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#662", + "id": 662, + "latitude": 9680.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#663", + "id": 663, + "latitude": 9936.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#664", + "id": 664, + "latitude": 10544.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#665", + "id": 665, + "latitude": 15504.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#666", + "id": 666, + "latitude": 15600.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#667", + "id": 667, + "latitude": 18864.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#668", + "id": 668, + "latitude": 18928.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#669", + "id": 669, + "latitude": 12496.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#670", + "id": 670, + "latitude": 12560.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#671", + "id": 671, + "latitude": 8880.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#672", + "id": 672, + "latitude": 11088.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#673", + "id": 673, + "latitude": 11952.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#674", + "id": 674, + "latitude": 11984.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#675", + "id": 675, + "latitude": 12368.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#676", + "id": 676, + "latitude": 12496.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#677", + "id": 677, + "latitude": 13264.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#678", + "id": 678, + "latitude": 13360.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#679", + "id": 679, + "latitude": 560.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#680", + "id": 680, + "latitude": 560.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#681", + "id": 681, + "latitude": 720.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#682", + "id": 682, + "latitude": 5936.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#683", + "id": 683, + "latitude": 5936.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#684", + "id": 684, + "latitude": 13776.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#685", + "id": 685, + "latitude": 13904.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#686", + "id": 686, + "latitude": 14480.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#687", + "id": 687, + "latitude": 14768.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#688", + "id": 688, + "latitude": 7856.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#689", + "id": 689, + "latitude": 7952.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#690", + "id": 690, + "latitude": 1200.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#691", + "id": 691, + "latitude": 2224.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#692", + "id": 692, + "latitude": 1488.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#693", + "id": 693, + "latitude": 3056.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#694", + "id": 694, + "latitude": 624.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#695", + "id": 695, + "latitude": 816.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#696", + "id": 696, + "latitude": 262.0, + "longitude": 11352.0 + }, + { + "@type": "air", + "@id": "AirLocation#697", + "id": 697, + "latitude": 432.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#698", + "id": 698, + "latitude": 2192.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#699", + "id": 699, + "latitude": 2768.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#700", + "id": 700, + "latitude": 3344.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#701", + "id": 701, + "latitude": 3920.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#702", + "id": 702, + "latitude": 5360.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#703", + "id": 703, + "latitude": 5488.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#704", + "id": 704, + "latitude": 5584.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#705", + "id": 705, + "latitude": 1712.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#706", + "id": 706, + "latitude": 2288.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#707", + "id": 707, + "latitude": 2864.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#708", + "id": 708, + "latitude": 3408.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#709", + "id": 709, + "latitude": 3440.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#710", + "id": 710, + "latitude": 7984.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#711", + "id": 711, + "latitude": 7984.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#712", + "id": 712, + "latitude": 14160.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#713", + "id": 713, + "latitude": 14192.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#714", + "id": 714, + "latitude": 14384.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#715", + "id": 715, + "latitude": 14480.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#716", + "id": 716, + "latitude": 13072.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#717", + "id": 717, + "latitude": 13072.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#718", + "id": 718, + "latitude": 1424.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#719", + "id": 719, + "latitude": 2768.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#720", + "id": 720, + "latitude": 3120.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#721", + "id": 721, + "latitude": 7696.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#722", + "id": 722, + "latitude": 7824.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#723", + "id": 723, + "latitude": 1456.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#724", + "id": 724, + "latitude": 3088.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#725", + "id": 725, + "latitude": 12752.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#726", + "id": 726, + "latitude": 12784.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#727", + "id": 727, + "latitude": 2864.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#728", + "id": 728, + "latitude": 4240.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#729", + "id": 729, + "latitude": 8016.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#730", + "id": 730, + "latitude": 8080.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#731", + "id": 731, + "latitude": 8304.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#732", + "id": 732, + "latitude": 8368.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#733", + "id": 733, + "latitude": 8592.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#734", + "id": 734, + "latitude": 8656.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#735", + "id": 735, + "latitude": 8880.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#736", + "id": 736, + "latitude": 8944.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#737", + "id": 737, + "latitude": 592.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#738", + "id": 738, + "latitude": 880.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#739", + "id": 739, + "latitude": 11664.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#740", + "id": 740, + "latitude": 12048.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#741", + "id": 741, + "latitude": 12976.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#742", + "id": 742, + "latitude": 13392.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#743", + "id": 743, + "latitude": 14288.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#744", + "id": 744, + "latitude": 14320.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#745", + "id": 745, + "latitude": 18384.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#746", + "id": 746, + "latitude": 18874.0, + "longitude": 11550.0 + }, + { + "@type": "air", + "@id": "AirLocation#747", + "id": 747, + "latitude": 16208.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#748", + "id": 748, + "latitude": 16560.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#749", + "id": 749, + "latitude": 11376.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#750", + "id": 750, + "latitude": 13392.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#751", + "id": 751, + "latitude": 9968.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#752", + "id": 752, + "latitude": 10096.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#753", + "id": 753, + "latitude": 10256.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#754", + "id": 754, + "latitude": 11376.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#755", + "id": 755, + "latitude": 15824.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#756", + "id": 756, + "latitude": 16016.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#757", + "id": 757, + "latitude": 1008.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#758", + "id": 758, + "latitude": 1104.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#759", + "id": 759, + "latitude": 1232.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#760", + "id": 760, + "latitude": 15280.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#761", + "id": 761, + "latitude": 15920.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#762", + "id": 762, + "latitude": 17360.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#763", + "id": 763, + "latitude": 17776.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#764", + "id": 764, + "latitude": 18192.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#765", + "id": 765, + "latitude": 18608.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#766", + "id": 766, + "latitude": 6480.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#767", + "id": 767, + "latitude": 6576.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#768", + "id": 768, + "latitude": 6160.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#769", + "id": 769, + "latitude": 6384.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#770", + "id": 770, + "latitude": 5520.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#771", + "id": 771, + "latitude": 5584.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#772", + "id": 772, + "latitude": 1968.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#773", + "id": 773, + "latitude": 2000.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#774", + "id": 774, + "latitude": 6192.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#775", + "id": 775, + "latitude": 16496.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#776", + "id": 776, + "latitude": 8944.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#777", + "id": 777, + "latitude": 8976.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#778", + "id": 778, + "latitude": 4432.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#779", + "id": 779, + "latitude": 15216.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#780", + "id": 780, + "latitude": 4496.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#781", + "id": 781, + "latitude": 15632.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#782", + "id": 782, + "latitude": 7216.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#783", + "id": 783, + "latitude": 7504.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#784", + "id": 784, + "latitude": 4720.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#785", + "id": 785, + "latitude": 16048.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#786", + "id": 786, + "latitude": 4784.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#787", + "id": 787, + "latitude": 16464.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#788", + "id": 788, + "latitude": 1296.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#789", + "id": 789, + "latitude": 1392.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#790", + "id": 790, + "latitude": 15696.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#791", + "id": 791, + "latitude": 15728.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#792", + "id": 792, + "latitude": 16976.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#793", + "id": 793, + "latitude": 11792.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#794", + "id": 794, + "latitude": 11824.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#795", + "id": 795, + "latitude": 11216.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#796", + "id": 796, + "latitude": 11216.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#797", + "id": 797, + "latitude": 336.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#798", + "id": 798, + "latitude": 368.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#799", + "id": 799, + "latitude": 14608.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#800", + "id": 800, + "latitude": 14640.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#801", + "id": 801, + "latitude": 13968.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#802", + "id": 802, + "latitude": 14032.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#803", + "id": 803, + "latitude": 10416.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#804", + "id": 804, + "latitude": 10448.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#805", + "id": 805, + "latitude": 9808.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#806", + "id": 806, + "latitude": 9872.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#807", + "id": 807, + "latitude": 15248.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#808", + "id": 808, + "latitude": 15312.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#809", + "id": 809, + "latitude": 13200.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#810", + "id": 810, + "latitude": 13232.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#811", + "id": 811, + "latitude": 12560.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#812", + "id": 812, + "latitude": 12624.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#813", + "id": 813, + "latitude": 3920.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#814", + "id": 814, + "latitude": 3984.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#815", + "id": 815, + "latitude": 4016.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#816", + "id": 816, + "latitude": 4048.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#817", + "id": 817, + "latitude": 4048.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#818", + "id": 818, + "latitude": 4368.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#819", + "id": 819, + "latitude": 3824.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#820", + "id": 820, + "latitude": 3952.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#821", + "id": 821, + "latitude": 4112.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#822", + "id": 822, + "latitude": 4720.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#823", + "id": 823, + "latitude": 4144.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#824", + "id": 824, + "latitude": 4784.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#825", + "id": 825, + "latitude": 4176.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#826", + "id": 826, + "latitude": 4944.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#827", + "id": 827, + "latitude": 4208.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#828", + "id": 828, + "latitude": 5008.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#829", + "id": 829, + "latitude": 528.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#830", + "id": 830, + "latitude": 2640.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#831", + "id": 831, + "latitude": 12112.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#832", + "id": 832, + "latitude": 17392.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#833", + "id": 833, + "latitude": 17520.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#834", + "id": 834, + "latitude": 10800.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#835", + "id": 835, + "latitude": 10928.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#836", + "id": 836, + "latitude": 10704.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#837", + "id": 837, + "latitude": 10736.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#838", + "id": 838, + "latitude": 16688.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#839", + "id": 839, + "latitude": 17168.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#840", + "id": 840, + "latitude": 13520.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#841", + "id": 841, + "latitude": 18032.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#842", + "id": 842, + "latitude": 18096.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#843", + "id": 843, + "latitude": 10928.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#844", + "id": 844, + "latitude": 16432.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#845", + "id": 845, + "latitude": 17040.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#846", + "id": 846, + "latitude": 9424.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#847", + "id": 847, + "latitude": 9520.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#848", + "id": 848, + "latitude": 10256.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#849", + "id": 849, + "latitude": 10672.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#850", + "id": 850, + "latitude": 13744.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#851", + "id": 851, + "latitude": 18448.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#852", + "id": 852, + "latitude": 18576.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#853", + "id": 853, + "latitude": 656.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#854", + "id": 854, + "latitude": 976.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#855", + "id": 855, + "latitude": 1008.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#856", + "id": 856, + "latitude": 1136.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#857", + "id": 857, + "latitude": 12176.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#858", + "id": 858, + "latitude": 12240.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#859", + "id": 859, + "latitude": 18800.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#860", + "id": 860, + "latitude": 18800.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#861", + "id": 861, + "latitude": 14800.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#862", + "id": 862, + "latitude": 14928.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#863", + "id": 863, + "latitude": 9520.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#864", + "id": 864, + "latitude": 9712.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#865", + "id": 865, + "latitude": 16336.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#866", + "id": 866, + "latitude": 16368.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#867", + "id": 867, + "latitude": 10832.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#868", + "id": 868, + "latitude": 11536.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#869", + "id": 869, + "latitude": 12208.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#870", + "id": 870, + "latitude": 12272.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#871", + "id": 871, + "latitude": 12336.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#872", + "id": 872, + "latitude": 17744.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#873", + "id": 873, + "latitude": 18096.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#874", + "id": 874, + "latitude": 12688.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#875", + "id": 875, + "latitude": 13648.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#876", + "id": 876, + "latitude": 12880.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#877", + "id": 877, + "latitude": 13616.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#878", + "id": 878, + "latitude": 14672.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#879", + "id": 879, + "latitude": 15024.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#880", + "id": 880, + "latitude": 5808.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#881", + "id": 881, + "latitude": 5808.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#882", + "id": 882, + "latitude": 5872.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#883", + "id": 883, + "latitude": 3472.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#884", + "id": 884, + "latitude": 3856.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#885", + "id": 885, + "latitude": 336.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#886", + "id": 886, + "latitude": 912.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#887", + "id": 887, + "latitude": 11344.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#888", + "id": 888, + "latitude": 14544.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#889", + "id": 889, + "latitude": 17872.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#890", + "id": 890, + "latitude": 17936.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#891", + "id": 891, + "latitude": 368.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#892", + "id": 892, + "latitude": 464.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#893", + "id": 893, + "latitude": 17520.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#894", + "id": 894, + "latitude": 17616.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#895", + "id": 895, + "latitude": 4688.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#896", + "id": 896, + "latitude": 7120.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#897", + "id": 897, + "latitude": 1744.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#898", + "id": 898, + "latitude": 5104.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#899", + "id": 899, + "latitude": 3792.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#900", + "id": 900, + "latitude": 7312.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#901", + "id": 901, + "latitude": 17168.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#902", + "id": 902, + "latitude": 17232.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#903", + "id": 903, + "latitude": 3504.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#904", + "id": 904, + "latitude": 6160.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#905", + "id": 905, + "latitude": 1936.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#906", + "id": 906, + "latitude": 4592.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#907", + "id": 907, + "latitude": 6064.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#908", + "id": 908, + "latitude": 9648.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#909", + "id": 909, + "latitude": 16816.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#910", + "id": 910, + "latitude": 16880.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#911", + "id": 911, + "latitude": 15792.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#912", + "id": 912, + "latitude": 16720.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#913", + "id": 913, + "latitude": 2352.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#914", + "id": 914, + "latitude": 5264.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#915", + "id": 915, + "latitude": 16464.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#916", + "id": 916, + "latitude": 17008.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#917", + "id": 917, + "latitude": 16112.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#918", + "id": 918, + "latitude": 16272.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#919", + "id": 919, + "latitude": 9168.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#920", + "id": 920, + "latitude": 9168.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#921", + "id": 921, + "latitude": 13360.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#922", + "id": 922, + "latitude": 16112.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#923", + "id": 923, + "latitude": 2928.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#924", + "id": 924, + "latitude": 6960.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#925", + "id": 925, + "latitude": 1776.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#926", + "id": 926, + "latitude": 6512.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#927", + "id": 927, + "latitude": 4144.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#928", + "id": 928, + "latitude": 9808.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#929", + "id": 929, + "latitude": 4816.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#930", + "id": 930, + "latitude": 9616.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#931", + "id": 931, + "latitude": 3824.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#932", + "id": 932, + "latitude": 8656.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#933", + "id": 933, + "latitude": 9264.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#934", + "id": 934, + "latitude": 15216.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#935", + "id": 935, + "latitude": 9104.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#936", + "id": 936, + "latitude": 9200.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#937", + "id": 937, + "latitude": 15120.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#938", + "id": 938, + "latitude": 9072.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#939", + "id": 939, + "latitude": 9328.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#940", + "id": 940, + "latitude": 2672.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#941", + "id": 941, + "latitude": 7760.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#942", + "id": 942, + "latitude": 6000.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#943", + "id": 943, + "latitude": 11632.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#944", + "id": 944, + "latitude": 6032.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#945", + "id": 945, + "latitude": 11856.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#946", + "id": 946, + "latitude": 4880.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#947", + "id": 947, + "latitude": 10704.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#948", + "id": 948, + "latitude": 5456.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#949", + "id": 949, + "latitude": 11280.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#950", + "id": 950, + "latitude": 5168.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#951", + "id": 951, + "latitude": 10992.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#952", + "id": 952, + "latitude": 4592.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#953", + "id": 953, + "latitude": 10416.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#954", + "id": 954, + "latitude": 4912.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#955", + "id": 955, + "latitude": 10864.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#956", + "id": 956, + "latitude": 4336.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#957", + "id": 957, + "latitude": 10288.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#958", + "id": 958, + "latitude": 4624.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#959", + "id": 959, + "latitude": 10576.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#960", + "id": 960, + "latitude": 5200.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#961", + "id": 961, + "latitude": 11152.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#962", + "id": 962, + "latitude": 3248.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#963", + "id": 963, + "latitude": 9456.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#964", + "id": 964, + "latitude": 7920.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#965", + "id": 965, + "latitude": 14928.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#966", + "id": 966, + "latitude": 2096.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#967", + "id": 967, + "latitude": 9008.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#968", + "id": 968, + "latitude": 8176.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#969", + "id": 969, + "latitude": 15344.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#970", + "id": 970, + "latitude": 9232.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#971", + "id": 971, + "latitude": 9328.0, + "longitude": 4224.0 + }, + { + "@type": "air", + "@id": "AirLocation#972", + "id": 972, + "latitude": 16656.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#973", + "id": 973, + "latitude": 9136.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#974", + "id": 974, + "latitude": 16560.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#975", + "id": 975, + "latitude": 16624.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#976", + "id": 976, + "latitude": 8208.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#977", + "id": 977, + "latitude": 15760.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#978", + "id": 978, + "latitude": 8464.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#979", + "id": 979, + "latitude": 16176.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#980", + "id": 980, + "latitude": 3632.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#981", + "id": 981, + "latitude": 3696.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#982", + "id": 982, + "latitude": 4272.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#983", + "id": 983, + "latitude": 4368.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#984", + "id": 984, + "latitude": 2480.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#985", + "id": 985, + "latitude": 2544.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#986", + "id": 986, + "latitude": 5136.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#987", + "id": 987, + "latitude": 5264.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#988", + "id": 988, + "latitude": 6608.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#989", + "id": 989, + "latitude": 6672.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#990", + "id": 990, + "latitude": 3120.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#991", + "id": 991, + "latitude": 3248.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#992", + "id": 992, + "latitude": 7376.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#993", + "id": 993, + "latitude": 7408.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#994", + "id": 994, + "latitude": 6128.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#995", + "id": 995, + "latitude": 6256.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#996", + "id": 996, + "latitude": 6992.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#997", + "id": 997, + "latitude": 7056.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#998", + "id": 998, + "latitude": 15888.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#999", + "id": 999, + "latitude": 15952.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1000", + "id": 1000, + "latitude": 5904.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1001", + "id": 1001, + "latitude": 5968.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1002", + "id": 1002, + "latitude": 688.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1003", + "id": 1003, + "latitude": 848.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1004", + "id": 1004, + "latitude": 240.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1005", + "id": 1005, + "latitude": 464.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1006", + "id": 1006, + "latitude": 496.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1007", + "id": 1007, + "latitude": 752.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1008", + "id": 1008, + "latitude": 1296.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1009", + "id": 1009, + "latitude": 1616.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1010", + "id": 1010, + "latitude": 784.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1011", + "id": 1011, + "latitude": 944.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1012", + "id": 1012, + "latitude": 1168.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1013", + "id": 1013, + "latitude": 16912.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1014", + "id": 1014, + "latitude": 17328.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1015", + "id": 1015, + "latitude": 7472.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1016", + "id": 1016, + "latitude": 8208.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1017", + "id": 1017, + "latitude": 1104.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1018", + "id": 1018, + "latitude": 1264.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1019", + "id": 1019, + "latitude": 1072.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1020", + "id": 1020, + "latitude": 1232.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1021", + "id": 1021, + "latitude": 848.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1022", + "id": 1022, + "latitude": 1040.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1023", + "id": 1023, + "latitude": 272.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1024", + "id": 1024, + "latitude": 496.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1025", + "id": 1025, + "latitude": 304.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1026", + "id": 1026, + "latitude": 624.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1027", + "id": 1027, + "latitude": 8560.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1028", + "id": 1028, + "latitude": 9968.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1029", + "id": 1029, + "latitude": 5712.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1030", + "id": 1030, + "latitude": 7152.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1031", + "id": 1031, + "latitude": 3664.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1032", + "id": 1032, + "latitude": 4240.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1033", + "id": 1033, + "latitude": 3472.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1034", + "id": 1034, + "latitude": 4976.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1035", + "id": 1035, + "latitude": 5008.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1036", + "id": 1036, + "latitude": 6512.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1037", + "id": 1037, + "latitude": 7472.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1038", + "id": 1038, + "latitude": 9040.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1039", + "id": 1039, + "latitude": 7056.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1040", + "id": 1040, + "latitude": 8784.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1041", + "id": 1041, + "latitude": 2512.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1042", + "id": 1042, + "latitude": 3344.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1043", + "id": 1043, + "latitude": 10224.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1044", + "id": 1044, + "latitude": 12080.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1045", + "id": 1045, + "latitude": 5072.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1046", + "id": 1046, + "latitude": 6928.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1047", + "id": 1047, + "latitude": 10480.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1048", + "id": 1048, + "latitude": 12432.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1049", + "id": 1049, + "latitude": 5296.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1050", + "id": 1050, + "latitude": 7344.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1051", + "id": 1051, + "latitude": 2320.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1052", + "id": 1052, + "latitude": 4400.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1053", + "id": 1053, + "latitude": 6640.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1054", + "id": 1054, + "latitude": 8752.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1055", + "id": 1055, + "latitude": 10512.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1056", + "id": 1056, + "latitude": 12784.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1057", + "id": 1057, + "latitude": 6224.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1058", + "id": 1058, + "latitude": 8496.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1059", + "id": 1059, + "latitude": 10768.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1060", + "id": 1060, + "latitude": 13136.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1061", + "id": 1061, + "latitude": 15344.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1062", + "id": 1062, + "latitude": 16944.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1063", + "id": 1063, + "latitude": 5360.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1064", + "id": 1064, + "latitude": 7760.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1065", + "id": 1065, + "latitude": 1520.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1066", + "id": 1066, + "latitude": 3024.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1067", + "id": 1067, + "latitude": 1328.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1068", + "id": 1068, + "latitude": 2896.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1069", + "id": 1069, + "latitude": 2896.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1070", + "id": 1070, + "latitude": 5392.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1071", + "id": 1071, + "latitude": 10800.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1072", + "id": 1072, + "latitude": 13488.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1073", + "id": 1073, + "latitude": 11056.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1074", + "id": 1074, + "latitude": 13840.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1075", + "id": 1075, + "latitude": 18576.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1076", + "id": 1076, + "latitude": 18704.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1077", + "id": 1077, + "latitude": 18224.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1078", + "id": 1078, + "latitude": 18288.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1079", + "id": 1079, + "latitude": 3088.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1080", + "id": 1080, + "latitude": 5040.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1081", + "id": 1081, + "latitude": 4496.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1082", + "id": 1082, + "latitude": 4528.0, + "longitude": 3960.0 + }, + { + "@type": "air", + "@id": "AirLocation#1083", + "id": 1083, + "latitude": 11088.0, + "longitude": 12012.0 + }, + { + "@type": "air", + "@id": "AirLocation#1084", + "id": 1084, + "latitude": 14192.0, + "longitude": 12012.0 } - }, { - "@type" : "visit", - "@id" : "Visit#62", - "id" : 62, - "location" : "AirLocation#62", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#581", - "id" : 581, - "location" : "AirLocation#581", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#609", - "id" : 609, - "location" : "AirLocation#609", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#635", - "id" : 635, - "location" : "AirLocation#635", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1035", - "id" : 1035, - "location" : "AirLocation#1035", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1034", - "id" : 1034, - "location" : "AirLocation#1034", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#954", - "id" : 954, - "location" : "AirLocation#954", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#946", - "id" : 946, - "location" : "AirLocation#946", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#929", - "id" : 929, - "location" : "AirLocation#929", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#786", - "id" : 786, - "location" : "AirLocation#786", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#784", - "id" : 784, - "location" : "AirLocation#784", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#895", - "id" : 895, - "location" : "AirLocation#895", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#958", - "id" : 958, - "location" : "AirLocation#958", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#952", - "id" : 952, - "location" : "AirLocation#952", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1082", - "id" : 1082, - "location" : "AirLocation#1082", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#780", - "id" : 780, - "location" : "AirLocation#780", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#778", - "id" : 778, - "location" : "AirLocation#778", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1052", - "id" : 1052, - "location" : "AirLocation#1052", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#983", - "id" : 983, - "location" : "AirLocation#983", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#956", - "id" : 956, - "location" : "AirLocation#956", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#728", - "id" : 728, - "location" : "AirLocation#728", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#827", - "id" : 827, - "location" : "AirLocation#827", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#825", - "id" : 825, - "location" : "AirLocation#825", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#823", - "id" : 823, - "location" : "AirLocation#823", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#821", - "id" : 821, - "location" : "AirLocation#821", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#659", - "id" : 659, - "location" : "AirLocation#659", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#817", - "id" : 817, - "location" : "AirLocation#817", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#815", - "id" : 815, - "location" : "AirLocation#815", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#814", - "id" : 814, - "location" : "AirLocation#814", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#820", - "id" : 820, - "location" : "AirLocation#820", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#701", - "id" : 701, - "location" : "AirLocation#701", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#884", - "id" : 884, - "location" : "AirLocation#884", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#931", - "id" : 931, - "location" : "AirLocation#931", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#981", - "id" : 981, - "location" : "AirLocation#981", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1031", - "id" : 1031, - "location" : "AirLocation#1031", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#63", - "id" : 63, - "location" : "AirLocation#63", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#580", - "id" : 580, - "location" : "AirLocation#580", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#903", - "id" : 903, - "location" : "AirLocation#903", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1033", - "id" : 1033, - "location" : "AirLocation#1033", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#709", - "id" : 709, - "location" : "AirLocation#709", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#700", - "id" : 700, - "location" : "AirLocation#700", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#962", - "id" : 962, - "location" : "AirLocation#962", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#990", - "id" : 990, - "location" : "AirLocation#990", - "previousStandstill" : { - "@type" : "visit", - "@id" : "Visit#1079", - "id" : 1079, - "location" : "AirLocation#1079", - "previousStandstill" : "Visit#61" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } + ], + "name": "vm1084", + "score": -283067, + "tour": { + "@id": "Tour#1", + "domicile": { + "id": 1, + "location": "AirLocation#1" + }, + "id": 1, + "location": "AirLocation#1", + "visitList": [ + { + "@type": "Visit", + "@id": "Visit#251", + "id": 251, + "location": "AirLocation#251", + "next": "Visit#353", + "previous": null, + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#353", + "id": 353, + "location": "AirLocation#353", + "next": "Visit#500", + "previous": "Visit#251", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#500", + "id": 500, + "location": "AirLocation#500", + "next": "Visit#421", + "previous": "Visit#353", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#421", + "id": 421, + "location": "AirLocation#421", + "next": "Visit#105", + "previous": "Visit#500", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#105", + "id": 105, + "location": "AirLocation#105", + "next": "Visit#189", + "previous": "Visit#421", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#189", + "id": 189, + "location": "AirLocation#189", + "next": "Visit#258", + "previous": "Visit#105", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#258", + "id": 258, + "location": "AirLocation#258", + "next": "Visit#463", + "previous": "Visit#189", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#463", + "id": 463, + "location": "AirLocation#463", + "next": "Visit#195", + "previous": "Visit#258", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#195", + "id": 195, + "location": "AirLocation#195", + "next": "Visit#418", + "previous": "Visit#463", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#418", + "id": 418, + "location": "AirLocation#418", + "next": "Visit#451", + "previous": "Visit#195", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#451", + "id": 451, + "location": "AirLocation#451", + "next": "Visit#509", + "previous": "Visit#418", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#509", + "id": 509, + "location": "AirLocation#509", + "next": "Visit#598", + "previous": "Visit#451", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#598", + "id": 598, + "location": "AirLocation#598", + "next": "Visit#625", + "previous": "Visit#509", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#625", + "id": 625, + "location": "AirLocation#625", + "next": "Visit#466", + "previous": "Visit#598", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#466", + "id": 466, + "location": "AirLocation#466", + "next": "Visit#457", + "previous": "Visit#625", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#457", + "id": 457, + "location": "AirLocation#457", + "next": "Visit#198", + "previous": "Visit#466", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#198", + "id": 198, + "location": "AirLocation#198", + "next": "Visit#2", + "previous": "Visit#457", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#2", + "id": 2, + "location": "AirLocation#2", + "next": "Visit#261", + "previous": "Visit#198", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#261", + "id": 261, + "location": "AirLocation#261", + "next": "Visit#655", + "previous": "Visit#2", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#655", + "id": 655, + "location": "AirLocation#655", + "next": "Visit#503", + "previous": "Visit#261", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#503", + "id": 503, + "location": "AirLocation#503", + "next": "Visit#245", + "previous": "Visit#655", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#245", + "id": 245, + "location": "AirLocation#245", + "next": "Visit#250", + "previous": "Visit#503", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#250", + "id": 250, + "location": "AirLocation#250", + "next": "Visit#577", + "previous": "Visit#245", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#577", + "id": 577, + "location": "AirLocation#577", + "next": "Visit#381", + "previous": "Visit#250", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#381", + "id": 381, + "location": "AirLocation#381", + "next": "Visit#242", + "previous": "Visit#577", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#242", + "id": 242, + "location": "AirLocation#242", + "next": "Visit#254", + "previous": "Visit#381", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#254", + "id": 254, + "location": "AirLocation#254", + "next": "Visit#460", + "previous": "Visit#242", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#460", + "id": 460, + "location": "AirLocation#460", + "next": "Visit#186", + "previous": "Visit#254", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#186", + "id": 186, + "location": "AirLocation#186", + "next": "Visit#454", + "previous": "Visit#460", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#454", + "id": 454, + "location": "AirLocation#454", + "next": "Visit#252", + "previous": "Visit#186", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#252", + "id": 252, + "location": "AirLocation#252", + "next": "Visit#241", + "previous": "Visit#454", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#241", + "id": 241, + "location": "AirLocation#241", + "next": "Visit#64", + "previous": "Visit#252", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#64", + "id": 64, + "location": "AirLocation#64", + "next": "Visit#352", + "previous": "Visit#241", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#352", + "id": 352, + "location": "AirLocation#352", + "next": "Visit#499", + "previous": "Visit#64", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#499", + "id": 499, + "location": "AirLocation#499", + "next": "Visit#104", + "previous": "Visit#352", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#104", + "id": 104, + "location": "AirLocation#104", + "next": "Visit#514", + "previous": "Visit#499", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#514", + "id": 514, + "location": "AirLocation#514", + "next": "Visit#593", + "previous": "Visit#104", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#593", + "id": 593, + "location": "AirLocation#593", + "next": "Visit#409", + "previous": "Visit#514", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#409", + "id": 409, + "location": "AirLocation#409", + "next": "Visit#436", + "previous": "Visit#593", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#436", + "id": 436, + "location": "AirLocation#436", + "next": "Visit#505", + "previous": "Visit#409", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#505", + "id": 505, + "location": "AirLocation#505", + "next": "Visit#50", + "previous": "Visit#436", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#50", + "id": 50, + "location": "AirLocation#50", + "next": "Visit#384", + "previous": "Visit#505", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#384", + "id": 384, + "location": "AirLocation#384", + "next": "Visit#47", + "previous": "Visit#50", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#47", + "id": 47, + "location": "AirLocation#47", + "next": "Visit#475", + "previous": "Visit#384", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#475", + "id": 475, + "location": "AirLocation#475", + "next": "Visit#89", + "previous": "Visit#47", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#89", + "id": 89, + "location": "AirLocation#89", + "next": "Visit#629", + "previous": "Visit#475", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#629", + "id": 629, + "location": "AirLocation#629", + "next": "Visit#632", + "previous": "Visit#89", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#632", + "id": 632, + "location": "AirLocation#632", + "next": "Visit#77", + "previous": "Visit#629", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#77", + "id": 77, + "location": "AirLocation#77", + "next": "Visit#397", + "previous": "Visit#632", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#397", + "id": 397, + "location": "AirLocation#397", + "next": "Visit#375", + "previous": "Visit#77", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#375", + "id": 375, + "location": "AirLocation#375", + "next": "Visit#249", + "previous": "Visit#397", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#249", + "id": 249, + "location": "AirLocation#249", + "next": "Visit#651", + "previous": "Visit#375", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#651", + "id": 651, + "location": "AirLocation#651", + "next": "Visit#246", + "previous": "Visit#249", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#246", + "id": 246, + "location": "AirLocation#246", + "next": "Visit#502", + "previous": "Visit#651", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#502", + "id": 502, + "location": "AirLocation#502", + "next": "Visit#654", + "previous": "Visit#246", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#654", + "id": 654, + "location": "AirLocation#654", + "next": "Visit#259", + "previous": "Visit#502", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#259", + "id": 259, + "location": "AirLocation#259", + "next": "Visit#262", + "previous": "Visit#654", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#262", + "id": 262, + "location": "AirLocation#262", + "next": "Visit#255", + "previous": "Visit#259", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#255", + "id": 255, + "location": "AirLocation#255", + "next": "Visit#578", + "previous": "Visit#262", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#578", + "id": 578, + "location": "AirLocation#578", + "next": "Visit#243", + "previous": "Visit#255", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#243", + "id": 243, + "location": "AirLocation#243", + "next": "Visit#248", + "previous": "Visit#578", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#248", + "id": 248, + "location": "AirLocation#248", + "next": "Visit#244", + "previous": "Visit#243", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#244", + "id": 244, + "location": "AirLocation#244", + "next": "Visit#579", + "previous": "Visit#248", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#579", + "id": 579, + "location": "AirLocation#579", + "next": "Visit#256", + "previous": "Visit#244", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#256", + "id": 256, + "location": "AirLocation#256", + "next": "Visit#437", + "previous": "Visit#579", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#437", + "id": 437, + "location": "AirLocation#437", + "next": "Visit#65", + "previous": "Visit#256", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#65", + "id": 65, + "location": "AirLocation#65", + "next": "Visit#386", + "previous": "Visit#437", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#386", + "id": 386, + "location": "AirLocation#386", + "next": "Visit#415", + "previous": "Visit#65", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#415", + "id": 415, + "location": "AirLocation#415", + "next": "Visit#239", + "previous": "Visit#386", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#239", + "id": 239, + "location": "AirLocation#239", + "next": "Visit#240", + "previous": "Visit#415", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#240", + "id": 240, + "location": "AirLocation#240", + "next": "Visit#385", + "previous": "Visit#239", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#385", + "id": 385, + "location": "AirLocation#385", + "next": "Visit#93", + "previous": "Visit#240", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#93", + "id": 93, + "location": "AirLocation#93", + "next": "Visit#91", + "previous": "Visit#385", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#91", + "id": 91, + "location": "AirLocation#91", + "next": "Visit#92", + "previous": "Visit#93", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#92", + "id": 92, + "location": "AirLocation#92", + "next": "Visit#99", + "previous": "Visit#91", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#99", + "id": 99, + "location": "AirLocation#99", + "next": "Visit#633", + "previous": "Visit#92", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#633", + "id": 633, + "location": "AirLocation#633", + "next": "Visit#630", + "previous": "Visit#99", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#630", + "id": 630, + "location": "AirLocation#630", + "next": "Visit#103", + "previous": "Visit#633", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#103", + "id": 103, + "location": "AirLocation#103", + "next": "Visit#504", + "previous": "Visit#630", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#504", + "id": 504, + "location": "AirLocation#504", + "next": "Visit#48", + "previous": "Visit#103", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#48", + "id": 48, + "location": "AirLocation#48", + "next": "Visit#98", + "previous": "Visit#504", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#98", + "id": 98, + "location": "AirLocation#98", + "next": "Visit#178", + "previous": "Visit#48", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#178", + "id": 178, + "location": "AirLocation#178", + "next": "Visit#90", + "previous": "Visit#98", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#90", + "id": 90, + "location": "AirLocation#90", + "next": "Visit#51", + "previous": "Visit#178", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#51", + "id": 51, + "location": "AirLocation#51", + "next": "Visit#515", + "previous": "Visit#90", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#515", + "id": 515, + "location": "AirLocation#515", + "next": "Visit#594", + "previous": "Visit#51", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#594", + "id": 594, + "location": "AirLocation#594", + "next": "Visit#351", + "previous": "Visit#515", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#351", + "id": 351, + "location": "AirLocation#351", + "next": "Visit#498", + "previous": "Visit#594", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#498", + "id": 498, + "location": "AirLocation#498", + "next": "Visit#413", + "previous": "Visit#351", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#413", + "id": 413, + "location": "AirLocation#413", + "next": "Visit#501", + "previous": "Visit#498", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#501", + "id": 501, + "location": "AirLocation#501", + "next": "Visit#247", + "previous": "Visit#413", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#247", + "id": 247, + "location": "AirLocation#247", + "next": "Visit#653", + "previous": "Visit#501", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#653", + "id": 653, + "location": "AirLocation#653", + "next": "Visit#253", + "previous": "Visit#247", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#253", + "id": 253, + "location": "AirLocation#253", + "next": "Visit#382", + "previous": "Visit#653", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#382", + "id": 382, + "location": "AirLocation#382", + "next": "Visit#507", + "previous": "Visit#253", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#507", + "id": 507, + "location": "AirLocation#507", + "next": "Visit#652", + "previous": "Visit#382", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#652", + "id": 652, + "location": "AirLocation#652", + "next": "Visit#410", + "previous": "Visit#507", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#410", + "id": 410, + "location": "AirLocation#410", + "next": "Visit#398", + "previous": "Visit#652", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#398", + "id": 398, + "location": "AirLocation#398", + "next": "Visit#174", + "previous": "Visit#410", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#174", + "id": 174, + "location": "AirLocation#174", + "next": "Visit#574", + "previous": "Visit#398", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#574", + "id": 574, + "location": "AirLocation#574", + "next": "Visit#3", + "previous": "Visit#174", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#3", + "id": 3, + "location": "AirLocation#3", + "next": "Visit#626", + "previous": "Visit#574", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#626", + "id": 626, + "location": "AirLocation#626", + "next": "Visit#168", + "previous": "Visit#3", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#168", + "id": 168, + "location": "AirLocation#168", + "next": "Visit#173", + "previous": "Visit#626", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#173", + "id": 173, + "location": "AirLocation#173", + "next": "Visit#387", + "previous": "Visit#168", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#387", + "id": 387, + "location": "AirLocation#387", + "next": "Visit#599", + "previous": "Visit#173", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#599", + "id": 599, + "location": "AirLocation#599", + "next": "Visit#521", + "previous": "Visit#387", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#521", + "id": 521, + "location": "AirLocation#521", + "next": "Visit#575", + "previous": "Visit#599", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#575", + "id": 575, + "location": "AirLocation#575", + "next": "Visit#422", + "previous": "Visit#521", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#422", + "id": 422, + "location": "AirLocation#422", + "next": "Visit#36", + "previous": "Visit#575", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#36", + "id": 36, + "location": "AirLocation#36", + "next": "Visit#348", + "previous": "Visit#422", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#348", + "id": 348, + "location": "AirLocation#348", + "next": "Visit#175", + "previous": "Visit#36", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#175", + "id": 175, + "location": "AirLocation#175", + "next": "Visit#508", + "previous": "Visit#348", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#508", + "id": 508, + "location": "AirLocation#508", + "next": "Visit#445", + "previous": "Visit#175", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#445", + "id": 445, + "location": "AirLocation#445", + "next": "Visit#67", + "previous": "Visit#508", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#67", + "id": 67, + "location": "AirLocation#67", + "next": "Visit#439", + "previous": "Visit#445", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#439", + "id": 439, + "location": "AirLocation#439", + "next": "Visit#510", + "previous": "Visit#67", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#510", + "id": 510, + "location": "AirLocation#510", + "next": "Visit#180", + "previous": "Visit#439", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#180", + "id": 180, + "location": "AirLocation#180", + "next": "Visit#470", + "previous": "Visit#510", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#470", + "id": 470, + "location": "AirLocation#470", + "next": "Visit#600", + "previous": "Visit#180", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#600", + "id": 600, + "location": "AirLocation#600", + "next": "Visit#522", + "previous": "Visit#470", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#522", + "id": 522, + "location": "AirLocation#522", + "next": "Visit#518", + "previous": "Visit#600", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#518", + "id": 518, + "location": "AirLocation#518", + "next": "Visit#627", + "previous": "Visit#522", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#627", + "id": 627, + "location": "AirLocation#627", + "next": "Visit#194", + "previous": "Visit#518", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#194", + "id": 194, + "location": "AirLocation#194", + "next": "Visit#96", + "previous": "Visit#627", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#96", + "id": 96, + "location": "AirLocation#96", + "next": "Visit#45", + "previous": "Visit#194", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#45", + "id": 45, + "location": "AirLocation#45", + "next": "Visit#492", + "previous": "Visit#96", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#492", + "id": 492, + "location": "AirLocation#492", + "next": "Visit#449", + "previous": "Visit#45", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#449", + "id": 449, + "location": "AirLocation#449", + "next": "Visit#495", + "previous": "Visit#492", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#495", + "id": 495, + "location": "AirLocation#495", + "next": "Visit#478", + "previous": "Visit#449", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#478", + "id": 478, + "location": "AirLocation#478", + "next": "Visit#590", + "previous": "Visit#495", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#590", + "id": 590, + "location": "AirLocation#590", + "next": "Visit#388", + "previous": "Visit#478", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#388", + "id": 388, + "location": "AirLocation#388", + "next": "Visit#107", + "previous": "Visit#590", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#107", + "id": 107, + "location": "AirLocation#107", + "next": "Visit#617", + "previous": "Visit#388", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#617", + "id": 617, + "location": "AirLocation#617", + "next": "Visit#589", + "previous": "Visit#107", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#589", + "id": 589, + "location": "AirLocation#589", + "next": "Visit#170", + "previous": "Visit#617", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#170", + "id": 170, + "location": "AirLocation#170", + "next": "Visit#585", + "previous": "Visit#589", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#585", + "id": 585, + "location": "AirLocation#585", + "next": "Visit#605", + "previous": "Visit#170", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#605", + "id": 605, + "location": "AirLocation#605", + "next": "Visit#171", + "previous": "Visit#585", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#171", + "id": 171, + "location": "AirLocation#171", + "next": "Visit#370", + "previous": "Visit#605", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#370", + "id": 370, + "location": "AirLocation#370", + "next": "Visit#442", + "previous": "Visit#171", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#442", + "id": 442, + "location": "AirLocation#442", + "next": "Visit#172", + "previous": "Visit#370", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#172", + "id": 172, + "location": "AirLocation#172", + "next": "Visit#169", + "previous": "Visit#442", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#169", + "id": 169, + "location": "AirLocation#169", + "next": "Visit#584", + "previous": "Visit#172", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#584", + "id": 584, + "location": "AirLocation#584", + "next": "Visit#176", + "previous": "Visit#169", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#176", + "id": 176, + "location": "AirLocation#176", + "next": "Visit#376", + "previous": "Visit#584", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#376", + "id": 376, + "location": "AirLocation#376", + "next": "Visit#448", + "previous": "Visit#176", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#448", + "id": 448, + "location": "AirLocation#448", + "next": "Visit#583", + "previous": "Visit#376", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#583", + "id": 583, + "location": "AirLocation#583", + "next": "Visit#374", + "previous": "Visit#448", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#374", + "id": 374, + "location": "AirLocation#374", + "next": "Visit#369", + "previous": "Visit#583", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#369", + "id": 369, + "location": "AirLocation#369", + "next": "Visit#582", + "previous": "Visit#374", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#582", + "id": 582, + "location": "AirLocation#582", + "next": "Visit#1034", + "previous": "Visit#369", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1034", + "id": 1034, + "location": "AirLocation#1034", + "next": "Visit#954", + "previous": "Visit#582", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#954", + "id": 954, + "location": "AirLocation#954", + "next": "Visit#1035", + "previous": "Visit#1034", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1035", + "id": 1035, + "location": "AirLocation#1035", + "next": "Visit#929", + "previous": "Visit#954", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#929", + "id": 929, + "location": "AirLocation#929", + "next": "Visit#958", + "previous": "Visit#1035", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#958", + "id": 958, + "location": "AirLocation#958", + "next": "Visit#1082", + "previous": "Visit#929", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1082", + "id": 1082, + "location": "AirLocation#1082", + "next": "Visit#780", + "previous": "Visit#958", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#780", + "id": 780, + "location": "AirLocation#780", + "next": "Visit#609", + "previous": "Visit#1082", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#609", + "id": 609, + "location": "AirLocation#609", + "next": "Visit#63", + "previous": "Visit#780", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#63", + "id": 63, + "location": "AirLocation#63", + "next": "Visit#62", + "previous": "Visit#609", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#62", + "id": 62, + "location": "AirLocation#62", + "next": "Visit#79", + "previous": "Visit#63", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#79", + "id": 79, + "location": "AirLocation#79", + "next": "Visit#469", + "previous": "Visit#62", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#469", + "id": 469, + "location": "AirLocation#469", + "next": "Visit#78", + "previous": "Visit#79", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#78", + "id": 78, + "location": "AirLocation#78", + "next": "Visit#513", + "previous": "Visit#469", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#513", + "id": 513, + "location": "AirLocation#513", + "next": "Visit#76", + "previous": "Visit#78", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#76", + "id": 76, + "location": "AirLocation#76", + "next": "Visit#650", + "previous": "Visit#513", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#650", + "id": 650, + "location": "AirLocation#650", + "next": "Visit#506", + "previous": "Visit#76", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#506", + "id": 506, + "location": "AirLocation#506", + "next": "Visit#592", + "previous": "Visit#650", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#592", + "id": 592, + "location": "AirLocation#592", + "next": "Visit#75", + "previous": "Visit#506", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#75", + "id": 75, + "location": "AirLocation#75", + "next": "Visit#58", + "previous": "Visit#592", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#58", + "id": 58, + "location": "AirLocation#58", + "next": "Visit#607", + "previous": "Visit#75", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#607", + "id": 607, + "location": "AirLocation#607", + "next": "Visit#73", + "previous": "Visit#58", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#73", + "id": 73, + "location": "AirLocation#73", + "next": "Visit#59", + "previous": "Visit#607", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#59", + "id": 59, + "location": "AirLocation#59", + "next": "Visit#74", + "previous": "Visit#73", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#74", + "id": 74, + "location": "AirLocation#74", + "next": "Visit#634", + "previous": "Visit#59", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#634", + "id": 634, + "location": "AirLocation#634", + "next": "Visit#923", + "previous": "Visit#74", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#923", + "id": 923, + "location": "AirLocation#923", + "next": "Visit#1069", + "previous": "Visit#634", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1069", + "id": 1069, + "location": "AirLocation#1069", + "next": "Visit#707", + "previous": "Visit#923", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#707", + "id": 707, + "location": "AirLocation#707", + "next": "Visit#940", + "previous": "Visit#1069", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#940", + "id": 940, + "location": "AirLocation#940", + "next": "Visit#265", + "previous": "Visit#707", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#265", + "id": 265, + "location": "AirLocation#265", + "next": "Visit#699", + "previous": "Visit#940", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#699", + "id": 699, + "location": "AirLocation#699", + "next": "Visit#830", + "previous": "Visit#265", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#830", + "id": 830, + "location": "AirLocation#830", + "next": "Visit#985", + "previous": "Visit#699", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#985", + "id": 985, + "location": "AirLocation#985", + "next": "Visit#1041", + "previous": "Visit#830", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1041", + "id": 1041, + "location": "AirLocation#1041", + "next": "Visit#72", + "previous": "Visit#985", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#72", + "id": 72, + "location": "AirLocation#72", + "next": "Visit#57", + "previous": "Visit#1041", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#57", + "id": 57, + "location": "AirLocation#57", + "next": "Visit#706", + "previous": "Visit#72", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#706", + "id": 706, + "location": "AirLocation#706", + "next": "Visit#913", + "previous": "Visit#57", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#913", + "id": 913, + "location": "AirLocation#913", + "next": "Visit#1051", + "previous": "Visit#706", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1051", + "id": 1051, + "location": "AirLocation#1051", + "next": "Visit#698", + "previous": "Visit#913", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#698", + "id": 698, + "location": "AirLocation#698", + "next": "Visit#966", + "previous": "Visit#1051", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#966", + "id": 966, + "location": "AirLocation#966", + "next": "Visit#772", + "previous": "Visit#698", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#772", + "id": 772, + "location": "AirLocation#772", + "next": "Visit#905", + "previous": "Visit#966", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#905", + "id": 905, + "location": "AirLocation#905", + "next": "Visit#925", + "previous": "Visit#772", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#925", + "id": 925, + "location": "AirLocation#925", + "next": "Visit#705", + "previous": "Visit#905", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#705", + "id": 705, + "location": "AirLocation#705", + "next": "Visit#897", + "previous": "Visit#925", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#897", + "id": 897, + "location": "AirLocation#897", + "next": "Visit#1009", + "previous": "Visit#705", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1009", + "id": 1009, + "location": "AirLocation#1009", + "next": "Visit#1065", + "previous": "Visit#897", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1065", + "id": 1065, + "location": "AirLocation#1065", + "next": "Visit#723", + "previous": "Visit#1009", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#723", + "id": 723, + "location": "AirLocation#723", + "next": "Visit#540", + "previous": "Visit#1065", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#540", + "id": 540, + "location": "AirLocation#540", + "next": "Visit#548", + "previous": "Visit#723", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#548", + "id": 548, + "location": "AirLocation#548", + "next": "Visit#154", + "previous": "Visit#540", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#154", + "id": 154, + "location": "AirLocation#154", + "next": "Visit#152", + "previous": "Visit#548", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#152", + "id": 152, + "location": "AirLocation#152", + "next": "Visit#547", + "previous": "Visit#154", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#547", + "id": 547, + "location": "AirLocation#547", + "next": "Visit#308", + "previous": "Visit#152", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#308", + "id": 308, + "location": "AirLocation#308", + "next": "Visit#545", + "previous": "Visit#547", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#545", + "id": 545, + "location": "AirLocation#545", + "next": "Visit#356", + "previous": "Visit#308", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#356", + "id": 356, + "location": "AirLocation#356", + "next": "Visit#886", + "previous": "Visit#545", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#886", + "id": 886, + "location": "AirLocation#886", + "next": "Visit#1011", + "previous": "Visit#356", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1011", + "id": 1011, + "location": "AirLocation#1011", + "next": "Visit#738", + "previous": "Visit#886", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#738", + "id": 738, + "location": "AirLocation#738", + "next": "Visit#263", + "previous": "Visit#1011", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#263", + "id": 263, + "location": "AirLocation#263", + "next": "Visit#1024", + "previous": "Visit#738", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1024", + "id": 1024, + "location": "AirLocation#1024", + "next": "Visit#853", + "previous": "Visit#263", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#853", + "id": 853, + "location": "AirLocation#853", + "next": "Visit#679", + "previous": "Visit#1024", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#679", + "id": 679, + "location": "AirLocation#679", + "next": "Visit#1026", + "previous": "Visit#853", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1026", + "id": 1026, + "location": "AirLocation#1026", + "next": "Visit#829", + "previous": "Visit#679", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#829", + "id": 829, + "location": "AirLocation#829", + "next": "Visit#892", + "previous": "Visit#1026", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#892", + "id": 892, + "location": "AirLocation#892", + "next": "Visit#798", + "previous": "Visit#829", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#798", + "id": 798, + "location": "AirLocation#798", + "next": "Visit#885", + "previous": "Visit#892", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#885", + "id": 885, + "location": "AirLocation#885", + "next": "Visit#354", + "previous": "Visit#798", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#354", + "id": 354, + "location": "AirLocation#354", + "next": "Visit#32", + "previous": "Visit#885", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#32", + "id": 32, + "location": "AirLocation#32", + "next": "Visit#532", + "previous": "Visit#354", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#532", + "id": 532, + "location": "AirLocation#532", + "next": "Visit#307", + "previous": "Visit#32", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#307", + "id": 307, + "location": "AirLocation#307", + "next": "Visit#543", + "previous": "Visit#532", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#543", + "id": 543, + "location": "AirLocation#543", + "next": "Visit#533", + "previous": "Visit#307", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#533", + "id": 533, + "location": "AirLocation#533", + "next": "Visit#35", + "previous": "Visit#543", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#35", + "id": 35, + "location": "AirLocation#35", + "next": "Visit#355", + "previous": "Visit#533", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#355", + "id": 355, + "location": "AirLocation#355", + "next": "Visit#531", + "previous": "Visit#35", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#531", + "id": 531, + "location": "AirLocation#531", + "next": "Visit#306", + "previous": "Visit#355", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#306", + "id": 306, + "location": "AirLocation#306", + "next": "Visit#1002", + "previous": "Visit#531", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1002", + "id": 1002, + "location": "AirLocation#1002", + "next": "Visit#681", + "previous": "Visit#306", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#681", + "id": 681, + "location": "AirLocation#681", + "next": "Visit#1010", + "previous": "Visit#1002", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1010", + "id": 1010, + "location": "AirLocation#1010", + "next": "Visit#695", + "previous": "Visit#681", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#695", + "id": 695, + "location": "AirLocation#695", + "next": "Visit#1003", + "previous": "Visit#1010", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1003", + "id": 1003, + "location": "AirLocation#1003", + "next": "Visit#854", + "previous": "Visit#695", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#854", + "id": 854, + "location": "AirLocation#854", + "next": "Visit#757", + "previous": "Visit#1003", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#757", + "id": 757, + "location": "AirLocation#757", + "next": "Visit#856", + "previous": "Visit#854", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#856", + "id": 856, + "location": "AirLocation#856", + "next": "Visit#758", + "previous": "Visit#757", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#758", + "id": 758, + "location": "AirLocation#758", + "next": "Visit#1012", + "previous": "Visit#856", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1012", + "id": 1012, + "location": "AirLocation#1012", + "next": "Visit#1022", + "previous": "Visit#758", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1022", + "id": 1022, + "location": "AirLocation#1022", + "next": "Visit#690", + "previous": "Visit#1012", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#690", + "id": 690, + "location": "AirLocation#690", + "next": "Visit#1008", + "previous": "Visit#1022", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1008", + "id": 1008, + "location": "AirLocation#1008", + "next": "Visit#1067", + "previous": "Visit#690", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1067", + "id": 1067, + "location": "AirLocation#1067", + "next": "Visit#1018", + "previous": "Visit#1008", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1018", + "id": 1018, + "location": "AirLocation#1018", + "next": "Visit#1020", + "previous": "Visit#1067", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1020", + "id": 1020, + "location": "AirLocation#1020", + "next": "Visit#718", + "previous": "Visit#1018", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#718", + "id": 718, + "location": "AirLocation#718", + "next": "Visit#789", + "previous": "Visit#1020", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#789", + "id": 789, + "location": "AirLocation#789", + "next": "Visit#692", + "previous": "Visit#718", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#692", + "id": 692, + "location": "AirLocation#692", + "next": "Visit#264", + "previous": "Visit#789", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#264", + "id": 264, + "location": "AirLocation#264", + "next": "Visit#542", + "previous": "Visit#692", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#542", + "id": 542, + "location": "AirLocation#542", + "next": "Visit#70", + "previous": "Visit#264", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#70", + "id": 70, + "location": "AirLocation#70", + "next": "Visit#71", + "previous": "Visit#542", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#71", + "id": 71, + "location": "AirLocation#71", + "next": "Visit#372", + "previous": "Visit#70", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#372", + "id": 372, + "location": "AirLocation#372", + "next": "Visit#541", + "previous": "Visit#71", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#541", + "id": 541, + "location": "AirLocation#541", + "next": "Visit#313", + "previous": "Visit#372", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#313", + "id": 313, + "location": "AirLocation#313", + "next": "Visit#153", + "previous": "Visit#541", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#153", + "id": 153, + "location": "AirLocation#153", + "next": "Visit#546", + "previous": "Visit#313", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#546", + "id": 546, + "location": "AirLocation#546", + "next": "Visit#309", + "previous": "Visit#153", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#309", + "id": 309, + "location": "AirLocation#309", + "next": "Visit#312", + "previous": "Visit#546", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#312", + "id": 312, + "location": "AirLocation#312", + "next": "Visit#34", + "previous": "Visit#309", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#34", + "id": 34, + "location": "AirLocation#34", + "next": "Visit#544", + "previous": "Visit#312", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#544", + "id": 544, + "location": "AirLocation#544", + "next": "Visit#310", + "previous": "Visit#34", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#310", + "id": 310, + "location": "AirLocation#310", + "next": "Visit#49", + "previous": "Visit#544", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#49", + "id": 49, + "location": "AirLocation#49", + "next": "Visit#46", + "previous": "Visit#310", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#46", + "id": 46, + "location": "AirLocation#46", + "next": "Visit#88", + "previous": "Visit#49", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#88", + "id": 88, + "location": "AirLocation#88", + "next": "Visit#204", + "previous": "Visit#46", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#204", + "id": 204, + "location": "AirLocation#204", + "next": "Visit#631", + "previous": "Visit#88", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#631", + "id": 631, + "location": "AirLocation#631", + "next": "Visit#628", + "previous": "Visit#204", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#628", + "id": 628, + "location": "AirLocation#628", + "next": "Visit#396", + "previous": "Visit#631", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#396", + "id": 396, + "location": "AirLocation#396", + "next": "Visit#177", + "previous": "Visit#628", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#177", + "id": 177, + "location": "AirLocation#177", + "next": "Visit#412", + "previous": "Visit#396", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#412", + "id": 412, + "location": "AirLocation#412", + "next": "Visit#97", + "previous": "Visit#177", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#97", + "id": 97, + "location": "AirLocation#97", + "next": "Visit#125", + "previous": "Visit#412", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#125", + "id": 125, + "location": "AirLocation#125", + "next": "Visit#567", + "previous": "Visit#97", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#567", + "id": 567, + "location": "AirLocation#567", + "next": "Visit#570", + "previous": "Visit#125", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#570", + "id": 570, + "location": "AirLocation#570", + "next": "Visit#217", + "previous": "Visit#567", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#217", + "id": 217, + "location": "AirLocation#217", + "next": "Visit#365", + "previous": "Visit#570", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#365", + "id": 365, + "location": "AirLocation#365", + "next": "Visit#54", + "previous": "Visit#217", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#54", + "id": 54, + "location": "AirLocation#54", + "next": "Visit#561", + "previous": "Visit#365", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#561", + "id": 561, + "location": "AirLocation#561", + "next": "Visit#564", + "previous": "Visit#54", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#564", + "id": 564, + "location": "AirLocation#564", + "next": "Visit#155", + "previous": "Visit#561", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#155", + "id": 155, + "location": "AirLocation#155", + "next": "Visit#557", + "previous": "Visit#564", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#557", + "id": 557, + "location": "AirLocation#557", + "next": "Visit#202", + "previous": "Visit#155", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#202", + "id": 202, + "location": "AirLocation#202", + "next": "Visit#203", + "previous": "Visit#557", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#203", + "id": 203, + "location": "AirLocation#203", + "next": "Visit#311", + "previous": "Visit#202", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#311", + "id": 311, + "location": "AirLocation#311", + "next": "Visit#33", + "previous": "Visit#203", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#33", + "id": 33, + "location": "AirLocation#33", + "next": "Visit#201", + "previous": "Visit#311", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#201", + "id": 201, + "location": "AirLocation#201", + "next": "Visit#124", + "previous": "Visit#33", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#124", + "id": 124, + "location": "AirLocation#124", + "next": "Visit#569", + "previous": "Visit#201", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#569", + "id": 569, + "location": "AirLocation#569", + "next": "Visit#566", + "previous": "Visit#124", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#566", + "id": 566, + "location": "AirLocation#566", + "next": "Visit#216", + "previous": "Visit#569", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#216", + "id": 216, + "location": "AirLocation#216", + "next": "Visit#123", + "previous": "Visit#566", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#123", + "id": 123, + "location": "AirLocation#123", + "next": "Visit#364", + "previous": "Visit#216", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#364", + "id": 364, + "location": "AirLocation#364", + "next": "Visit#565", + "previous": "Visit#123", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#565", + "id": 565, + "location": "AirLocation#565", + "next": "Visit#568", + "previous": "Visit#364", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#568", + "id": 568, + "location": "AirLocation#568", + "next": "Visit#696", + "previous": "Visit#565", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#696", + "id": 696, + "location": "AirLocation#696", + "next": "Visit#55", + "previous": "Visit#568", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#55", + "id": 55, + "location": "AirLocation#55", + "next": "Visit#215", + "previous": "Visit#696", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#215", + "id": 215, + "location": "AirLocation#215", + "next": "Visit#363", + "previous": "Visit#55", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#363", + "id": 363, + "location": "AirLocation#363", + "next": "Visit#535", + "previous": "Visit#215", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#535", + "id": 535, + "location": "AirLocation#535", + "next": "Visit#56", + "previous": "Visit#363", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#56", + "id": 56, + "location": "AirLocation#56", + "next": "Visit#534", + "previous": "Visit#535", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#534", + "id": 534, + "location": "AirLocation#534", + "next": "Visit#1004", + "previous": "Visit#56", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1004", + "id": 1004, + "location": "AirLocation#1004", + "next": "Visit#1023", + "previous": "Visit#534", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1023", + "id": 1023, + "location": "AirLocation#1023", + "next": "Visit#1025", + "previous": "Visit#1004", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1025", + "id": 1025, + "location": "AirLocation#1025", + "next": "Visit#797", + "previous": "Visit#1023", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#797", + "id": 797, + "location": "AirLocation#797", + "next": "Visit#891", + "previous": "Visit#1025", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#891", + "id": 891, + "location": "AirLocation#891", + "next": "Visit#1005", + "previous": "Visit#797", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1005", + "id": 1005, + "location": "AirLocation#1005", + "next": "Visit#697", + "previous": "Visit#891", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#697", + "id": 697, + "location": "AirLocation#697", + "next": "Visit#1006", + "previous": "Visit#1005", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1006", + "id": 1006, + "location": "AirLocation#1006", + "next": "Visit#536", + "previous": "Visit#697", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#536", + "id": 536, + "location": "AirLocation#536", + "next": "Visit#537", + "previous": "Visit#1006", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#537", + "id": 537, + "location": "AirLocation#537", + "next": "Visit#539", + "previous": "Visit#536", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#539", + "id": 539, + "location": "AirLocation#539", + "next": "Visit#53", + "previous": "Visit#537", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#53", + "id": 53, + "location": "AirLocation#53", + "next": "Visit#538", + "previous": "Visit#539", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#538", + "id": 538, + "location": "AirLocation#538", + "next": "Visit#52", + "previous": "Visit#53", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#52", + "id": 52, + "location": "AirLocation#52", + "next": "Visit#562", + "previous": "Visit#538", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#562", + "id": 562, + "location": "AirLocation#562", + "next": "Visit#563", + "previous": "Visit#52", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#563", + "id": 563, + "location": "AirLocation#563", + "next": "Visit#1021", + "previous": "Visit#562", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1021", + "id": 1021, + "location": "AirLocation#1021", + "next": "Visit#1007", + "previous": "Visit#563", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1007", + "id": 1007, + "location": "AirLocation#1007", + "next": "Visit#694", + "previous": "Visit#1021", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#694", + "id": 694, + "location": "AirLocation#694", + "next": "Visit#680", + "previous": "Visit#1007", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#680", + "id": 680, + "location": "AirLocation#680", + "next": "Visit#737", + "previous": "Visit#694", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#737", + "id": 737, + "location": "AirLocation#737", + "next": "Visit#855", + "previous": "Visit#680", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#855", + "id": 855, + "location": "AirLocation#855", + "next": "Visit#1019", + "previous": "Visit#737", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1019", + "id": 1019, + "location": "AirLocation#1019", + "next": "Visit#788", + "previous": "Visit#855", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#788", + "id": 788, + "location": "AirLocation#788", + "next": "Visit#759", + "previous": "Visit#1019", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#759", + "id": 759, + "location": "AirLocation#759", + "next": "Visit#1017", + "previous": "Visit#788", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1017", + "id": 1017, + "location": "AirLocation#1017", + "next": "Visit#555", + "previous": "Visit#759", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#555", + "id": 555, + "location": "AirLocation#555", + "next": "Visit#556", + "previous": "Visit#1017", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#556", + "id": 556, + "location": "AirLocation#556", + "next": "Visit#157", + "previous": "Visit#555", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#157", + "id": 157, + "location": "AirLocation#157", + "next": "Visit#558", + "previous": "Visit#556", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#558", + "id": 558, + "location": "AirLocation#558", + "next": "Visit#156", + "previous": "Visit#157", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#156", + "id": 156, + "location": "AirLocation#156", + "next": "Visit#560", + "previous": "Visit#558", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#560", + "id": 560, + "location": "AirLocation#560", + "next": "Visit#559", + "previous": "Visit#156", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#559", + "id": 559, + "location": "AirLocation#559", + "next": "Visit#179", + "previous": "Visit#560", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#179", + "id": 179, + "location": "AirLocation#179", + "next": "Visit#773", + "previous": "Visit#559", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#773", + "id": 773, + "location": "AirLocation#773", + "next": "Visit#691", + "previous": "Visit#179", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#691", + "id": 691, + "location": "AirLocation#691", + "next": "Visit#984", + "previous": "Visit#773", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#984", + "id": 984, + "location": "AirLocation#984", + "next": "Visit#727", + "previous": "Visit#691", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#727", + "id": 727, + "location": "AirLocation#727", + "next": "Visit#719", + "previous": "Visit#984", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#719", + "id": 719, + "location": "AirLocation#719", + "next": "Visit#1068", + "previous": "Visit#727", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1068", + "id": 1068, + "location": "AirLocation#1068", + "next": "Visit#724", + "previous": "Visit#719", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#724", + "id": 724, + "location": "AirLocation#724", + "next": "Visit#720", + "previous": "Visit#1068", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#720", + "id": 720, + "location": "AirLocation#720", + "next": "Visit#1066", + "previous": "Visit#724", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1066", + "id": 1066, + "location": "AirLocation#1066", + "next": "Visit#693", + "previous": "Visit#720", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#693", + "id": 693, + "location": "AirLocation#693", + "next": "Visit#991", + "previous": "Visit#1066", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#991", + "id": 991, + "location": "AirLocation#991", + "next": "Visit#708", + "previous": "Visit#693", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#708", + "id": 708, + "location": "AirLocation#708", + "next": "Visit#1042", + "previous": "Visit#991", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1042", + "id": 1042, + "location": "AirLocation#1042", + "next": "Visit#883", + "previous": "Visit#708", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#883", + "id": 883, + "location": "AirLocation#883", + "next": "Visit#980", + "previous": "Visit#1042", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#980", + "id": 980, + "location": "AirLocation#980", + "next": "Visit#819", + "previous": "Visit#883", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#819", + "id": 819, + "location": "AirLocation#819", + "next": "Visit#899", + "previous": "Visit#980", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#899", + "id": 899, + "location": "AirLocation#899", + "next": "Visit#813", + "previous": "Visit#819", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#813", + "id": 813, + "location": "AirLocation#813", + "next": "Visit#816", + "previous": "Visit#899", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#816", + "id": 816, + "location": "AirLocation#816", + "next": "Visit#927", + "previous": "Visit#813", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#927", + "id": 927, + "location": "AirLocation#927", + "next": "Visit#1032", + "previous": "Visit#816", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1032", + "id": 1032, + "location": "AirLocation#1032", + "next": "Visit#982", + "previous": "Visit#927", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#982", + "id": 982, + "location": "AirLocation#982", + "next": "Visit#818", + "previous": "Visit#1032", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#818", + "id": 818, + "location": "AirLocation#818", + "next": "Visit#1081", + "previous": "Visit#982", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1081", + "id": 1081, + "location": "AirLocation#1081", + "next": "Visit#906", + "previous": "Visit#818", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#906", + "id": 906, + "location": "AirLocation#906", + "next": "Visit#822", + "previous": "Visit#1081", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#822", + "id": 822, + "location": "AirLocation#822", + "next": "Visit#824", + "previous": "Visit#906", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#824", + "id": 824, + "location": "AirLocation#824", + "next": "Visit#826", + "previous": "Visit#822", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#826", + "id": 826, + "location": "AirLocation#826", + "next": "Visit#1080", + "previous": "Visit#824", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1080", + "id": 1080, + "location": "AirLocation#1080", + "next": "Visit#828", + "previous": "Visit#826", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#828", + "id": 828, + "location": "AirLocation#828", + "next": "Visit#986", + "previous": "Visit#1080", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#986", + "id": 986, + "location": "AirLocation#986", + "next": "Visit#914", + "previous": "Visit#828", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#914", + "id": 914, + "location": "AirLocation#914", + "next": "Visit#660", + "previous": "Visit#986", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#660", + "id": 660, + "location": "AirLocation#660", + "next": "Visit#702", + "previous": "Visit#914", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#702", + "id": 702, + "location": "AirLocation#702", + "next": "Visit#704", + "previous": "Visit#660", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#704", + "id": 704, + "location": "AirLocation#704", + "next": "Visit#770", + "previous": "Visit#702", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#770", + "id": 770, + "location": "AirLocation#770", + "next": "Visit#1029", + "previous": "Visit#704", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1029", + "id": 1029, + "location": "AirLocation#1029", + "next": "Visit#881", + "previous": "Visit#770", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#881", + "id": 881, + "location": "AirLocation#881", + "next": "Visit#907", + "previous": "Visit#1029", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#907", + "id": 907, + "location": "AirLocation#907", + "next": "Visit#989", + "previous": "Visit#881", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#989", + "id": 989, + "location": "AirLocation#989", + "next": "Visit#926", + "previous": "Visit#907", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#926", + "id": 926, + "location": "AirLocation#926", + "next": "Visit#766", + "previous": "Visit#989", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#766", + "id": 766, + "location": "AirLocation#766", + "next": "Visit#769", + "previous": "Visit#926", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#769", + "id": 769, + "location": "AirLocation#769", + "next": "Visit#995", + "previous": "Visit#766", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#995", + "id": 995, + "location": "AirLocation#995", + "next": "Visit#904", + "previous": "Visit#769", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#904", + "id": 904, + "location": "AirLocation#904", + "next": "Visit#683", + "previous": "Visit#995", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#683", + "id": 683, + "location": "AirLocation#683", + "next": "Visit#476", + "previous": "Visit#904", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#476", + "id": 476, + "location": "AirLocation#476", + "next": "Visit#69", + "previous": "Visit#683", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#69", + "id": 69, + "location": "AirLocation#69", + "next": "Visit#66", + "previous": "Visit#476", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#66", + "id": 66, + "location": "AirLocation#66", + "next": "Visit#68", + "previous": "Visit#69", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#68", + "id": 68, + "location": "AirLocation#68", + "next": "Visit#383", + "previous": "Visit#66", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#383", + "id": 383, + "location": "AirLocation#383", + "next": "Visit#414", + "previous": "Visit#68", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#414", + "id": 414, + "location": "AirLocation#414", + "next": "Visit#512", + "previous": "Visit#383", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#512", + "id": 512, + "location": "AirLocation#512", + "next": "Visit#411", + "previous": "Visit#414", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#411", + "id": 411, + "location": "AirLocation#411", + "next": "Visit#416", + "previous": "Visit#512", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#416", + "id": 416, + "location": "AirLocation#416", + "next": "Visit#997", + "previous": "Visit#411", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#997", + "id": 997, + "location": "AirLocation#997", + "next": "Visit#924", + "previous": "Visit#416", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#924", + "id": 924, + "location": "AirLocation#924", + "next": "Visit#896", + "previous": "Visit#997", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#896", + "id": 896, + "location": "AirLocation#896", + "next": "Visit#1030", + "previous": "Visit#924", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1030", + "id": 1030, + "location": "AirLocation#1030", + "next": "Visit#782", + "previous": "Visit#896", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#782", + "id": 782, + "location": "AirLocation#782", + "next": "Visit#900", + "previous": "Visit#1030", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#900", + "id": 900, + "location": "AirLocation#900", + "next": "Visit#992", + "previous": "Visit#782", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#992", + "id": 992, + "location": "AirLocation#992", + "next": "Visit#1015", + "previous": "Visit#900", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1015", + "id": 1015, + "location": "AirLocation#1015", + "next": "Visit#721", + "previous": "Visit#992", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#721", + "id": 721, + "location": "AirLocation#721", + "next": "Visit#941", + "previous": "Visit#1015", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#941", + "id": 941, + "location": "AirLocation#941", + "next": "Visit#688", + "previous": "Visit#721", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#688", + "id": 688, + "location": "AirLocation#688", + "next": "Visit#711", + "previous": "Visit#941", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#711", + "id": 711, + "location": "AirLocation#711", + "next": "Visit#1016", + "previous": "Visit#688", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1016", + "id": 1016, + "location": "AirLocation#1016", + "next": "Visit#730", + "previous": "Visit#711", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#730", + "id": 730, + "location": "AirLocation#730", + "next": "Visit#446", + "previous": "Visit#1016", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#446", + "id": 446, + "location": "AirLocation#446", + "next": "Visit#438", + "previous": "Visit#730", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#438", + "id": 438, + "location": "AirLocation#438", + "next": "Visit#552", + "previous": "Visit#446", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#552", + "id": 552, + "location": "AirLocation#552", + "next": "Visit#455", + "previous": "Visit#438", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#455", + "id": 455, + "location": "AirLocation#455", + "next": "Visit#516", + "previous": "Visit#552", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#516", + "id": 516, + "location": "AirLocation#516", + "next": "Visit#524", + "previous": "Visit#455", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#524", + "id": 524, + "location": "AirLocation#524", + "next": "Visit#511", + "previous": "Visit#516", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#511", + "id": 511, + "location": "AirLocation#511", + "next": "Visit#576", + "previous": "Visit#524", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#576", + "id": 576, + "location": "AirLocation#576", + "next": "Visit#192", + "previous": "Visit#511", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#192", + "id": 192, + "location": "AirLocation#192", + "next": "Visit#461", + "previous": "Visit#576", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#461", + "id": 461, + "location": "AirLocation#461", + "next": "Visit#94", + "previous": "Visit#192", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#94", + "id": 94, + "location": "AirLocation#94", + "next": "Visit#43", + "previous": "Visit#461", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#43", + "id": 43, + "location": "AirLocation#43", + "next": "Visit#553", + "previous": "Visit#94", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#553", + "id": 553, + "location": "AirLocation#553", + "next": "Visit#458", + "previous": "Visit#43", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#458", + "id": 458, + "location": "AirLocation#458", + "next": "Visit#423", + "previous": "Visit#553", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#423", + "id": 423, + "location": "AirLocation#423", + "next": "Visit#183", + "previous": "Visit#458", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#183", + "id": 183, + "location": "AirLocation#183", + "next": "Visit#434", + "previous": "Visit#423", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#434", + "id": 434, + "location": "AirLocation#434", + "next": "Visit#187", + "previous": "Visit#183", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#187", + "id": 187, + "location": "AirLocation#187", + "next": "Visit#459", + "previous": "Visit#434", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#459", + "id": 459, + "location": "AirLocation#459", + "next": "Visit#656", + "previous": "Visit#187", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#656", + "id": 656, + "location": "AirLocation#656", + "next": "Visit#275", + "previous": "Visit#459", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#275", + "id": 275, + "location": "AirLocation#275", + "next": "Visit#226", + "previous": "Visit#656", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#226", + "id": 226, + "location": "AirLocation#226", + "next": "Visit#462", + "previous": "Visit#275", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#462", + "id": 462, + "location": "AirLocation#462", + "next": "Visit#297", + "previous": "Visit#226", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#297", + "id": 297, + "location": "AirLocation#297", + "next": "Visit#456", + "previous": "Visit#462", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#456", + "id": 456, + "location": "AirLocation#456", + "next": "Visit#613", + "previous": "Visit#297", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#613", + "id": 613, + "location": "AirLocation#613", + "next": "Visit#601", + "previous": "Visit#456", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#601", + "id": 601, + "location": "AirLocation#601", + "next": "Visit#596", + "previous": "Visit#613", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#596", + "id": 596, + "location": "AirLocation#596", + "next": "Visit#441", + "previous": "Visit#601", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#441", + "id": 441, + "location": "AirLocation#441", + "next": "Visit#602", + "previous": "Visit#596", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#602", + "id": 602, + "location": "AirLocation#602", + "next": "Visit#614", + "previous": "Visit#441", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#614", + "id": 614, + "location": "AirLocation#614", + "next": "Visit#468", + "previous": "Visit#602", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#468", + "id": 468, + "location": "AirLocation#468", + "next": "Visit#357", + "previous": "Visit#614", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#357", + "id": 357, + "location": "AirLocation#357", + "next": "Visit#473", + "previous": "Visit#468", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#473", + "id": 473, + "location": "AirLocation#473", + "next": "Visit#128", + "previous": "Visit#357", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#128", + "id": 128, + "location": "AirLocation#128", + "next": "Visit#25", + "previous": "Visit#473", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#25", + "id": 25, + "location": "AirLocation#25", + "next": "Visit#148", + "previous": "Visit#128", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#148", + "id": 148, + "location": "AirLocation#148", + "next": "Visit#181", + "previous": "Visit#25", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#181", + "id": 181, + "location": "AirLocation#181", + "next": "Visit#450", + "previous": "Visit#148", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#450", + "id": 450, + "location": "AirLocation#450", + "next": "Visit#329", + "previous": "Visit#181", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#329", + "id": 329, + "location": "AirLocation#329", + "next": "Visit#211", + "previous": "Visit#450", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#211", + "id": 211, + "location": "AirLocation#211", + "next": "Visit#444", + "previous": "Visit#329", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#444", + "id": 444, + "location": "AirLocation#444", + "next": "Visit#493", + "previous": "Visit#211", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#493", + "id": 493, + "location": "AirLocation#493", + "next": "Visit#214", + "previous": "Visit#444", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#214", + "id": 214, + "location": "AirLocation#214", + "next": "Visit#479", + "previous": "Visit#493", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#479", + "id": 479, + "location": "AirLocation#479", + "next": "Visit#425", + "previous": "Visit#214", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#425", + "id": 425, + "location": "AirLocation#425", + "next": "Visit#496", + "previous": "Visit#479", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#496", + "id": 496, + "location": "AirLocation#496", + "next": "Visit#87", + "previous": "Visit#425", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#87", + "id": 87, + "location": "AirLocation#87", + "next": "Visit#129", + "previous": "Visit#496", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#129", + "id": 129, + "location": "AirLocation#129", + "next": "Visit#358", + "previous": "Visit#87", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#358", + "id": 358, + "location": "AirLocation#358", + "next": "Visit#142", + "previous": "Visit#129", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#142", + "id": 142, + "location": "AirLocation#142", + "next": "Visit#219", + "previous": "Visit#358", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#219", + "id": 219, + "location": "AirLocation#219", + "next": "Visit#345", + "previous": "Visit#142", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#345", + "id": 345, + "location": "AirLocation#345", + "next": "Visit#85", + "previous": "Visit#219", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#85", + "id": 85, + "location": "AirLocation#85", + "next": "Visit#133", + "previous": "Visit#345", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#133", + "id": 133, + "location": "AirLocation#133", + "next": "Visit#82", + "previous": "Visit#85", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#82", + "id": 82, + "location": "AirLocation#82", + "next": "Visit#222", + "previous": "Visit#133", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#222", + "id": 222, + "location": "AirLocation#222", + "next": "Visit#38", + "previous": "Visit#82", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#38", + "id": 38, + "location": "AirLocation#38", + "next": "Visit#342", + "previous": "Visit#222", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#342", + "id": 342, + "location": "AirLocation#342", + "next": "Visit#30", + "previous": "Visit#38", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#30", + "id": 30, + "location": "AirLocation#30", + "next": "Visit#234", + "previous": "Visit#342", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#234", + "id": 234, + "location": "AirLocation#234", + "next": "Visit#339", + "previous": "Visit#30", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#339", + "id": 339, + "location": "AirLocation#339", + "next": "Visit#31", + "previous": "Visit#234", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#31", + "id": 31, + "location": "AirLocation#31", + "next": "Visit#235", + "previous": "Visit#339", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#235", + "id": 235, + "location": "AirLocation#235", + "next": "Visit#485", + "previous": "Visit#31", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#485", + "id": 485, + "location": "AirLocation#485", + "next": "Visit#130", + "previous": "Visit#235", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#130", + "id": 130, + "location": "AirLocation#130", + "next": "Visit#131", + "previous": "Visit#485", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#131", + "id": 131, + "location": "AirLocation#131", + "next": "Visit#282", + "previous": "Visit#130", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#282", + "id": 282, + "location": "AirLocation#282", + "next": "Visit#300", + "previous": "Visit#131", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#300", + "id": 300, + "location": "AirLocation#300", + "next": "Visit#716", + "previous": "Visit#282", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#716", + "id": 716, + "location": "AirLocation#716", + "next": "Visit#810", + "previous": "Visit#300", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#810", + "id": 810, + "location": "AirLocation#810", + "next": "Visit#678", + "previous": "Visit#716", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#678", + "id": 678, + "location": "AirLocation#678", + "next": "Visit#742", + "previous": "Visit#810", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#742", + "id": 742, + "location": "AirLocation#742", + "next": "Visit#840", + "previous": "Visit#678", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#840", + "id": 840, + "location": "AirLocation#840", + "next": "Visit#877", + "previous": "Visit#742", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#877", + "id": 877, + "location": "AirLocation#877", + "next": "Visit#875", + "previous": "Visit#840", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#875", + "id": 875, + "location": "AirLocation#875", + "next": "Visit#850", + "previous": "Visit#877", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#850", + "id": 850, + "location": "AirLocation#850", + "next": "Visit#685", + "previous": "Visit#875", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#685", + "id": 685, + "location": "AirLocation#685", + "next": "Visit#802", + "previous": "Visit#850", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#802", + "id": 802, + "location": "AirLocation#802", + "next": "Visit#713", + "previous": "Visit#685", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#713", + "id": 713, + "location": "AirLocation#713", + "next": "Visit#744", + "previous": "Visit#802", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#744", + "id": 744, + "location": "AirLocation#744", + "next": "Visit#715", + "previous": "Visit#713", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#715", + "id": 715, + "location": "AirLocation#715", + "next": "Visit#800", + "previous": "Visit#744", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#800", + "id": 800, + "location": "AirLocation#800", + "next": "Visit#687", + "previous": "Visit#715", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#687", + "id": 687, + "location": "AirLocation#687", + "next": "Visit#862", + "previous": "Visit#800", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#862", + "id": 862, + "location": "AirLocation#862", + "next": "Visit#879", + "previous": "Visit#687", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#879", + "id": 879, + "location": "AirLocation#879", + "next": "Visit#937", + "previous": "Visit#862", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#937", + "id": 937, + "location": "AirLocation#937", + "next": "Visit#432", + "previous": "Visit#879", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#432", + "id": 432, + "location": "AirLocation#432", + "next": "Visit#934", + "previous": "Visit#937", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#934", + "id": 934, + "location": "AirLocation#934", + "next": "Visit#807", + "previous": "Visit#432", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#807", + "id": 807, + "location": "AirLocation#807", + "next": "Visit#760", + "previous": "Visit#934", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#760", + "id": 760, + "location": "AirLocation#760", + "next": "Visit#1061", + "previous": "Visit#807", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1061", + "id": 1061, + "location": "AirLocation#1061", + "next": "Visit#665", + "previous": "Visit#760", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#665", + "id": 665, + "location": "AirLocation#665", + "next": "Visit#790", + "previous": "Visit#1061", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#790", + "id": 790, + "location": "AirLocation#790", + "next": "Visit#911", + "previous": "Visit#665", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#911", + "id": 911, + "location": "AirLocation#911", + "next": "Visit#755", + "previous": "Visit#790", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#755", + "id": 755, + "location": "AirLocation#755", + "next": "Visit#998", + "previous": "Visit#911", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#998", + "id": 998, + "location": "AirLocation#998", + "next": "Visit#999", + "previous": "Visit#755", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#999", + "id": 999, + "location": "AirLocation#999", + "next": "Visit#526", + "previous": "Visit#998", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#526", + "id": 526, + "location": "AirLocation#526", + "next": "Visit#525", + "previous": "Visit#999", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#525", + "id": 525, + "location": "AirLocation#525", + "next": "Visit#527", + "previous": "Visit#526", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#527", + "id": 527, + "location": "AirLocation#527", + "next": "Visit#917", + "previous": "Visit#525", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#917", + "id": 917, + "location": "AirLocation#917", + "next": "Visit#865", + "previous": "Visit#527", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#865", + "id": 865, + "location": "AirLocation#865", + "next": "Visit#915", + "previous": "Visit#917", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#915", + "id": 915, + "location": "AirLocation#915", + "next": "Visit#748", + "previous": "Visit#865", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#748", + "id": 748, + "location": "AirLocation#748", + "next": "Visit#838", + "previous": "Visit#915", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#838", + "id": 838, + "location": "AirLocation#838", + "next": "Visit#909", + "previous": "Visit#748", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#909", + "id": 909, + "location": "AirLocation#909", + "next": "Visit#845", + "previous": "Visit#838", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#845", + "id": 845, + "location": "AirLocation#845", + "next": "Visit#901", + "previous": "Visit#909", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#901", + "id": 901, + "location": "AirLocation#901", + "next": "Visit#832", + "previous": "Visit#845", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#832", + "id": 832, + "location": "AirLocation#832", + "next": "Visit#271", + "previous": "Visit#901", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#271", + "id": 271, + "location": "AirLocation#271", + "next": "Visit#268", + "previous": "Visit#832", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#268", + "id": 268, + "location": "AirLocation#268", + "next": "Visit#893", + "previous": "Visit#271", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#893", + "id": 893, + "location": "AirLocation#893", + "next": "Visit#872", + "previous": "Visit#268", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#872", + "id": 872, + "location": "AirLocation#872", + "next": "Visit#889", + "previous": "Visit#893", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#889", + "id": 889, + "location": "AirLocation#889", + "next": "Visit#286", + "previous": "Visit#872", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#286", + "id": 286, + "location": "AirLocation#286", + "next": "Visit#842", + "previous": "Visit#889", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#842", + "id": 842, + "location": "AirLocation#842", + "next": "Visit#1077", + "previous": "Visit#286", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1077", + "id": 1077, + "location": "AirLocation#1077", + "next": "Visit#851", + "previous": "Visit#842", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#851", + "id": 851, + "location": "AirLocation#851", + "next": "Visit#1075", + "previous": "Visit#1077", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1075", + "id": 1075, + "location": "AirLocation#1075", + "next": "Visit#859", + "previous": "Visit#851", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#859", + "id": 859, + "location": "AirLocation#859", + "next": "Visit#668", + "previous": "Visit#1075", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#668", + "id": 668, + "location": "AirLocation#668", + "next": "Visit#643", + "previous": "Visit#859", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#643", + "id": 643, + "location": "AirLocation#643", + "next": "Visit#302", + "previous": "Visit#668", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#302", + "id": 302, + "location": "AirLocation#302", + "next": "Visit#644", + "previous": "Visit#643", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#644", + "id": 644, + "location": "AirLocation#644", + "next": "Visit#645", + "previous": "Visit#302", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#645", + "id": 645, + "location": "AirLocation#645", + "next": "Visit#303", + "previous": "Visit#644", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#303", + "id": 303, + "location": "AirLocation#303", + "next": "Visit#304", + "previous": "Visit#645", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#304", + "id": 304, + "location": "AirLocation#304", + "next": "Visit#285", + "previous": "Visit#303", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#285", + "id": 285, + "location": "AirLocation#285", + "next": "Visit#287", + "previous": "Visit#304", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#287", + "id": 287, + "location": "AirLocation#287", + "next": "Visit#335", + "previous": "Visit#285", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#335", + "id": 335, + "location": "AirLocation#335", + "next": "Visit#336", + "previous": "Visit#287", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#336", + "id": 336, + "location": "AirLocation#336", + "next": "Visit#378", + "previous": "Visit#335", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#378", + "id": 378, + "location": "AirLocation#378", + "next": "Visit#293", + "previous": "Visit#336", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#293", + "id": 293, + "location": "AirLocation#293", + "next": "Visit#390", + "previous": "Visit#378", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#390", + "id": 390, + "location": "AirLocation#390", + "next": "Visit#279", + "previous": "Visit#293", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#279", + "id": 279, + "location": "AirLocation#279", + "next": "Visit#139", + "previous": "Visit#390", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#139", + "id": 139, + "location": "AirLocation#139", + "next": "Visit#399", + "previous": "Visit#279", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#399", + "id": 399, + "location": "AirLocation#399", + "next": "Visit#10", + "previous": "Visit#139", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#10", + "id": 10, + "location": "AirLocation#10", + "next": "Visit#205", + "previous": "Visit#399", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#205", + "id": 205, + "location": "AirLocation#205", + "next": "Visit#393", + "previous": "Visit#10", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#393", + "id": 393, + "location": "AirLocation#393", + "next": "Visit#149", + "previous": "Visit#205", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#149", + "id": 149, + "location": "AirLocation#149", + "next": "Visit#402", + "previous": "Visit#393", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#402", + "id": 402, + "location": "AirLocation#402", + "next": "Visit#324", + "previous": "Visit#149", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#324", + "id": 324, + "location": "AirLocation#324", + "next": "Visit#301", + "previous": "Visit#402", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#301", + "id": 301, + "location": "AirLocation#301", + "next": "Visit#283", + "previous": "Visit#324", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#283", + "id": 283, + "location": "AirLocation#283", + "next": "Visit#267", + "previous": "Visit#301", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#267", + "id": 267, + "location": "AirLocation#267", + "next": "Visit#340", + "previous": "Visit#283", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#340", + "id": 340, + "location": "AirLocation#340", + "next": "Visit#343", + "previous": "Visit#267", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#343", + "id": 343, + "location": "AirLocation#343", + "next": "Visit#39", + "previous": "Visit#340", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#39", + "id": 39, + "location": "AirLocation#39", + "next": "Visit#223", + "previous": "Visit#343", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#223", + "id": 223, + "location": "AirLocation#223", + "next": "Visit#83", + "previous": "Visit#39", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#83", + "id": 83, + "location": "AirLocation#83", + "next": "Visit#134", + "previous": "Visit#223", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#134", + "id": 134, + "location": "AirLocation#134", + "next": "Visit#86", + "previous": "Visit#83", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#86", + "id": 86, + "location": "AirLocation#86", + "next": "Visit#334", + "previous": "Visit#134", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#334", + "id": 334, + "location": "AirLocation#334", + "next": "Visit#320", + "previous": "Visit#86", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#320", + "id": 320, + "location": "AirLocation#320", + "next": "Visit#426", + "previous": "Visit#334", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#426", + "id": 426, + "location": "AirLocation#426", + "next": "Visit#622", + "previous": "Visit#320", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#622", + "id": 622, + "location": "AirLocation#622", + "next": "Visit#230", + "previous": "Visit#426", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#230", + "id": 230, + "location": "AirLocation#230", + "next": "Visit#158", + "previous": "Visit#622", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#158", + "id": 158, + "location": "AirLocation#158", + "next": "Visit#346", + "previous": "Visit#230", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#346", + "id": 346, + "location": "AirLocation#346", + "next": "Visit#220", + "previous": "Visit#158", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#220", + "id": 220, + "location": "AirLocation#220", + "next": "Visit#42", + "previous": "Visit#346", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#42", + "id": 42, + "location": "AirLocation#42", + "next": "Visit#319", + "previous": "Visit#220", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#319", + "id": 319, + "location": "AirLocation#319", + "next": "Visit#231", + "previous": "Visit#42", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#231", + "id": 231, + "location": "AirLocation#231", + "next": "Visit#11", + "previous": "Visit#319", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#11", + "id": 11, + "location": "AirLocation#11", + "next": "Visit#206", + "previous": "Visit#231", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#206", + "id": 206, + "location": "AirLocation#206", + "next": "Visit#159", + "previous": "Visit#11", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#159", + "id": 159, + "location": "AirLocation#159", + "next": "Visit#290", + "previous": "Visit#206", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#290", + "id": 290, + "location": "AirLocation#290", + "next": "Visit#400", + "previous": "Visit#159", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#400", + "id": 400, + "location": "AirLocation#400", + "next": "Visit#280", + "previous": "Visit#290", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#280", + "id": 280, + "location": "AirLocation#280", + "next": "Visit#391", + "previous": "Visit#400", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#391", + "id": 391, + "location": "AirLocation#391", + "next": "Visit#486", + "previous": "Visit#280", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#486", + "id": 486, + "location": "AirLocation#486", + "next": "Visit#138", + "previous": "Visit#391", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#138", + "id": 138, + "location": "AirLocation#138", + "next": "Visit#394", + "previous": "Visit#486", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#394", + "id": 394, + "location": "AirLocation#394", + "next": "Visit#403", + "previous": "Visit#138", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#403", + "id": 403, + "location": "AirLocation#403", + "next": "Visit#150", + "previous": "Visit#394", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#150", + "id": 150, + "location": "AirLocation#150", + "next": "Visit#623", + "previous": "Visit#403", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#623", + "id": 623, + "location": "AirLocation#623", + "next": "Visit#325", + "previous": "Visit#150", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#325", + "id": 325, + "location": "AirLocation#325", + "next": "Visit#291", + "previous": "Visit#623", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#291", + "id": 291, + "location": "AirLocation#291", + "next": "Visit#269", + "previous": "Visit#325", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#269", + "id": 269, + "location": "AirLocation#269", + "next": "Visit#379", + "previous": "Visit#291", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#379", + "id": 379, + "location": "AirLocation#379", + "next": "Visit#366", + "previous": "Visit#269", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#366", + "id": 366, + "location": "AirLocation#366", + "next": "Visit#360", + "previous": "Visit#379", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#360", + "id": 360, + "location": "AirLocation#360", + "next": "Visit#284", + "previous": "Visit#366", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#284", + "id": 284, + "location": "AirLocation#284", + "next": "Visit#647", + "previous": "Visit#360", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#647", + "id": 647, + "location": "AirLocation#647", + "next": "Visit#15", + "previous": "Visit#284", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#15", + "id": 15, + "location": "AirLocation#15", + "next": "Visit#317", + "previous": "Visit#647", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#317", + "id": 317, + "location": "AirLocation#317", + "next": "Visit#646", + "previous": "Visit#15", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#646", + "id": 646, + "location": "AirLocation#646", + "next": "Visit#305", + "previous": "Visit#317", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#305", + "id": 305, + "location": "AirLocation#305", + "next": "Visit#337", + "previous": "Visit#646", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#337", + "id": 337, + "location": "AirLocation#337", + "next": "Visit#16", + "previous": "Visit#305", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#16", + "id": 16, + "location": "AirLocation#16", + "next": "Visit#14", + "previous": "Visit#337", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#14", + "id": 14, + "location": "AirLocation#14", + "next": "Visit#746", + "previous": "Visit#16", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#746", + "id": 746, + "location": "AirLocation#746", + "next": "Visit#13", + "previous": "Visit#14", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#13", + "id": 13, + "location": "AirLocation#13", + "next": "Visit#136", + "previous": "Visit#746", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#136", + "id": 136, + "location": "AirLocation#136", + "next": "Visit#167", + "previous": "Visit#13", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#167", + "id": 167, + "location": "AirLocation#167", + "next": "Visit#765", + "previous": "Visit#136", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#765", + "id": 765, + "location": "AirLocation#765", + "next": "Visit#860", + "previous": "Visit#167", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#860", + "id": 860, + "location": "AirLocation#860", + "next": "Visit#667", + "previous": "Visit#765", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#667", + "id": 667, + "location": "AirLocation#667", + "next": "Visit#1076", + "previous": "Visit#860", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1076", + "id": 1076, + "location": "AirLocation#1076", + "next": "Visit#852", + "previous": "Visit#667", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#852", + "id": 852, + "location": "AirLocation#852", + "next": "Visit#745", + "previous": "Visit#1076", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#745", + "id": 745, + "location": "AirLocation#745", + "next": "Visit#165", + "previous": "Visit#852", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#165", + "id": 165, + "location": "AirLocation#165", + "next": "Visit#648", + "previous": "Visit#745", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#648", + "id": 648, + "location": "AirLocation#648", + "next": "Visit#166", + "previous": "Visit#165", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#166", + "id": 166, + "location": "AirLocation#166", + "next": "Visit#135", + "previous": "Visit#648", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#135", + "id": 135, + "location": "AirLocation#135", + "next": "Visit#649", + "previous": "Visit#166", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#649", + "id": 649, + "location": "AirLocation#649", + "next": "Visit#1078", + "previous": "Visit#135", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1078", + "id": 1078, + "location": "AirLocation#1078", + "next": "Visit#764", + "previous": "Visit#649", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#764", + "id": 764, + "location": "AirLocation#764", + "next": "Visit#873", + "previous": "Visit#1078", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#873", + "id": 873, + "location": "AirLocation#873", + "next": "Visit#841", + "previous": "Visit#764", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#841", + "id": 841, + "location": "AirLocation#841", + "next": "Visit#890", + "previous": "Visit#873", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#890", + "id": 890, + "location": "AirLocation#890", + "next": "Visit#763", + "previous": "Visit#841", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#763", + "id": 763, + "location": "AirLocation#763", + "next": "Visit#164", + "previous": "Visit#890", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#164", + "id": 164, + "location": "AirLocation#164", + "next": "Visit#362", + "previous": "Visit#763", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#362", + "id": 362, + "location": "AirLocation#362", + "next": "Visit#361", + "previous": "Visit#164", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#361", + "id": 361, + "location": "AirLocation#361", + "next": "Visit#163", + "previous": "Visit#362", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#163", + "id": 163, + "location": "AirLocation#163", + "next": "Visit#162", + "previous": "Visit#361", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#162", + "id": 162, + "location": "AirLocation#162", + "next": "Visit#270", + "previous": "Visit#163", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#270", + "id": 270, + "location": "AirLocation#270", + "next": "Visit#367", + "previous": "Visit#162", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#367", + "id": 367, + "location": "AirLocation#367", + "next": "Visit#368", + "previous": "Visit#270", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#368", + "id": 368, + "location": "AirLocation#368", + "next": "Visit#272", + "previous": "Visit#367", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#272", + "id": 272, + "location": "AirLocation#272", + "next": "Visit#762", + "previous": "Visit#368", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#762", + "id": 762, + "location": "AirLocation#762", + "next": "Visit#1014", + "previous": "Visit#272", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1014", + "id": 1014, + "location": "AirLocation#1014", + "next": "Visit#833", + "previous": "Visit#762", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#833", + "id": 833, + "location": "AirLocation#833", + "next": "Visit#894", + "previous": "Visit#1014", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#894", + "id": 894, + "location": "AirLocation#894", + "next": "Visit#839", + "previous": "Visit#833", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#839", + "id": 839, + "location": "AirLocation#839", + "next": "Visit#902", + "previous": "Visit#894", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#902", + "id": 902, + "location": "AirLocation#902", + "next": "Visit#551", + "previous": "Visit#839", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#551", + "id": 551, + "location": "AirLocation#551", + "next": "Visit#161", + "previous": "Visit#902", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#161", + "id": 161, + "location": "AirLocation#161", + "next": "Visit#550", + "previous": "Visit#551", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#550", + "id": 550, + "location": "AirLocation#550", + "next": "Visit#210", + "previous": "Visit#161", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#210", + "id": 210, + "location": "AirLocation#210", + "next": "Visit#916", + "previous": "Visit#550", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#916", + "id": 916, + "location": "AirLocation#916", + "next": "Visit#1062", + "previous": "Visit#210", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1062", + "id": 1062, + "location": "AirLocation#1062", + "next": "Visit#792", + "previous": "Visit#916", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#792", + "id": 792, + "location": "AirLocation#792", + "next": "Visit#549", + "previous": "Visit#1062", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#549", + "id": 549, + "location": "AirLocation#549", + "next": "Visit#1013", + "previous": "Visit#792", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1013", + "id": 1013, + "location": "AirLocation#1013", + "next": "Visit#910", + "previous": "Visit#549", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#910", + "id": 910, + "location": "AirLocation#910", + "next": "Visit#912", + "previous": "Visit#1013", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#912", + "id": 912, + "location": "AirLocation#912", + "next": "Visit#972", + "previous": "Visit#910", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#972", + "id": 972, + "location": "AirLocation#972", + "next": "Visit#975", + "previous": "Visit#912", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#975", + "id": 975, + "location": "AirLocation#975", + "next": "Visit#974", + "previous": "Visit#972", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#974", + "id": 974, + "location": "AirLocation#974", + "next": "Visit#775", + "previous": "Visit#975", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#775", + "id": 775, + "location": "AirLocation#775", + "next": "Visit#787", + "previous": "Visit#974", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#787", + "id": 787, + "location": "AirLocation#787", + "next": "Visit#844", + "previous": "Visit#775", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#844", + "id": 844, + "location": "AirLocation#844", + "next": "Visit#866", + "previous": "Visit#787", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#866", + "id": 866, + "location": "AirLocation#866", + "next": "Visit#918", + "previous": "Visit#844", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#918", + "id": 918, + "location": "AirLocation#918", + "next": "Visit#747", + "previous": "Visit#866", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#747", + "id": 747, + "location": "AirLocation#747", + "next": "Visit#979", + "previous": "Visit#918", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#979", + "id": 979, + "location": "AirLocation#979", + "next": "Visit#922", + "previous": "Visit#747", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#922", + "id": 922, + "location": "AirLocation#922", + "next": "Visit#761", + "previous": "Visit#979", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#761", + "id": 761, + "location": "AirLocation#761", + "next": "Visit#756", + "previous": "Visit#922", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#756", + "id": 756, + "location": "AirLocation#756", + "next": "Visit#785", + "previous": "Visit#761", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#785", + "id": 785, + "location": "AirLocation#785", + "next": "Visit#408", + "previous": "Visit#756", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#408", + "id": 408, + "location": "AirLocation#408", + "next": "Visit#209", + "previous": "Visit#785", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#209", + "id": 209, + "location": "AirLocation#209", + "next": "Visit#489", + "previous": "Visit#408", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#489", + "id": 489, + "location": "AirLocation#489", + "next": "Visit#491", + "previous": "Visit#209", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#491", + "id": 491, + "location": "AirLocation#491", + "next": "Visit#490", + "previous": "Visit#489", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#490", + "id": 490, + "location": "AirLocation#490", + "next": "Visit#182", + "previous": "Visit#491", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#182", + "id": 182, + "location": "AirLocation#182", + "next": "Visit#292", + "previous": "Visit#490", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#292", + "id": 292, + "location": "AirLocation#292", + "next": "Visit#200", + "previous": "Visit#182", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#200", + "id": 200, + "location": "AirLocation#200", + "next": "Visit#137", + "previous": "Visit#292", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#137", + "id": 137, + "location": "AirLocation#137", + "next": "Visit#497", + "previous": "Visit#200", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#497", + "id": 497, + "location": "AirLocation#497", + "next": "Visit#401", + "previous": "Visit#137", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#401", + "id": 401, + "location": "AirLocation#401", + "next": "Visit#281", + "previous": "Visit#497", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#281", + "id": 281, + "location": "AirLocation#281", + "next": "Visit#380", + "previous": "Visit#401", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#380", + "id": 380, + "location": "AirLocation#380", + "next": "Visit#624", + "previous": "Visit#281", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#624", + "id": 624, + "location": "AirLocation#624", + "next": "Visit#392", + "previous": "Visit#380", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#392", + "id": 392, + "location": "AirLocation#392", + "next": "Visit#395", + "previous": "Visit#624", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#395", + "id": 395, + "location": "AirLocation#395", + "next": "Visit#326", + "previous": "Visit#392", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#326", + "id": 326, + "location": "AirLocation#326", + "next": "Visit#404", + "previous": "Visit#395", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#404", + "id": 404, + "location": "AirLocation#404", + "next": "Visit#197", + "previous": "Visit#326", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#197", + "id": 197, + "location": "AirLocation#197", + "next": "Visit#151", + "previous": "Visit#404", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#151", + "id": 151, + "location": "AirLocation#151", + "next": "Visit#207", + "previous": "Visit#197", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#207", + "id": 207, + "location": "AirLocation#207", + "next": "Visit#191", + "previous": "Visit#151", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#191", + "id": 191, + "location": "AirLocation#191", + "next": "Visit#232", + "previous": "Visit#207", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#232", + "id": 232, + "location": "AirLocation#232", + "next": "Visit#480", + "previous": "Visit#191", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#480", + "id": 480, + "location": "AirLocation#480", + "next": "Visit#12", + "previous": "Visit#232", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#12", + "id": 12, + "location": "AirLocation#12", + "next": "Visit#494", + "previous": "Visit#480", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#494", + "id": 494, + "location": "AirLocation#494", + "next": "Visit#160", + "previous": "Visit#12", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#160", + "id": 160, + "location": "AirLocation#160", + "next": "Visit#208", + "previous": "Visit#494", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#208", + "id": 208, + "location": "AirLocation#208", + "next": "Visit#791", + "previous": "Visit#160", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#791", + "id": 791, + "location": "AirLocation#791", + "next": "Visit#977", + "previous": "Visit#208", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#977", + "id": 977, + "location": "AirLocation#977", + "next": "Visit#781", + "previous": "Visit#791", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#781", + "id": 781, + "location": "AirLocation#781", + "next": "Visit#666", + "previous": "Visit#977", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#666", + "id": 666, + "location": "AirLocation#666", + "next": "Visit#808", + "previous": "Visit#781", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#808", + "id": 808, + "location": "AirLocation#808", + "next": "Visit#969", + "previous": "Visit#666", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#969", + "id": 969, + "location": "AirLocation#969", + "next": "Visit#779", + "previous": "Visit#808", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#779", + "id": 779, + "location": "AirLocation#779", + "next": "Visit#965", + "previous": "Visit#969", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#965", + "id": 965, + "location": "AirLocation#965", + "next": "Visit#861", + "previous": "Visit#779", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#861", + "id": 861, + "location": "AirLocation#861", + "next": "Visit#878", + "previous": "Visit#965", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#878", + "id": 878, + "location": "AirLocation#878", + "next": "Visit#686", + "previous": "Visit#861", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#686", + "id": 686, + "location": "AirLocation#686", + "next": "Visit#714", + "previous": "Visit#878", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#714", + "id": 714, + "location": "AirLocation#714", + "next": "Visit#712", + "previous": "Visit#686", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#712", + "id": 712, + "location": "AirLocation#712", + "next": "Visit#801", + "previous": "Visit#714", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#801", + "id": 801, + "location": "AirLocation#801", + "next": "Visit#1084", + "previous": "Visit#712", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1084", + "id": 1084, + "location": "AirLocation#1084", + "next": "Visit#743", + "previous": "Visit#801", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#743", + "id": 743, + "location": "AirLocation#743", + "next": "Visit#888", + "previous": "Visit#1084", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#888", + "id": 888, + "location": "AirLocation#888", + "next": "Visit#799", + "previous": "Visit#743", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#799", + "id": 799, + "location": "AirLocation#799", + "next": "Visit#407", + "previous": "Visit#888", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#407", + "id": 407, + "location": "AirLocation#407", + "next": "Visit#188", + "previous": "Visit#799", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#188", + "id": 188, + "location": "AirLocation#188", + "next": "Visit#474", + "previous": "Visit#407", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#474", + "id": 474, + "location": "AirLocation#474", + "next": "Visit#40", + "previous": "Visit#188", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#40", + "id": 40, + "location": "AirLocation#40", + "next": "Visit#658", + "previous": "Visit#474", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#658", + "id": 658, + "location": "AirLocation#658", + "next": "Visit#359", + "previous": "Visit#40", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#359", + "id": 359, + "location": "AirLocation#359", + "next": "Visit#218", + "previous": "Visit#658", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#218", + "id": 218, + "location": "AirLocation#218", + "next": "Visit#344", + "previous": "Visit#359", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#344", + "id": 344, + "location": "AirLocation#344", + "next": "Visit#41", + "previous": "Visit#218", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#41", + "id": 41, + "location": "AirLocation#41", + "next": "Visit#318", + "previous": "Visit#344", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#318", + "id": 318, + "location": "AirLocation#318", + "next": "Visit#84", + "previous": "Visit#41", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#84", + "id": 84, + "location": "AirLocation#84", + "next": "Visit#132", + "previous": "Visit#318", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#132", + "id": 132, + "location": "AirLocation#132", + "next": "Visit#81", + "previous": "Visit#84", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#81", + "id": 81, + "location": "AirLocation#81", + "next": "Visit#221", + "previous": "Visit#132", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#221", + "id": 221, + "location": "AirLocation#221", + "next": "Visit#642", + "previous": "Visit#81", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#642", + "id": 642, + "location": "AirLocation#642", + "next": "Visit#37", + "previous": "Visit#221", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#37", + "id": 37, + "location": "AirLocation#37", + "next": "Visit#289", + "previous": "Visit#642", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#289", + "id": 289, + "location": "AirLocation#289", + "next": "Visit#29", + "previous": "Visit#37", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#29", + "id": 29, + "location": "AirLocation#29", + "next": "Visit#621", + "previous": "Visit#289", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#621", + "id": 621, + "location": "AirLocation#621", + "next": "Visit#233", + "previous": "Visit#29", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#233", + "id": 233, + "location": "AirLocation#233", + "next": "Visit#341", + "previous": "Visit#621", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#341", + "id": 341, + "location": "AirLocation#341", + "next": "Visit#100", + "previous": "Visit#233", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#100", + "id": 100, + "location": "AirLocation#100", + "next": "Visit#338", + "previous": "Visit#341", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#338", + "id": 338, + "location": "AirLocation#338", + "next": "Visit#26", + "previous": "Visit#100", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#26", + "id": 26, + "location": "AirLocation#26", + "next": "Visit#314", + "previous": "Visit#338", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#314", + "id": 314, + "location": "AirLocation#314", + "next": "Visit#332", + "previous": "Visit#26", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#332", + "id": 332, + "location": "AirLocation#332", + "next": "Visit#17", + "previous": "Visit#314", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#17", + "id": 17, + "location": "AirLocation#17", + "next": "Visit#237", + "previous": "Visit#332", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#237", + "id": 237, + "location": "AirLocation#237", + "next": "Visit#657", + "previous": "Visit#17", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#657", + "id": 657, + "location": "AirLocation#657", + "next": "Visit#236", + "previous": "Visit#237", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#236", + "id": 236, + "location": "AirLocation#236", + "next": "Visit#615", + "previous": "Visit#657", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#615", + "id": 615, + "location": "AirLocation#615", + "next": "Visit#406", + "previous": "Visit#236", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#406", + "id": 406, + "location": "AirLocation#406", + "next": "Visit#639", + "previous": "Visit#615", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#639", + "id": 639, + "location": "AirLocation#639", + "next": "Visit#1074", + "previous": "Visit#406", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1074", + "id": 1074, + "location": "AirLocation#1074", + "next": "Visit#684", + "previous": "Visit#639", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#684", + "id": 684, + "location": "AirLocation#684", + "next": "Visit#1072", + "previous": "Visit#1074", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1072", + "id": 1072, + "location": "AirLocation#1072", + "next": "Visit#750", + "previous": "Visit#684", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#750", + "id": 750, + "location": "AirLocation#750", + "next": "Visit#1060", + "previous": "Visit#1072", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1060", + "id": 1060, + "location": "AirLocation#1060", + "next": "Visit#809", + "previous": "Visit#750", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#809", + "id": 809, + "location": "AirLocation#809", + "next": "Visit#921", + "previous": "Visit#1060", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#921", + "id": 921, + "location": "AirLocation#921", + "next": "Visit#677", + "previous": "Visit#809", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#677", + "id": 677, + "location": "AirLocation#677", + "next": "Visit#717", + "previous": "Visit#921", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#717", + "id": 717, + "location": "AirLocation#717", + "next": "Visit#741", + "previous": "Visit#677", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#741", + "id": 741, + "location": "AirLocation#741", + "next": "Visit#876", + "previous": "Visit#717", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#876", + "id": 876, + "location": "AirLocation#876", + "next": "Visit#488", + "previous": "Visit#741", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#488", + "id": 488, + "location": "AirLocation#488", + "next": "Visit#1056", + "previous": "Visit#876", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1056", + "id": 1056, + "location": "AirLocation#1056", + "next": "Visit#725", + "previous": "Visit#488", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#725", + "id": 725, + "location": "AirLocation#725", + "next": "Visit#874", + "previous": "Visit#1056", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#874", + "id": 874, + "location": "AirLocation#874", + "next": "Visit#811", + "previous": "Visit#725", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#811", + "id": 811, + "location": "AirLocation#811", + "next": "Visit#1048", + "previous": "Visit#874", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1048", + "id": 1048, + "location": "AirLocation#1048", + "next": "Visit#669", + "previous": "Visit#811", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#669", + "id": 669, + "location": "AirLocation#669", + "next": "Visit#675", + "previous": "Visit#1048", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#675", + "id": 675, + "location": "AirLocation#675", + "next": "Visit#870", + "previous": "Visit#669", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#870", + "id": 870, + "location": "AirLocation#870", + "next": "Visit#597", + "previous": "Visit#675", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#597", + "id": 597, + "location": "AirLocation#597", + "next": "Visit#638", + "previous": "Visit#870", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#638", + "id": 638, + "location": "AirLocation#638", + "next": "Visit#603", + "previous": "Visit#597", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#603", + "id": 603, + "location": "AirLocation#603", + "next": "Visit#857", + "previous": "Visit#638", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#857", + "id": 857, + "location": "AirLocation#857", + "next": "Visit#1044", + "previous": "Visit#603", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1044", + "id": 1044, + "location": "AirLocation#1044", + "next": "Visit#740", + "previous": "Visit#857", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#740", + "id": 740, + "location": "AirLocation#740", + "next": "Visit#674", + "previous": "Visit#1044", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#674", + "id": 674, + "location": "AirLocation#674", + "next": "Visit#945", + "previous": "Visit#740", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#945", + "id": 945, + "location": "AirLocation#945", + "next": "Visit#793", + "previous": "Visit#674", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#793", + "id": 793, + "location": "AirLocation#793", + "next": "Visit#943", + "previous": "Visit#945", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#943", + "id": 943, + "location": "AirLocation#943", + "next": "Visit#868", + "previous": "Visit#793", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#868", + "id": 868, + "location": "AirLocation#868", + "next": "Visit#754", + "previous": "Visit#943", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#754", + "id": 754, + "location": "AirLocation#754", + "next": "Visit#887", + "previous": "Visit#868", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#887", + "id": 887, + "location": "AirLocation#887", + "next": "Visit#949", + "previous": "Visit#754", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#949", + "id": 949, + "location": "AirLocation#949", + "next": "Visit#796", + "previous": "Visit#887", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#796", + "id": 796, + "location": "AirLocation#796", + "next": "Visit#961", + "previous": "Visit#949", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#961", + "id": 961, + "location": "AirLocation#961", + "next": "Visit#1083", + "previous": "Visit#796", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1083", + "id": 1083, + "location": "AirLocation#1083", + "next": "Visit#955", + "previous": "Visit#961", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#955", + "id": 955, + "location": "AirLocation#955", + "next": "Visit#1071", + "previous": "Visit#1083", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1071", + "id": 1071, + "location": "AirLocation#1071", + "next": "Visit#1073", + "previous": "Visit#955", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1073", + "id": 1073, + "location": "AirLocation#1073", + "next": "Visit#951", + "previous": "Visit#1071", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#951", + "id": 951, + "location": "AirLocation#951", + "next": "Visit#835", + "previous": "Visit#1073", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#835", + "id": 835, + "location": "AirLocation#835", + "next": "Visit#1059", + "previous": "Visit#951", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1059", + "id": 1059, + "location": "AirLocation#1059", + "next": "Visit#837", + "previous": "Visit#835", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#837", + "id": 837, + "location": "AirLocation#837", + "next": "Visit#637", + "previous": "Visit#1059", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#637", + "id": 637, + "location": "AirLocation#637", + "next": "Visit#447", + "previous": "Visit#837", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#447", + "id": 447, + "location": "AirLocation#447", + "next": "Visit#947", + "previous": "Visit#637", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#947", + "id": 947, + "location": "AirLocation#947", + "next": "Visit#959", + "previous": "Visit#447", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#959", + "id": 959, + "location": "AirLocation#959", + "next": "Visit#1047", + "previous": "Visit#947", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1047", + "id": 1047, + "location": "AirLocation#1047", + "next": "Visit#1055", + "previous": "Visit#959", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1055", + "id": 1055, + "location": "AirLocation#1055", + "next": "Visit#804", + "previous": "Visit#1047", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#804", + "id": 804, + "location": "AirLocation#804", + "next": "Visit#953", + "previous": "Visit#1055", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#953", + "id": 953, + "location": "AirLocation#953", + "next": "Visit#957", + "previous": "Visit#804", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#957", + "id": 957, + "location": "AirLocation#957", + "next": "Visit#848", + "previous": "Visit#953", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#848", + "id": 848, + "location": "AirLocation#848", + "next": "Visit#1043", + "previous": "Visit#957", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1043", + "id": 1043, + "location": "AirLocation#1043", + "next": "Visit#752", + "previous": "Visit#848", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#752", + "id": 752, + "location": "AirLocation#752", + "next": "Visit#595", + "previous": "Visit#1043", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#595", + "id": 595, + "location": "AirLocation#595", + "next": "Visit#573", + "previous": "Visit#752", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#573", + "id": 573, + "location": "AirLocation#573", + "next": "Visit#417", + "previous": "Visit#595", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#417", + "id": 417, + "location": "AirLocation#417", + "next": "Visit#928", + "previous": "Visit#573", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#928", + "id": 928, + "location": "AirLocation#928", + "next": "Visit#806", + "previous": "Visit#417", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#806", + "id": 806, + "location": "AirLocation#806", + "next": "Visit#663", + "previous": "Visit#928", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#663", + "id": 663, + "location": "AirLocation#663", + "next": "Visit#1028", + "previous": "Visit#806", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1028", + "id": 1028, + "location": "AirLocation#1028", + "next": "Visit#864", + "previous": "Visit#663", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#864", + "id": 864, + "location": "AirLocation#864", + "next": "Visit#908", + "previous": "Visit#1028", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#908", + "id": 908, + "location": "AirLocation#908", + "next": "Visit#930", + "previous": "Visit#864", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#930", + "id": 930, + "location": "AirLocation#930", + "next": "Visit#847", + "previous": "Visit#908", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#847", + "id": 847, + "location": "AirLocation#847", + "next": "Visit#963", + "previous": "Visit#930", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#963", + "id": 963, + "location": "AirLocation#963", + "next": "Visit#661", + "previous": "Visit#847", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#661", + "id": 661, + "location": "AirLocation#661", + "next": "Visit#939", + "previous": "Visit#963", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#939", + "id": 939, + "location": "AirLocation#939", + "next": "Visit#920", + "previous": "Visit#661", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#920", + "id": 920, + "location": "AirLocation#920", + "next": "Visit#477", + "previous": "Visit#939", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#477", + "id": 477, + "location": "AirLocation#477", + "next": "Visit#671", + "previous": "Visit#920", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#671", + "id": 671, + "location": "AirLocation#671", + "next": "Visit#776", + "previous": "Visit#477", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#776", + "id": 776, + "location": "AirLocation#776", + "next": "Visit#967", + "previous": "Visit#671", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#967", + "id": 967, + "location": "AirLocation#967", + "next": "Visit#932", + "previous": "Visit#776", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#932", + "id": 932, + "location": "AirLocation#932", + "next": "Visit#1027", + "previous": "Visit#967", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1027", + "id": 1027, + "location": "AirLocation#1027", + "next": "Visit#571", + "previous": "Visit#932", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#571", + "id": 571, + "location": "AirLocation#571", + "next": "Visit#554", + "previous": "Visit#1027", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#554", + "id": 554, + "location": "AirLocation#554", + "next": "Visit#440", + "previous": "Visit#571", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#440", + "id": 440, + "location": "AirLocation#440", + "next": "Visit#572", + "previous": "Visit#554", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#572", + "id": 572, + "location": "AirLocation#572", + "next": "Visit#435", + "previous": "Visit#440", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#435", + "id": 435, + "location": "AirLocation#435", + "next": "Visit#4", + "previous": "Visit#572", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#4", + "id": 4, + "location": "AirLocation#4", + "next": "Visit#5", + "previous": "Visit#435", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#5", + "id": 5, + "location": "AirLocation#5", + "next": "Visit#420", + "previous": "Visit#4", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#420", + "id": 420, + "location": "AirLocation#420", + "next": "Visit#229", + "previous": "Visit#5", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#229", + "id": 229, + "location": "AirLocation#229", + "next": "Visit#145", + "previous": "Visit#420", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#145", + "id": 145, + "location": "AirLocation#145", + "next": "Visit#225", + "previous": "Visit#229", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#225", + "id": 225, + "location": "AirLocation#225", + "next": "Visit#298", + "previous": "Visit#145", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#298", + "id": 298, + "location": "AirLocation#298", + "next": "Visit#274", + "previous": "Visit#225", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#274", + "id": 274, + "location": "AirLocation#274", + "next": "Visit#640", + "previous": "Visit#298", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#640", + "id": 640, + "location": "AirLocation#640", + "next": "Visit#453", + "previous": "Visit#274", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#453", + "id": 453, + "location": "AirLocation#453", + "next": "Visit#278", + "previous": "Visit#640", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#278", + "id": 278, + "location": "AirLocation#278", + "next": "Visit#619", + "previous": "Visit#453", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#619", + "id": 619, + "location": "AirLocation#619", + "next": "Visit#465", + "previous": "Visit#278", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#465", + "id": 465, + "location": "AirLocation#465", + "next": "Visit#199", + "previous": "Visit#619", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#199", + "id": 199, + "location": "AirLocation#199", + "next": "Visit#7", + "previous": "Visit#465", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#7", + "id": 7, + "location": "AirLocation#7", + "next": "Visit#323", + "previous": "Visit#199", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#323", + "id": 323, + "location": "AirLocation#323", + "next": "Visit#389", + "previous": "Visit#7", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#389", + "id": 389, + "location": "AirLocation#389", + "next": "Visit#296", + "previous": "Visit#323", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#296", + "id": 296, + "location": "AirLocation#296", + "next": "Visit#471", + "previous": "Visit#389", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#471", + "id": 471, + "location": "AirLocation#471", + "next": "Visit#20", + "previous": "Visit#296", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#20", + "id": 20, + "location": "AirLocation#20", + "next": "Visit#467", + "previous": "Visit#471", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#467", + "id": 467, + "location": "AirLocation#467", + "next": "Visit#108", + "previous": "Visit#20", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#108", + "id": 108, + "location": "AirLocation#108", + "next": "Visit#44", + "previous": "Visit#467", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#44", + "id": 44, + "location": "AirLocation#44", + "next": "Visit#95", + "previous": "Visit#108", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#95", + "id": 95, + "location": "AirLocation#95", + "next": "Visit#377", + "previous": "Visit#44", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#377", + "id": 377, + "location": "AirLocation#377", + "next": "Visit#371", + "previous": "Visit#95", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#371", + "id": 371, + "location": "AirLocation#371", + "next": "Visit#523", + "previous": "Visit#377", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#523", + "id": 523, + "location": "AirLocation#523", + "next": "Visit#517", + "previous": "Visit#371", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#517", + "id": 517, + "location": "AirLocation#517", + "next": "Visit#193", + "previous": "Visit#523", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#193", + "id": 193, + "location": "AirLocation#193", + "next": "Visit#419", + "previous": "Visit#517", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#419", + "id": 419, + "location": "AirLocation#419", + "next": "Visit#464", + "previous": "Visit#193", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#464", + "id": 464, + "location": "AirLocation#464", + "next": "Visit#472", + "previous": "Visit#419", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#472", + "id": 472, + "location": "AirLocation#472", + "next": "Visit#452", + "previous": "Visit#464", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#452", + "id": 452, + "location": "AirLocation#452", + "next": "Visit#80", + "previous": "Visit#472", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#80", + "id": 80, + "location": "AirLocation#80", + "next": "Visit#184", + "previous": "Visit#452", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#184", + "id": 184, + "location": "AirLocation#184", + "next": "Visit#405", + "previous": "Visit#80", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#405", + "id": 405, + "location": "AirLocation#405", + "next": "Visit#487", + "previous": "Visit#184", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#487", + "id": 487, + "location": "AirLocation#487", + "next": "Visit#433", + "previous": "Visit#405", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#433", + "id": 433, + "location": "AirLocation#433", + "next": "Visit#6", + "previous": "Visit#487", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#6", + "id": 6, + "location": "AirLocation#6", + "next": "Visit#228", + "previous": "Visit#433", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#228", + "id": 228, + "location": "AirLocation#228", + "next": "Visit#190", + "previous": "Visit#6", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#190", + "id": 190, + "location": "AirLocation#190", + "next": "Visit#144", + "previous": "Visit#228", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#144", + "id": 144, + "location": "AirLocation#144", + "next": "Visit#196", + "previous": "Visit#190", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#196", + "id": 196, + "location": "AirLocation#196", + "next": "Visit#224", + "previous": "Visit#144", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#224", + "id": 224, + "location": "AirLocation#224", + "next": "Visit#299", + "previous": "Visit#196", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#299", + "id": 299, + "location": "AirLocation#299", + "next": "Visit#273", + "previous": "Visit#224", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#273", + "id": 273, + "location": "AirLocation#273", + "next": "Visit#147", + "previous": "Visit#299", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#147", + "id": 147, + "location": "AirLocation#147", + "next": "Visit#288", + "previous": "Visit#273", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#288", + "id": 288, + "location": "AirLocation#288", + "next": "Visit#277", + "previous": "Visit#147", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#277", + "id": 277, + "location": "AirLocation#277", + "next": "Visit#8", + "previous": "Visit#288", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#8", + "id": 8, + "location": "AirLocation#8", + "next": "Visit#328", + "previous": "Visit#277", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#328", + "id": 328, + "location": "AirLocation#328", + "next": "Visit#212", + "previous": "Visit#8", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#212", + "id": 212, + "location": "AirLocation#212", + "next": "Visit#24", + "previous": "Visit#328", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#24", + "id": 24, + "location": "AirLocation#24", + "next": "Visit#315", + "previous": "Visit#212", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#315", + "id": 315, + "location": "AirLocation#315", + "next": "Visit#620", + "previous": "Visit#24", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#620", + "id": 620, + "location": "AirLocation#620", + "next": "Visit#127", + "previous": "Visit#315", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#127", + "id": 127, + "location": "AirLocation#127", + "next": "Visit#331", + "previous": "Visit#620", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#331", + "id": 331, + "location": "AirLocation#331", + "next": "Visit#641", + "previous": "Visit#127", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#641", + "id": 641, + "location": "AirLocation#641", + "next": "Visit#238", + "previous": "Visit#331", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#238", + "id": 238, + "location": "AirLocation#238", + "next": "Visit#101", + "previous": "Visit#641", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#101", + "id": 101, + "location": "AirLocation#101", + "next": "Visit#18", + "previous": "Visit#238", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#18", + "id": 18, + "location": "AirLocation#18", + "next": "Visit#27", + "previous": "Visit#101", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#27", + "id": 27, + "location": "AirLocation#27", + "next": "Visit#330", + "previous": "Visit#18", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#330", + "id": 330, + "location": "AirLocation#330", + "next": "Visit#141", + "previous": "Visit#27", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#141", + "id": 141, + "location": "AirLocation#141", + "next": "Visit#19", + "previous": "Visit#330", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#19", + "id": 19, + "location": "AirLocation#19", + "next": "Visit#102", + "previous": "Visit#141", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#102", + "id": 102, + "location": "AirLocation#102", + "next": "Visit#28", + "previous": "Visit#19", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#28", + "id": 28, + "location": "AirLocation#28", + "next": "Visit#316", + "previous": "Visit#102", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#316", + "id": 316, + "location": "AirLocation#316", + "next": "Visit#333", + "previous": "Visit#28", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#333", + "id": 333, + "location": "AirLocation#333", + "next": "Visit#726", + "previous": "Visit#316", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#726", + "id": 726, + "location": "AirLocation#726", + "next": "Visit#812", + "previous": "Visit#333", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#812", + "id": 812, + "location": "AirLocation#812", + "next": "Visit#670", + "previous": "Visit#726", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#670", + "id": 670, + "location": "AirLocation#670", + "next": "Visit#676", + "previous": "Visit#812", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#676", + "id": 676, + "location": "AirLocation#676", + "next": "Visit#871", + "previous": "Visit#670", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#871", + "id": 871, + "location": "AirLocation#871", + "next": "Visit#858", + "previous": "Visit#676", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#858", + "id": 858, + "location": "AirLocation#858", + "next": "Visit#869", + "previous": "Visit#871", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#869", + "id": 869, + "location": "AirLocation#869", + "next": "Visit#831", + "previous": "Visit#858", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#831", + "id": 831, + "location": "AirLocation#831", + "next": "Visit#673", + "previous": "Visit#869", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#673", + "id": 673, + "location": "AirLocation#673", + "next": "Visit#794", + "previous": "Visit#831", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#794", + "id": 794, + "location": "AirLocation#794", + "next": "Visit#749", + "previous": "Visit#673", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#749", + "id": 749, + "location": "AirLocation#749", + "next": "Visit#739", + "previous": "Visit#794", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#739", + "id": 739, + "location": "AirLocation#739", + "next": "Visit#266", + "previous": "Visit#749", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#266", + "id": 266, + "location": "AirLocation#266", + "next": "Visit#431", + "previous": "Visit#739", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#431", + "id": 431, + "location": "AirLocation#431", + "next": "Visit#23", + "previous": "Visit#266", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#23", + "id": 23, + "location": "AirLocation#23", + "next": "Visit#213", + "previous": "Visit#431", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#213", + "id": 213, + "location": "AirLocation#213", + "next": "Visit#126", + "previous": "Visit#23", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#126", + "id": 126, + "location": "AirLocation#126", + "next": "Visit#140", + "previous": "Visit#213", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#140", + "id": 140, + "location": "AirLocation#140", + "next": "Visit#22", + "previous": "Visit#126", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#22", + "id": 22, + "location": "AirLocation#22", + "next": "Visit#9", + "previous": "Visit#140", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#9", + "id": 9, + "location": "AirLocation#9", + "next": "Visit#327", + "previous": "Visit#22", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#327", + "id": 327, + "location": "AirLocation#327", + "next": "Visit#276", + "previous": "Visit#9", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#276", + "id": 276, + "location": "AirLocation#276", + "next": "Visit#146", + "previous": "Visit#327", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#146", + "id": 146, + "location": "AirLocation#146", + "next": "Visit#21", + "previous": "Visit#276", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#21", + "id": 21, + "location": "AirLocation#21", + "next": "Visit#143", + "previous": "Visit#146", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#143", + "id": 143, + "location": "AirLocation#143", + "next": "Visit#227", + "previous": "Visit#21", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#227", + "id": 227, + "location": "AirLocation#227", + "next": "Visit#295", + "previous": "Visit#143", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#295", + "id": 295, + "location": "AirLocation#295", + "next": "Visit#424", + "previous": "Visit#227", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#424", + "id": 424, + "location": "AirLocation#424", + "next": "Visit#443", + "previous": "Visit#295", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#443", + "id": 443, + "location": "AirLocation#443", + "next": "Visit#185", + "previous": "Visit#424", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#185", + "id": 185, + "location": "AirLocation#185", + "next": "Visit#484", + "previous": "Visit#443", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#484", + "id": 484, + "location": "AirLocation#484", + "next": "Visit#294", + "previous": "Visit#185", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#294", + "id": 294, + "location": "AirLocation#294", + "next": "Visit#322", + "previous": "Visit#484", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#322", + "id": 322, + "location": "AirLocation#322", + "next": "Visit#321", + "previous": "Visit#294", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#321", + "id": 321, + "location": "AirLocation#321", + "next": "Visit#664", + "previous": "Visit#322", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#664", + "id": 664, + "location": "AirLocation#664", + "next": "Visit#849", + "previous": "Visit#321", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#849", + "id": 849, + "location": "AirLocation#849", + "next": "Visit#836", + "previous": "Visit#664", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#836", + "id": 836, + "location": "AirLocation#836", + "next": "Visit#867", + "previous": "Visit#849", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#867", + "id": 867, + "location": "AirLocation#867", + "next": "Visit#843", + "previous": "Visit#836", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#843", + "id": 843, + "location": "AirLocation#843", + "next": "Visit#795", + "previous": "Visit#867", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#795", + "id": 795, + "location": "AirLocation#795", + "next": "Visit#672", + "previous": "Visit#843", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#672", + "id": 672, + "location": "AirLocation#672", + "next": "Visit#834", + "previous": "Visit#795", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#834", + "id": 834, + "location": "AirLocation#834", + "next": "Visit#803", + "previous": "Visit#672", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#803", + "id": 803, + "location": "AirLocation#803", + "next": "Visit#753", + "previous": "Visit#834", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#753", + "id": 753, + "location": "AirLocation#753", + "next": "Visit#751", + "previous": "Visit#803", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#751", + "id": 751, + "location": "AirLocation#751", + "next": "Visit#805", + "previous": "Visit#753", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#805", + "id": 805, + "location": "AirLocation#805", + "next": "Visit#662", + "previous": "Visit#751", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#662", + "id": 662, + "location": "AirLocation#662", + "next": "Visit#863", + "previous": "Visit#805", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#863", + "id": 863, + "location": "AirLocation#863", + "next": "Visit#846", + "previous": "Visit#662", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#846", + "id": 846, + "location": "AirLocation#846", + "next": "Visit#971", + "previous": "Visit#863", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#971", + "id": 971, + "location": "AirLocation#971", + "next": "Visit#483", + "previous": "Visit#846", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#483", + "id": 483, + "location": "AirLocation#483", + "next": "Visit#482", + "previous": "Visit#971", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#482", + "id": 482, + "location": "AirLocation#482", + "next": "Visit#481", + "previous": "Visit#483", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#481", + "id": 481, + "location": "AirLocation#481", + "next": "Visit#430", + "previous": "Visit#482", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#430", + "id": 430, + "location": "AirLocation#430", + "next": "Visit#588", + "previous": "Visit#481", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#588", + "id": 588, + "location": "AirLocation#588", + "next": "Visit#428", + "previous": "Visit#430", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#428", + "id": 428, + "location": "AirLocation#428", + "next": "Visit#935", + "previous": "Visit#588", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#935", + "id": 935, + "location": "AirLocation#935", + "next": "Visit#777", + "previous": "Visit#428", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#777", + "id": 777, + "location": "AirLocation#777", + "next": "Visit#122", + "previous": "Visit#935", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#122", + "id": 122, + "location": "AirLocation#122", + "next": "Visit#427", + "previous": "Visit#777", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#427", + "id": 427, + "location": "AirLocation#427", + "next": "Visit#429", + "previous": "Visit#122", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#429", + "id": 429, + "location": "AirLocation#429", + "next": "Visit#933", + "previous": "Visit#427", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#933", + "id": 933, + "location": "AirLocation#933", + "next": "Visit#970", + "previous": "Visit#429", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#970", + "id": 970, + "location": "AirLocation#970", + "next": "Visit#936", + "previous": "Visit#933", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#936", + "id": 936, + "location": "AirLocation#936", + "next": "Visit#919", + "previous": "Visit#970", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#919", + "id": 919, + "location": "AirLocation#919", + "next": "Visit#973", + "previous": "Visit#936", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#973", + "id": 973, + "location": "AirLocation#973", + "next": "Visit#1038", + "previous": "Visit#919", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1038", + "id": 1038, + "location": "AirLocation#1038", + "next": "Visit#938", + "previous": "Visit#973", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#938", + "id": 938, + "location": "AirLocation#938", + "next": "Visit#736", + "previous": "Visit#1038", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#736", + "id": 736, + "location": "AirLocation#736", + "next": "Visit#735", + "previous": "Visit#938", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#735", + "id": 735, + "location": "AirLocation#735", + "next": "Visit#1040", + "previous": "Visit#736", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1040", + "id": 1040, + "location": "AirLocation#1040", + "next": "Visit#612", + "previous": "Visit#735", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#612", + "id": 612, + "location": "AirLocation#612", + "next": "Visit#119", + "previous": "Visit#1040", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#119", + "id": 119, + "location": "AirLocation#119", + "next": "Visit#121", + "previous": "Visit#612", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#121", + "id": 121, + "location": "AirLocation#121", + "next": "Visit#120", + "previous": "Visit#119", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#120", + "id": 120, + "location": "AirLocation#120", + "next": "Visit#117", + "previous": "Visit#121", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#117", + "id": 117, + "location": "AirLocation#117", + "next": "Visit#618", + "previous": "Visit#120", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#618", + "id": 618, + "location": "AirLocation#618", + "next": "Visit#114", + "previous": "Visit#117", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#114", + "id": 114, + "location": "AirLocation#114", + "next": "Visit#118", + "previous": "Visit#618", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#118", + "id": 118, + "location": "AirLocation#118", + "next": "Visit#591", + "previous": "Visit#114", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#591", + "id": 591, + "location": "AirLocation#591", + "next": "Visit#115", + "previous": "Visit#118", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#115", + "id": 115, + "location": "AirLocation#115", + "next": "Visit#116", + "previous": "Visit#591", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#116", + "id": 116, + "location": "AirLocation#116", + "next": "Visit#113", + "previous": "Visit#115", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#113", + "id": 113, + "location": "AirLocation#113", + "next": "Visit#111", + "previous": "Visit#116", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#111", + "id": 111, + "location": "AirLocation#111", + "next": "Visit#109", + "previous": "Visit#113", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#109", + "id": 109, + "location": "AirLocation#109", + "next": "Visit#112", + "previous": "Visit#111", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#112", + "id": 112, + "location": "AirLocation#112", + "next": "Visit#110", + "previous": "Visit#109", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#110", + "id": 110, + "location": "AirLocation#110", + "next": "Visit#587", + "previous": "Visit#112", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#587", + "id": 587, + "location": "AirLocation#587", + "next": "Visit#106", + "previous": "Visit#110", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#106", + "id": 106, + "location": "AirLocation#106", + "next": "Visit#968", + "previous": "Visit#587", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#968", + "id": 968, + "location": "AirLocation#968", + "next": "Visit#731", + "previous": "Visit#106", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#731", + "id": 731, + "location": "AirLocation#731", + "next": "Visit#1058", + "previous": "Visit#968", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1058", + "id": 1058, + "location": "AirLocation#1058", + "next": "Visit#1054", + "previous": "Visit#731", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1054", + "id": 1054, + "location": "AirLocation#1054", + "next": "Visit#734", + "previous": "Visit#1058", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#734", + "id": 734, + "location": "AirLocation#734", + "next": "Visit#733", + "previous": "Visit#1054", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#733", + "id": 733, + "location": "AirLocation#733", + "next": "Visit#978", + "previous": "Visit#734", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#978", + "id": 978, + "location": "AirLocation#978", + "next": "Visit#732", + "previous": "Visit#733", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#732", + "id": 732, + "location": "AirLocation#732", + "next": "Visit#976", + "previous": "Visit#978", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#976", + "id": 976, + "location": "AirLocation#976", + "next": "Visit#729", + "previous": "Visit#732", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#729", + "id": 729, + "location": "AirLocation#729", + "next": "Visit#710", + "previous": "Visit#976", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#710", + "id": 710, + "location": "AirLocation#710", + "next": "Visit#689", + "previous": "Visit#729", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#689", + "id": 689, + "location": "AirLocation#689", + "next": "Visit#964", + "previous": "Visit#710", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#964", + "id": 964, + "location": "AirLocation#964", + "next": "Visit#1064", + "previous": "Visit#689", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1064", + "id": 1064, + "location": "AirLocation#1064", + "next": "Visit#722", + "previous": "Visit#964", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#722", + "id": 722, + "location": "AirLocation#722", + "next": "Visit#611", + "previous": "Visit#1064", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#611", + "id": 611, + "location": "AirLocation#611", + "next": "Visit#586", + "previous": "Visit#722", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#586", + "id": 586, + "location": "AirLocation#586", + "next": "Visit#606", + "previous": "Visit#611", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#606", + "id": 606, + "location": "AirLocation#606", + "next": "Visit#1037", + "previous": "Visit#586", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1037", + "id": 1037, + "location": "AirLocation#1037", + "next": "Visit#783", + "previous": "Visit#606", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#783", + "id": 783, + "location": "AirLocation#783", + "next": "Visit#993", + "previous": "Visit#1037", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#993", + "id": 993, + "location": "AirLocation#993", + "next": "Visit#1050", + "previous": "Visit#783", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1050", + "id": 1050, + "location": "AirLocation#1050", + "next": "Visit#1039", + "previous": "Visit#993", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1039", + "id": 1039, + "location": "AirLocation#1039", + "next": "Visit#1046", + "previous": "Visit#1050", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1046", + "id": 1046, + "location": "AirLocation#1046", + "next": "Visit#996", + "previous": "Visit#1039", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#996", + "id": 996, + "location": "AirLocation#996", + "next": "Visit#1053", + "previous": "Visit#1046", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1053", + "id": 1053, + "location": "AirLocation#1053", + "next": "Visit#610", + "previous": "Visit#996", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#610", + "id": 610, + "location": "AirLocation#610", + "next": "Visit#988", + "previous": "Visit#1053", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#988", + "id": 988, + "location": "AirLocation#988", + "next": "Visit#767", + "previous": "Visit#610", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#767", + "id": 767, + "location": "AirLocation#767", + "next": "Visit#1036", + "previous": "Visit#988", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1036", + "id": 1036, + "location": "AirLocation#1036", + "next": "Visit#616", + "previous": "Visit#767", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#616", + "id": 616, + "location": "AirLocation#616", + "next": "Visit#520", + "previous": "Visit#1036", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#520", + "id": 520, + "location": "AirLocation#520", + "next": "Visit#519", + "previous": "Visit#616", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#519", + "id": 519, + "location": "AirLocation#519", + "next": "Visit#768", + "previous": "Visit#520", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#768", + "id": 768, + "location": "AirLocation#768", + "next": "Visit#1057", + "previous": "Visit#519", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1057", + "id": 1057, + "location": "AirLocation#1057", + "next": "Visit#774", + "previous": "Visit#768", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#774", + "id": 774, + "location": "AirLocation#774", + "next": "Visit#994", + "previous": "Visit#1057", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#994", + "id": 994, + "location": "AirLocation#994", + "next": "Visit#944", + "previous": "Visit#774", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#944", + "id": 944, + "location": "AirLocation#944", + "next": "Visit#942", + "previous": "Visit#994", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#942", + "id": 942, + "location": "AirLocation#942", + "next": "Visit#1001", + "previous": "Visit#944", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1001", + "id": 1001, + "location": "AirLocation#1001", + "next": "Visit#682", + "previous": "Visit#942", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#682", + "id": 682, + "location": "AirLocation#682", + "next": "Visit#347", + "previous": "Visit#1001", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#347", + "id": 347, + "location": "AirLocation#347", + "next": "Visit#349", + "previous": "Visit#682", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#349", + "id": 349, + "location": "AirLocation#349", + "next": "Visit#529", + "previous": "Visit#347", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#529", + "id": 529, + "location": "AirLocation#529", + "next": "Visit#528", + "previous": "Visit#349", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#528", + "id": 528, + "location": "AirLocation#528", + "next": "Visit#350", + "previous": "Visit#529", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#350", + "id": 350, + "location": "AirLocation#350", + "next": "Visit#530", + "previous": "Visit#528", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#530", + "id": 530, + "location": "AirLocation#530", + "next": "Visit#1000", + "previous": "Visit#350", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1000", + "id": 1000, + "location": "AirLocation#1000", + "next": "Visit#882", + "previous": "Visit#530", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#882", + "id": 882, + "location": "AirLocation#882", + "next": "Visit#880", + "previous": "Visit#1000", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#880", + "id": 880, + "location": "AirLocation#880", + "next": "Visit#771", + "previous": "Visit#882", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#771", + "id": 771, + "location": "AirLocation#771", + "next": "Visit#703", + "previous": "Visit#880", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#703", + "id": 703, + "location": "AirLocation#703", + "next": "Visit#1063", + "previous": "Visit#771", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1063", + "id": 1063, + "location": "AirLocation#1063", + "next": "Visit#1070", + "previous": "Visit#703", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1070", + "id": 1070, + "location": "AirLocation#1070", + "next": "Visit#948", + "previous": "Visit#1063", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#948", + "id": 948, + "location": "AirLocation#948", + "next": "Visit#636", + "previous": "Visit#1070", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#636", + "id": 636, + "location": "AirLocation#636", + "next": "Visit#987", + "previous": "Visit#948", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#987", + "id": 987, + "location": "AirLocation#987", + "next": "Visit#1049", + "previous": "Visit#636", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1049", + "id": 1049, + "location": "AirLocation#1049", + "next": "Visit#604", + "previous": "Visit#987", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#604", + "id": 604, + "location": "AirLocation#604", + "next": "Visit#1045", + "previous": "Visit#1049", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1045", + "id": 1045, + "location": "AirLocation#1045", + "next": "Visit#960", + "previous": "Visit#604", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#960", + "id": 960, + "location": "AirLocation#960", + "next": "Visit#898", + "previous": "Visit#1045", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#898", + "id": 898, + "location": "AirLocation#898", + "next": "Visit#950", + "previous": "Visit#960", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#950", + "id": 950, + "location": "AirLocation#950", + "next": "Visit#946", + "previous": "Visit#898", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#946", + "id": 946, + "location": "AirLocation#946", + "next": "Visit#786", + "previous": "Visit#950", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#786", + "id": 786, + "location": "AirLocation#786", + "next": "Visit#784", + "previous": "Visit#946", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#784", + "id": 784, + "location": "AirLocation#784", + "next": "Visit#895", + "previous": "Visit#786", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#895", + "id": 895, + "location": "AirLocation#895", + "next": "Visit#952", + "previous": "Visit#784", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#952", + "id": 952, + "location": "AirLocation#952", + "next": "Visit#778", + "previous": "Visit#895", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#778", + "id": 778, + "location": "AirLocation#778", + "next": "Visit#983", + "previous": "Visit#952", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#983", + "id": 983, + "location": "AirLocation#983", + "next": "Visit#956", + "previous": "Visit#778", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#956", + "id": 956, + "location": "AirLocation#956", + "next": "Visit#1052", + "previous": "Visit#983", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1052", + "id": 1052, + "location": "AirLocation#1052", + "next": "Visit#825", + "previous": "Visit#956", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#825", + "id": 825, + "location": "AirLocation#825", + "next": "Visit#823", + "previous": "Visit#1052", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#823", + "id": 823, + "location": "AirLocation#823", + "next": "Visit#817", + "previous": "Visit#825", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#817", + "id": 817, + "location": "AirLocation#817", + "next": "Visit#821", + "previous": "Visit#823", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#821", + "id": 821, + "location": "AirLocation#821", + "next": "Visit#635", + "previous": "Visit#817", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#635", + "id": 635, + "location": "AirLocation#635", + "next": "Visit#581", + "previous": "Visit#821", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#581", + "id": 581, + "location": "AirLocation#581", + "next": "Visit#827", + "previous": "Visit#635", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#827", + "id": 827, + "location": "AirLocation#827", + "next": "Visit#728", + "previous": "Visit#581", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#728", + "id": 728, + "location": "AirLocation#728", + "next": "Visit#659", + "previous": "Visit#827", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#659", + "id": 659, + "location": "AirLocation#659", + "next": "Visit#815", + "previous": "Visit#728", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#815", + "id": 815, + "location": "AirLocation#815", + "next": "Visit#820", + "previous": "Visit#659", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#820", + "id": 820, + "location": "AirLocation#820", + "next": "Visit#814", + "previous": "Visit#815", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#814", + "id": 814, + "location": "AirLocation#814", + "next": "Visit#701", + "previous": "Visit#820", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#701", + "id": 701, + "location": "AirLocation#701", + "next": "Visit#884", + "previous": "Visit#814", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#884", + "id": 884, + "location": "AirLocation#884", + "next": "Visit#931", + "previous": "Visit#701", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#931", + "id": 931, + "location": "AirLocation#931", + "next": "Visit#981", + "previous": "Visit#884", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#981", + "id": 981, + "location": "AirLocation#981", + "next": "Visit#1031", + "previous": "Visit#931", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1031", + "id": 1031, + "location": "AirLocation#1031", + "next": "Visit#903", + "previous": "Visit#981", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#903", + "id": 903, + "location": "AirLocation#903", + "next": "Visit#1033", + "previous": "Visit#1031", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1033", + "id": 1033, + "location": "AirLocation#1033", + "next": "Visit#709", + "previous": "Visit#903", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#709", + "id": 709, + "location": "AirLocation#709", + "next": "Visit#700", + "previous": "Visit#1033", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#700", + "id": 700, + "location": "AirLocation#700", + "next": "Visit#962", + "previous": "Visit#709", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#962", + "id": 962, + "location": "AirLocation#962", + "next": "Visit#990", + "previous": "Visit#700", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#990", + "id": 990, + "location": "AirLocation#990", + "next": "Visit#1079", + "previous": "Visit#962", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#1079", + "id": 1079, + "location": "AirLocation#1079", + "next": "Visit#580", + "previous": "Visit#990", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#580", + "id": 580, + "location": "AirLocation#580", + "next": "Visit#61", + "previous": "Visit#1079", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#61", + "id": 61, + "location": "AirLocation#61", + "next": "Visit#608", + "previous": "Visit#580", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#608", + "id": 608, + "location": "AirLocation#608", + "next": "Visit#60", + "previous": "Visit#61", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#60", + "id": 60, + "location": "AirLocation#60", + "next": "Visit#373", + "previous": "Visit#608", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#373", + "id": 373, + "location": "AirLocation#373", + "next": "Visit#260", + "previous": "Visit#60", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#260", + "id": 260, + "location": "AirLocation#260", + "next": "Visit#257", + "previous": "Visit#373", + "tour": "Tour#1" + }, + { + "@type": "Visit", + "@id": "Visit#257", + "id": 257, + "location": "AirLocation#257", + "next": null, + "previous": "Visit#260", + "tour": "Tour#1" } - } - }, "Visit#63", "Visit#64", "Visit#65", "Visit#66", "Visit#67", "Visit#68", "Visit#69", "Visit#70", "Visit#71", "Visit#72", "Visit#73", "Visit#74", "Visit#75", "Visit#76", "Visit#77", "Visit#78", "Visit#79", "Visit#80", "Visit#81", "Visit#82", "Visit#83", "Visit#84", "Visit#85", "Visit#86", "Visit#87", "Visit#88", "Visit#89", "Visit#90", "Visit#91", "Visit#92", "Visit#93", "Visit#94", "Visit#95", "Visit#96", "Visit#97", "Visit#98", "Visit#99", "Visit#100", "Visit#101", "Visit#102", "Visit#103", "Visit#104", "Visit#105", "Visit#106", "Visit#107", "Visit#108", "Visit#109", "Visit#110", "Visit#111", "Visit#112", "Visit#113", "Visit#114", "Visit#115", "Visit#116", "Visit#117", "Visit#118", "Visit#119", "Visit#120", "Visit#121", "Visit#122", "Visit#123", "Visit#124", "Visit#125", "Visit#126", "Visit#127", "Visit#128", "Visit#129", "Visit#130", "Visit#131", "Visit#132", "Visit#133", "Visit#134", "Visit#135", "Visit#136", "Visit#137", "Visit#138", "Visit#139", "Visit#140", "Visit#141", "Visit#142", "Visit#143", "Visit#144", "Visit#145", "Visit#146", "Visit#147", "Visit#148", "Visit#149", "Visit#150", "Visit#151", "Visit#152", "Visit#153", "Visit#154", "Visit#155", "Visit#156", "Visit#157", "Visit#158", "Visit#159", "Visit#160", "Visit#161", "Visit#162", "Visit#163", "Visit#164", "Visit#165", "Visit#166", "Visit#167", "Visit#168", "Visit#169", "Visit#170", "Visit#171", "Visit#172", "Visit#173", "Visit#174", "Visit#175", "Visit#176", "Visit#177", "Visit#178", "Visit#179", "Visit#180", "Visit#181", "Visit#182", "Visit#183", "Visit#184", "Visit#185", "Visit#186", "Visit#187", "Visit#188", "Visit#189", "Visit#190", "Visit#191", "Visit#192", "Visit#193", "Visit#194", "Visit#195", "Visit#196", "Visit#197", "Visit#198", "Visit#199", "Visit#200", "Visit#201", "Visit#202", "Visit#203", "Visit#204", "Visit#205", "Visit#206", "Visit#207", "Visit#208", "Visit#209", "Visit#210", "Visit#211", "Visit#212", "Visit#213", "Visit#214", "Visit#215", "Visit#216", "Visit#217", "Visit#218", "Visit#219", "Visit#220", "Visit#221", "Visit#222", "Visit#223", "Visit#224", "Visit#225", "Visit#226", "Visit#227", "Visit#228", "Visit#229", "Visit#230", "Visit#231", "Visit#232", "Visit#233", "Visit#234", "Visit#235", "Visit#236", "Visit#237", "Visit#238", "Visit#239", "Visit#240", "Visit#241", "Visit#242", "Visit#243", "Visit#244", "Visit#245", "Visit#246", "Visit#247", "Visit#248", "Visit#249", "Visit#250", "Visit#251", "Visit#252", "Visit#253", "Visit#254", "Visit#255", "Visit#256", { - "@type" : "visit", - "@id" : "Visit#257", - "id" : 257, - "location" : "AirLocation#257", - "previousStandstill" : "Visit#62" - }, "Visit#258", "Visit#259", { - "@type" : "visit", - "@id" : "Visit#260", - "id" : 260, - "location" : "AirLocation#260", - "previousStandstill" : "Visit#257" - }, "Visit#261", "Visit#262", "Visit#263", "Visit#264", "Visit#265", "Visit#266", "Visit#267", "Visit#268", "Visit#269", "Visit#270", "Visit#271", "Visit#272", "Visit#273", "Visit#274", "Visit#275", "Visit#276", "Visit#277", "Visit#278", "Visit#279", "Visit#280", "Visit#281", "Visit#282", "Visit#283", "Visit#284", "Visit#285", "Visit#286", "Visit#287", "Visit#288", "Visit#289", "Visit#290", "Visit#291", "Visit#292", "Visit#293", "Visit#294", "Visit#295", "Visit#296", "Visit#297", "Visit#298", "Visit#299", "Visit#300", "Visit#301", "Visit#302", "Visit#303", "Visit#304", "Visit#305", "Visit#306", "Visit#307", "Visit#308", "Visit#309", "Visit#310", "Visit#311", "Visit#312", "Visit#313", "Visit#314", "Visit#315", "Visit#316", "Visit#317", "Visit#318", "Visit#319", "Visit#320", "Visit#321", "Visit#322", "Visit#323", "Visit#324", "Visit#325", "Visit#326", "Visit#327", "Visit#328", "Visit#329", "Visit#330", "Visit#331", "Visit#332", "Visit#333", "Visit#334", "Visit#335", "Visit#336", "Visit#337", "Visit#338", "Visit#339", "Visit#340", "Visit#341", "Visit#342", "Visit#343", "Visit#344", "Visit#345", "Visit#346", "Visit#347", "Visit#348", "Visit#349", "Visit#350", "Visit#351", "Visit#352", "Visit#353", "Visit#354", "Visit#355", "Visit#356", "Visit#357", "Visit#358", "Visit#359", "Visit#360", "Visit#361", "Visit#362", "Visit#363", "Visit#364", "Visit#365", "Visit#366", "Visit#367", "Visit#368", "Visit#369", "Visit#370", "Visit#371", "Visit#372", "Visit#373", "Visit#374", "Visit#375", "Visit#376", "Visit#377", "Visit#378", "Visit#379", "Visit#380", "Visit#381", "Visit#382", "Visit#383", "Visit#384", "Visit#385", "Visit#386", "Visit#387", "Visit#388", "Visit#389", "Visit#390", "Visit#391", "Visit#392", "Visit#393", "Visit#394", "Visit#395", "Visit#396", "Visit#397", "Visit#398", "Visit#399", "Visit#400", "Visit#401", "Visit#402", "Visit#403", "Visit#404", "Visit#405", "Visit#406", "Visit#407", "Visit#408", "Visit#409", "Visit#410", "Visit#411", "Visit#412", "Visit#413", "Visit#414", "Visit#415", "Visit#416", "Visit#417", "Visit#418", "Visit#419", "Visit#420", "Visit#421", "Visit#422", "Visit#423", "Visit#424", "Visit#425", "Visit#426", "Visit#427", "Visit#428", "Visit#429", "Visit#430", "Visit#431", "Visit#432", "Visit#433", "Visit#434", "Visit#435", "Visit#436", "Visit#437", "Visit#438", "Visit#439", "Visit#440", "Visit#441", "Visit#442", "Visit#443", "Visit#444", "Visit#445", "Visit#446", "Visit#447", "Visit#448", "Visit#449", "Visit#450", "Visit#451", "Visit#452", "Visit#453", "Visit#454", "Visit#455", "Visit#456", "Visit#457", "Visit#458", "Visit#459", "Visit#460", "Visit#461", "Visit#462", "Visit#463", "Visit#464", "Visit#465", "Visit#466", "Visit#467", "Visit#468", "Visit#469", "Visit#470", "Visit#471", "Visit#472", "Visit#473", "Visit#474", "Visit#475", "Visit#476", "Visit#477", "Visit#478", "Visit#479", "Visit#480", "Visit#481", "Visit#482", "Visit#483", "Visit#484", "Visit#485", "Visit#486", "Visit#487", "Visit#488", "Visit#489", "Visit#490", "Visit#491", "Visit#492", "Visit#493", "Visit#494", "Visit#495", "Visit#496", "Visit#497", "Visit#498", "Visit#499", "Visit#500", "Visit#501", "Visit#502", "Visit#503", "Visit#504", "Visit#505", "Visit#506", "Visit#507", "Visit#508", "Visit#509", "Visit#510", "Visit#511", "Visit#512", "Visit#513", "Visit#514", "Visit#515", "Visit#516", "Visit#517", "Visit#518", "Visit#519", "Visit#520", "Visit#521", "Visit#522", "Visit#523", "Visit#524", "Visit#525", "Visit#526", "Visit#527", "Visit#528", "Visit#529", "Visit#530", "Visit#531", "Visit#532", "Visit#533", "Visit#534", "Visit#535", "Visit#536", "Visit#537", "Visit#538", "Visit#539", "Visit#540", "Visit#541", "Visit#542", "Visit#543", "Visit#544", "Visit#545", "Visit#546", "Visit#547", "Visit#548", "Visit#549", "Visit#550", "Visit#551", "Visit#552", "Visit#553", "Visit#554", "Visit#555", "Visit#556", "Visit#557", "Visit#558", "Visit#559", "Visit#560", "Visit#561", "Visit#562", "Visit#563", "Visit#564", "Visit#565", "Visit#566", "Visit#567", "Visit#568", "Visit#569", "Visit#570", "Visit#571", "Visit#572", "Visit#573", "Visit#574", "Visit#575", "Visit#576", "Visit#577", "Visit#578", "Visit#579", "Visit#580", "Visit#581", "Visit#582", "Visit#583", "Visit#584", "Visit#585", "Visit#586", "Visit#587", "Visit#588", "Visit#589", "Visit#590", "Visit#591", "Visit#592", "Visit#593", "Visit#594", "Visit#595", "Visit#596", "Visit#597", "Visit#598", "Visit#599", "Visit#600", "Visit#601", "Visit#602", "Visit#603", "Visit#604", "Visit#605", "Visit#606", "Visit#607", "Visit#608", "Visit#609", "Visit#610", "Visit#611", "Visit#612", "Visit#613", "Visit#614", "Visit#615", "Visit#616", "Visit#617", "Visit#618", "Visit#619", "Visit#620", "Visit#621", "Visit#622", "Visit#623", "Visit#624", "Visit#625", "Visit#626", "Visit#627", "Visit#628", "Visit#629", "Visit#630", "Visit#631", "Visit#632", "Visit#633", "Visit#634", "Visit#635", "Visit#636", "Visit#637", "Visit#638", "Visit#639", "Visit#640", "Visit#641", "Visit#642", "Visit#643", "Visit#644", "Visit#645", "Visit#646", "Visit#647", "Visit#648", "Visit#649", "Visit#650", "Visit#651", "Visit#652", "Visit#653", "Visit#654", "Visit#655", "Visit#656", "Visit#657", "Visit#658", "Visit#659", "Visit#660", "Visit#661", "Visit#662", "Visit#663", "Visit#664", "Visit#665", "Visit#666", "Visit#667", "Visit#668", "Visit#669", "Visit#670", "Visit#671", "Visit#672", "Visit#673", "Visit#674", "Visit#675", "Visit#676", "Visit#677", "Visit#678", "Visit#679", "Visit#680", "Visit#681", "Visit#682", "Visit#683", "Visit#684", "Visit#685", "Visit#686", "Visit#687", "Visit#688", "Visit#689", "Visit#690", "Visit#691", "Visit#692", "Visit#693", "Visit#694", "Visit#695", "Visit#696", "Visit#697", "Visit#698", "Visit#699", "Visit#700", "Visit#701", "Visit#702", "Visit#703", "Visit#704", "Visit#705", "Visit#706", "Visit#707", "Visit#708", "Visit#709", "Visit#710", "Visit#711", "Visit#712", "Visit#713", "Visit#714", "Visit#715", "Visit#716", "Visit#717", "Visit#718", "Visit#719", "Visit#720", "Visit#721", "Visit#722", "Visit#723", "Visit#724", "Visit#725", "Visit#726", "Visit#727", "Visit#728", "Visit#729", "Visit#730", "Visit#731", "Visit#732", "Visit#733", "Visit#734", "Visit#735", "Visit#736", "Visit#737", "Visit#738", "Visit#739", "Visit#740", "Visit#741", "Visit#742", "Visit#743", "Visit#744", "Visit#745", "Visit#746", "Visit#747", "Visit#748", "Visit#749", "Visit#750", "Visit#751", "Visit#752", "Visit#753", "Visit#754", "Visit#755", "Visit#756", "Visit#757", "Visit#758", "Visit#759", "Visit#760", "Visit#761", "Visit#762", "Visit#763", "Visit#764", "Visit#765", "Visit#766", "Visit#767", "Visit#768", "Visit#769", "Visit#770", "Visit#771", "Visit#772", "Visit#773", "Visit#774", "Visit#775", "Visit#776", "Visit#777", "Visit#778", "Visit#779", "Visit#780", "Visit#781", "Visit#782", "Visit#783", "Visit#784", "Visit#785", "Visit#786", "Visit#787", "Visit#788", "Visit#789", "Visit#790", "Visit#791", "Visit#792", "Visit#793", "Visit#794", "Visit#795", "Visit#796", "Visit#797", "Visit#798", "Visit#799", "Visit#800", "Visit#801", "Visit#802", "Visit#803", "Visit#804", "Visit#805", "Visit#806", "Visit#807", "Visit#808", "Visit#809", "Visit#810", "Visit#811", "Visit#812", "Visit#813", "Visit#814", "Visit#815", "Visit#816", "Visit#817", "Visit#818", "Visit#819", "Visit#820", "Visit#821", "Visit#822", "Visit#823", "Visit#824", "Visit#825", "Visit#826", "Visit#827", "Visit#828", "Visit#829", "Visit#830", "Visit#831", "Visit#832", "Visit#833", "Visit#834", "Visit#835", "Visit#836", "Visit#837", "Visit#838", "Visit#839", "Visit#840", "Visit#841", "Visit#842", "Visit#843", "Visit#844", "Visit#845", "Visit#846", "Visit#847", "Visit#848", "Visit#849", "Visit#850", "Visit#851", "Visit#852", "Visit#853", "Visit#854", "Visit#855", "Visit#856", "Visit#857", "Visit#858", "Visit#859", "Visit#860", "Visit#861", "Visit#862", "Visit#863", "Visit#864", "Visit#865", "Visit#866", "Visit#867", "Visit#868", "Visit#869", "Visit#870", "Visit#871", "Visit#872", "Visit#873", "Visit#874", "Visit#875", "Visit#876", "Visit#877", "Visit#878", "Visit#879", "Visit#880", "Visit#881", "Visit#882", "Visit#883", "Visit#884", "Visit#885", "Visit#886", "Visit#887", "Visit#888", "Visit#889", "Visit#890", "Visit#891", "Visit#892", "Visit#893", "Visit#894", "Visit#895", "Visit#896", "Visit#897", "Visit#898", "Visit#899", "Visit#900", "Visit#901", "Visit#902", "Visit#903", "Visit#904", "Visit#905", "Visit#906", "Visit#907", "Visit#908", "Visit#909", "Visit#910", "Visit#911", "Visit#912", "Visit#913", "Visit#914", "Visit#915", "Visit#916", "Visit#917", "Visit#918", "Visit#919", "Visit#920", "Visit#921", "Visit#922", "Visit#923", "Visit#924", "Visit#925", "Visit#926", "Visit#927", "Visit#928", "Visit#929", "Visit#930", "Visit#931", "Visit#932", "Visit#933", "Visit#934", "Visit#935", "Visit#936", "Visit#937", "Visit#938", "Visit#939", "Visit#940", "Visit#941", "Visit#942", "Visit#943", "Visit#944", "Visit#945", "Visit#946", "Visit#947", "Visit#948", "Visit#949", "Visit#950", "Visit#951", "Visit#952", "Visit#953", "Visit#954", "Visit#955", "Visit#956", "Visit#957", "Visit#958", "Visit#959", "Visit#960", "Visit#961", "Visit#962", "Visit#963", "Visit#964", "Visit#965", "Visit#966", "Visit#967", "Visit#968", "Visit#969", "Visit#970", "Visit#971", "Visit#972", "Visit#973", "Visit#974", "Visit#975", "Visit#976", "Visit#977", "Visit#978", "Visit#979", "Visit#980", "Visit#981", "Visit#982", "Visit#983", "Visit#984", "Visit#985", "Visit#986", "Visit#987", "Visit#988", "Visit#989", "Visit#990", "Visit#991", "Visit#992", "Visit#993", "Visit#994", "Visit#995", "Visit#996", "Visit#997", "Visit#998", "Visit#999", "Visit#1000", "Visit#1001", "Visit#1002", "Visit#1003", "Visit#1004", "Visit#1005", "Visit#1006", "Visit#1007", "Visit#1008", "Visit#1009", "Visit#1010", "Visit#1011", "Visit#1012", "Visit#1013", "Visit#1014", "Visit#1015", "Visit#1016", "Visit#1017", "Visit#1018", "Visit#1019", "Visit#1020", "Visit#1021", "Visit#1022", "Visit#1023", "Visit#1024", "Visit#1025", "Visit#1026", "Visit#1027", "Visit#1028", "Visit#1029", "Visit#1030", "Visit#1031", "Visit#1032", "Visit#1033", "Visit#1034", "Visit#1035", "Visit#1036", "Visit#1037", "Visit#1038", "Visit#1039", "Visit#1040", "Visit#1041", "Visit#1042", "Visit#1043", "Visit#1044", "Visit#1045", "Visit#1046", "Visit#1047", "Visit#1048", "Visit#1049", "Visit#1050", "Visit#1051", "Visit#1052", "Visit#1053", "Visit#1054", "Visit#1055", "Visit#1056", "Visit#1057", "Visit#1058", "Visit#1059", "Visit#1060", "Visit#1061", "Visit#1062", "Visit#1063", "Visit#1064", "Visit#1065", "Visit#1066", "Visit#1067", "Visit#1068", "Visit#1069", "Visit#1070", "Visit#1071", "Visit#1072", "Visit#1073", "Visit#1074", "Visit#1075", "Visit#1076", "Visit#1077", "Visit#1078", "Visit#1079", "Visit#1080", "Visit#1081", "Visit#1082", "Visit#1083", "Visit#1084" ], - "score" : "-284394" -} \ No newline at end of file + ] + }, + "visitList": [ + "Visit#2", + "Visit#3", + "Visit#4", + "Visit#5", + "Visit#6", + "Visit#7", + "Visit#8", + "Visit#9", + "Visit#10", + "Visit#11", + "Visit#12", + "Visit#13", + "Visit#14", + "Visit#15", + "Visit#16", + "Visit#17", + "Visit#18", + "Visit#19", + "Visit#20", + "Visit#21", + "Visit#22", + "Visit#23", + "Visit#24", + "Visit#25", + "Visit#26", + "Visit#27", + "Visit#28", + "Visit#29", + "Visit#30", + "Visit#31", + "Visit#32", + "Visit#33", + "Visit#34", + "Visit#35", + "Visit#36", + "Visit#37", + "Visit#38", + "Visit#39", + "Visit#40", + "Visit#41", + "Visit#42", + "Visit#43", + "Visit#44", + "Visit#45", + "Visit#46", + "Visit#47", + "Visit#48", + "Visit#49", + "Visit#50", + "Visit#51", + "Visit#52", + "Visit#53", + "Visit#54", + "Visit#55", + "Visit#56", + "Visit#57", + "Visit#58", + "Visit#59", + "Visit#60", + "Visit#61", + "Visit#62", + "Visit#63", + "Visit#64", + "Visit#65", + "Visit#66", + "Visit#67", + "Visit#68", + "Visit#69", + "Visit#70", + "Visit#71", + "Visit#72", + "Visit#73", + "Visit#74", + "Visit#75", + "Visit#76", + "Visit#77", + "Visit#78", + "Visit#79", + "Visit#80", + "Visit#81", + "Visit#82", + "Visit#83", + "Visit#84", + "Visit#85", + "Visit#86", + "Visit#87", + "Visit#88", + "Visit#89", + "Visit#90", + "Visit#91", + "Visit#92", + "Visit#93", + "Visit#94", + "Visit#95", + "Visit#96", + "Visit#97", + "Visit#98", + "Visit#99", + "Visit#100", + "Visit#101", + "Visit#102", + "Visit#103", + "Visit#104", + "Visit#105", + "Visit#106", + "Visit#107", + "Visit#108", + "Visit#109", + "Visit#110", + "Visit#111", + "Visit#112", + "Visit#113", + "Visit#114", + "Visit#115", + "Visit#116", + "Visit#117", + "Visit#118", + "Visit#119", + "Visit#120", + "Visit#121", + "Visit#122", + "Visit#123", + "Visit#124", + "Visit#125", + "Visit#126", + "Visit#127", + "Visit#128", + "Visit#129", + "Visit#130", + "Visit#131", + "Visit#132", + "Visit#133", + "Visit#134", + "Visit#135", + "Visit#136", + "Visit#137", + "Visit#138", + "Visit#139", + "Visit#140", + "Visit#141", + "Visit#142", + "Visit#143", + "Visit#144", + "Visit#145", + "Visit#146", + "Visit#147", + "Visit#148", + "Visit#149", + "Visit#150", + "Visit#151", + "Visit#152", + "Visit#153", + "Visit#154", + "Visit#155", + "Visit#156", + "Visit#157", + "Visit#158", + "Visit#159", + "Visit#160", + "Visit#161", + "Visit#162", + "Visit#163", + "Visit#164", + "Visit#165", + "Visit#166", + "Visit#167", + "Visit#168", + "Visit#169", + "Visit#170", + "Visit#171", + "Visit#172", + "Visit#173", + "Visit#174", + "Visit#175", + "Visit#176", + "Visit#177", + "Visit#178", + "Visit#179", + "Visit#180", + "Visit#181", + "Visit#182", + "Visit#183", + "Visit#184", + "Visit#185", + "Visit#186", + "Visit#187", + "Visit#188", + "Visit#189", + "Visit#190", + "Visit#191", + "Visit#192", + "Visit#193", + "Visit#194", + "Visit#195", + "Visit#196", + "Visit#197", + "Visit#198", + "Visit#199", + "Visit#200", + "Visit#201", + "Visit#202", + "Visit#203", + "Visit#204", + "Visit#205", + "Visit#206", + "Visit#207", + "Visit#208", + "Visit#209", + "Visit#210", + "Visit#211", + "Visit#212", + "Visit#213", + "Visit#214", + "Visit#215", + "Visit#216", + "Visit#217", + "Visit#218", + "Visit#219", + "Visit#220", + "Visit#221", + "Visit#222", + "Visit#223", + "Visit#224", + "Visit#225", + "Visit#226", + "Visit#227", + "Visit#228", + "Visit#229", + "Visit#230", + "Visit#231", + "Visit#232", + "Visit#233", + "Visit#234", + "Visit#235", + "Visit#236", + "Visit#237", + "Visit#238", + "Visit#239", + "Visit#240", + "Visit#241", + "Visit#242", + "Visit#243", + "Visit#244", + "Visit#245", + "Visit#246", + "Visit#247", + "Visit#248", + "Visit#249", + "Visit#250", + "Visit#251", + "Visit#252", + "Visit#253", + "Visit#254", + "Visit#255", + "Visit#256", + "Visit#257", + "Visit#258", + "Visit#259", + "Visit#260", + "Visit#261", + "Visit#262", + "Visit#263", + "Visit#264", + "Visit#265", + "Visit#266", + "Visit#267", + "Visit#268", + "Visit#269", + "Visit#270", + "Visit#271", + "Visit#272", + "Visit#273", + "Visit#274", + "Visit#275", + "Visit#276", + "Visit#277", + "Visit#278", + "Visit#279", + "Visit#280", + "Visit#281", + "Visit#282", + "Visit#283", + "Visit#284", + "Visit#285", + "Visit#286", + "Visit#287", + "Visit#288", + "Visit#289", + "Visit#290", + "Visit#291", + "Visit#292", + "Visit#293", + "Visit#294", + "Visit#295", + "Visit#296", + "Visit#297", + "Visit#298", + "Visit#299", + "Visit#300", + "Visit#301", + "Visit#302", + "Visit#303", + "Visit#304", + "Visit#305", + "Visit#306", + "Visit#307", + "Visit#308", + "Visit#309", + "Visit#310", + "Visit#311", + "Visit#312", + "Visit#313", + "Visit#314", + "Visit#315", + "Visit#316", + "Visit#317", + "Visit#318", + "Visit#319", + "Visit#320", + "Visit#321", + "Visit#322", + "Visit#323", + "Visit#324", + "Visit#325", + "Visit#326", + "Visit#327", + "Visit#328", + "Visit#329", + "Visit#330", + "Visit#331", + "Visit#332", + "Visit#333", + "Visit#334", + "Visit#335", + "Visit#336", + "Visit#337", + "Visit#338", + "Visit#339", + "Visit#340", + "Visit#341", + "Visit#342", + "Visit#343", + "Visit#344", + "Visit#345", + "Visit#346", + "Visit#347", + "Visit#348", + "Visit#349", + "Visit#350", + "Visit#351", + "Visit#352", + "Visit#353", + "Visit#354", + "Visit#355", + "Visit#356", + "Visit#357", + "Visit#358", + "Visit#359", + "Visit#360", + "Visit#361", + "Visit#362", + "Visit#363", + "Visit#364", + "Visit#365", + "Visit#366", + "Visit#367", + "Visit#368", + "Visit#369", + "Visit#370", + "Visit#371", + "Visit#372", + "Visit#373", + "Visit#374", + "Visit#375", + "Visit#376", + "Visit#377", + "Visit#378", + "Visit#379", + "Visit#380", + "Visit#381", + "Visit#382", + "Visit#383", + "Visit#384", + "Visit#385", + "Visit#386", + "Visit#387", + "Visit#388", + "Visit#389", + "Visit#390", + "Visit#391", + "Visit#392", + "Visit#393", + "Visit#394", + "Visit#395", + "Visit#396", + "Visit#397", + "Visit#398", + "Visit#399", + "Visit#400", + "Visit#401", + "Visit#402", + "Visit#403", + "Visit#404", + "Visit#405", + "Visit#406", + "Visit#407", + "Visit#408", + "Visit#409", + "Visit#410", + "Visit#411", + "Visit#412", + "Visit#413", + "Visit#414", + "Visit#415", + "Visit#416", + "Visit#417", + "Visit#418", + "Visit#419", + "Visit#420", + "Visit#421", + "Visit#422", + "Visit#423", + "Visit#424", + "Visit#425", + "Visit#426", + "Visit#427", + "Visit#428", + "Visit#429", + "Visit#430", + "Visit#431", + "Visit#432", + "Visit#433", + "Visit#434", + "Visit#435", + "Visit#436", + "Visit#437", + "Visit#438", + "Visit#439", + "Visit#440", + "Visit#441", + "Visit#442", + "Visit#443", + "Visit#444", + "Visit#445", + "Visit#446", + "Visit#447", + "Visit#448", + "Visit#449", + "Visit#450", + "Visit#451", + "Visit#452", + "Visit#453", + "Visit#454", + "Visit#455", + "Visit#456", + "Visit#457", + "Visit#458", + "Visit#459", + "Visit#460", + "Visit#461", + "Visit#462", + "Visit#463", + "Visit#464", + "Visit#465", + "Visit#466", + "Visit#467", + "Visit#468", + "Visit#469", + "Visit#470", + "Visit#471", + "Visit#472", + "Visit#473", + "Visit#474", + "Visit#475", + "Visit#476", + "Visit#477", + "Visit#478", + "Visit#479", + "Visit#480", + "Visit#481", + "Visit#482", + "Visit#483", + "Visit#484", + "Visit#485", + "Visit#486", + "Visit#487", + "Visit#488", + "Visit#489", + "Visit#490", + "Visit#491", + "Visit#492", + "Visit#493", + "Visit#494", + "Visit#495", + "Visit#496", + "Visit#497", + "Visit#498", + "Visit#499", + "Visit#500", + "Visit#501", + "Visit#502", + "Visit#503", + "Visit#504", + "Visit#505", + "Visit#506", + "Visit#507", + "Visit#508", + "Visit#509", + "Visit#510", + "Visit#511", + "Visit#512", + "Visit#513", + "Visit#514", + "Visit#515", + "Visit#516", + "Visit#517", + "Visit#518", + "Visit#519", + "Visit#520", + "Visit#521", + "Visit#522", + "Visit#523", + "Visit#524", + "Visit#525", + "Visit#526", + "Visit#527", + "Visit#528", + "Visit#529", + "Visit#530", + "Visit#531", + "Visit#532", + "Visit#533", + "Visit#534", + "Visit#535", + "Visit#536", + "Visit#537", + "Visit#538", + "Visit#539", + "Visit#540", + "Visit#541", + "Visit#542", + "Visit#543", + "Visit#544", + "Visit#545", + "Visit#546", + "Visit#547", + "Visit#548", + "Visit#549", + "Visit#550", + "Visit#551", + "Visit#552", + "Visit#553", + "Visit#554", + "Visit#555", + "Visit#556", + "Visit#557", + "Visit#558", + "Visit#559", + "Visit#560", + "Visit#561", + "Visit#562", + "Visit#563", + "Visit#564", + "Visit#565", + "Visit#566", + "Visit#567", + "Visit#568", + "Visit#569", + "Visit#570", + "Visit#571", + "Visit#572", + "Visit#573", + "Visit#574", + "Visit#575", + "Visit#576", + "Visit#577", + "Visit#578", + "Visit#579", + "Visit#580", + "Visit#581", + "Visit#582", + "Visit#583", + "Visit#584", + "Visit#585", + "Visit#586", + "Visit#587", + "Visit#588", + "Visit#589", + "Visit#590", + "Visit#591", + "Visit#592", + "Visit#593", + "Visit#594", + "Visit#595", + "Visit#596", + "Visit#597", + "Visit#598", + "Visit#599", + "Visit#600", + "Visit#601", + "Visit#602", + "Visit#603", + "Visit#604", + "Visit#605", + "Visit#606", + "Visit#607", + "Visit#608", + "Visit#609", + "Visit#610", + "Visit#611", + "Visit#612", + "Visit#613", + "Visit#614", + "Visit#615", + "Visit#616", + "Visit#617", + "Visit#618", + "Visit#619", + "Visit#620", + "Visit#621", + "Visit#622", + "Visit#623", + "Visit#624", + "Visit#625", + "Visit#626", + "Visit#627", + "Visit#628", + "Visit#629", + "Visit#630", + "Visit#631", + "Visit#632", + "Visit#633", + "Visit#634", + "Visit#635", + "Visit#636", + "Visit#637", + "Visit#638", + "Visit#639", + "Visit#640", + "Visit#641", + "Visit#642", + "Visit#643", + "Visit#644", + "Visit#645", + "Visit#646", + "Visit#647", + "Visit#648", + "Visit#649", + "Visit#650", + "Visit#651", + "Visit#652", + "Visit#653", + "Visit#654", + "Visit#655", + "Visit#656", + "Visit#657", + "Visit#658", + "Visit#659", + "Visit#660", + "Visit#661", + "Visit#662", + "Visit#663", + "Visit#664", + "Visit#665", + "Visit#666", + "Visit#667", + "Visit#668", + "Visit#669", + "Visit#670", + "Visit#671", + "Visit#672", + "Visit#673", + "Visit#674", + "Visit#675", + "Visit#676", + "Visit#677", + "Visit#678", + "Visit#679", + "Visit#680", + "Visit#681", + "Visit#682", + "Visit#683", + "Visit#684", + "Visit#685", + "Visit#686", + "Visit#687", + "Visit#688", + "Visit#689", + "Visit#690", + "Visit#691", + "Visit#692", + "Visit#693", + "Visit#694", + "Visit#695", + "Visit#696", + "Visit#697", + "Visit#698", + "Visit#699", + "Visit#700", + "Visit#701", + "Visit#702", + "Visit#703", + "Visit#704", + "Visit#705", + "Visit#706", + "Visit#707", + "Visit#708", + "Visit#709", + "Visit#710", + "Visit#711", + "Visit#712", + "Visit#713", + "Visit#714", + "Visit#715", + "Visit#716", + "Visit#717", + "Visit#718", + "Visit#719", + "Visit#720", + "Visit#721", + "Visit#722", + "Visit#723", + "Visit#724", + "Visit#725", + "Visit#726", + "Visit#727", + "Visit#728", + "Visit#729", + "Visit#730", + "Visit#731", + "Visit#732", + "Visit#733", + "Visit#734", + "Visit#735", + "Visit#736", + "Visit#737", + "Visit#738", + "Visit#739", + "Visit#740", + "Visit#741", + "Visit#742", + "Visit#743", + "Visit#744", + "Visit#745", + "Visit#746", + "Visit#747", + "Visit#748", + "Visit#749", + "Visit#750", + "Visit#751", + "Visit#752", + "Visit#753", + "Visit#754", + "Visit#755", + "Visit#756", + "Visit#757", + "Visit#758", + "Visit#759", + "Visit#760", + "Visit#761", + "Visit#762", + "Visit#763", + "Visit#764", + "Visit#765", + "Visit#766", + "Visit#767", + "Visit#768", + "Visit#769", + "Visit#770", + "Visit#771", + "Visit#772", + "Visit#773", + "Visit#774", + "Visit#775", + "Visit#776", + "Visit#777", + "Visit#778", + "Visit#779", + "Visit#780", + "Visit#781", + "Visit#782", + "Visit#783", + "Visit#784", + "Visit#785", + "Visit#786", + "Visit#787", + "Visit#788", + "Visit#789", + "Visit#790", + "Visit#791", + "Visit#792", + "Visit#793", + "Visit#794", + "Visit#795", + "Visit#796", + "Visit#797", + "Visit#798", + "Visit#799", + "Visit#800", + "Visit#801", + "Visit#802", + "Visit#803", + "Visit#804", + "Visit#805", + "Visit#806", + "Visit#807", + "Visit#808", + "Visit#809", + "Visit#810", + "Visit#811", + "Visit#812", + "Visit#813", + "Visit#814", + "Visit#815", + "Visit#816", + "Visit#817", + "Visit#818", + "Visit#819", + "Visit#820", + "Visit#821", + "Visit#822", + "Visit#823", + "Visit#824", + "Visit#825", + "Visit#826", + "Visit#827", + "Visit#828", + "Visit#829", + "Visit#830", + "Visit#831", + "Visit#832", + "Visit#833", + "Visit#834", + "Visit#835", + "Visit#836", + "Visit#837", + "Visit#838", + "Visit#839", + "Visit#840", + "Visit#841", + "Visit#842", + "Visit#843", + "Visit#844", + "Visit#845", + "Visit#846", + "Visit#847", + "Visit#848", + "Visit#849", + "Visit#850", + "Visit#851", + "Visit#852", + "Visit#853", + "Visit#854", + "Visit#855", + "Visit#856", + "Visit#857", + "Visit#858", + "Visit#859", + "Visit#860", + "Visit#861", + "Visit#862", + "Visit#863", + "Visit#864", + "Visit#865", + "Visit#866", + "Visit#867", + "Visit#868", + "Visit#869", + "Visit#870", + "Visit#871", + "Visit#872", + "Visit#873", + "Visit#874", + "Visit#875", + "Visit#876", + "Visit#877", + "Visit#878", + "Visit#879", + "Visit#880", + "Visit#881", + "Visit#882", + "Visit#883", + "Visit#884", + "Visit#885", + "Visit#886", + "Visit#887", + "Visit#888", + "Visit#889", + "Visit#890", + "Visit#891", + "Visit#892", + "Visit#893", + "Visit#894", + "Visit#895", + "Visit#896", + "Visit#897", + "Visit#898", + "Visit#899", + "Visit#900", + "Visit#901", + "Visit#902", + "Visit#903", + "Visit#904", + "Visit#905", + "Visit#906", + "Visit#907", + "Visit#908", + "Visit#909", + "Visit#910", + "Visit#911", + "Visit#912", + "Visit#913", + "Visit#914", + "Visit#915", + "Visit#916", + "Visit#917", + "Visit#918", + "Visit#919", + "Visit#920", + "Visit#921", + "Visit#922", + "Visit#923", + "Visit#924", + "Visit#925", + "Visit#926", + "Visit#927", + "Visit#928", + "Visit#929", + "Visit#930", + "Visit#931", + "Visit#932", + "Visit#933", + "Visit#934", + "Visit#935", + "Visit#936", + "Visit#937", + "Visit#938", + "Visit#939", + "Visit#940", + "Visit#941", + "Visit#942", + "Visit#943", + "Visit#944", + "Visit#945", + "Visit#946", + "Visit#947", + "Visit#948", + "Visit#949", + "Visit#950", + "Visit#951", + "Visit#952", + "Visit#953", + "Visit#954", + "Visit#955", + "Visit#956", + "Visit#957", + "Visit#958", + "Visit#959", + "Visit#960", + "Visit#961", + "Visit#962", + "Visit#963", + "Visit#964", + "Visit#965", + "Visit#966", + "Visit#967", + "Visit#968", + "Visit#969", + "Visit#970", + "Visit#971", + "Visit#972", + "Visit#973", + "Visit#974", + "Visit#975", + "Visit#976", + "Visit#977", + "Visit#978", + "Visit#979", + "Visit#980", + "Visit#981", + "Visit#982", + "Visit#983", + "Visit#984", + "Visit#985", + "Visit#986", + "Visit#987", + "Visit#988", + "Visit#989", + "Visit#990", + "Visit#991", + "Visit#992", + "Visit#993", + "Visit#994", + "Visit#995", + "Visit#996", + "Visit#997", + "Visit#998", + "Visit#999", + "Visit#1000", + "Visit#1001", + "Visit#1002", + "Visit#1003", + "Visit#1004", + "Visit#1005", + "Visit#1006", + "Visit#1007", + "Visit#1008", + "Visit#1009", + "Visit#1010", + "Visit#1011", + "Visit#1012", + "Visit#1013", + "Visit#1014", + "Visit#1015", + "Visit#1016", + "Visit#1017", + "Visit#1018", + "Visit#1019", + "Visit#1020", + "Visit#1021", + "Visit#1022", + "Visit#1023", + "Visit#1024", + "Visit#1025", + "Visit#1026", + "Visit#1027", + "Visit#1028", + "Visit#1029", + "Visit#1030", + "Visit#1031", + "Visit#1032", + "Visit#1033", + "Visit#1034", + "Visit#1035", + "Visit#1036", + "Visit#1037", + "Visit#1038", + "Visit#1039", + "Visit#1040", + "Visit#1041", + "Visit#1042", + "Visit#1043", + "Visit#1044", + "Visit#1045", + "Visit#1046", + "Visit#1047", + "Visit#1048", + "Visit#1049", + "Visit#1050", + "Visit#1051", + "Visit#1052", + "Visit#1053", + "Visit#1054", + "Visit#1055", + "Visit#1056", + "Visit#1057", + "Visit#1058", + "Visit#1059", + "Visit#1060", + "Visit#1061", + "Visit#1062", + "Visit#1063", + "Visit#1064", + "Visit#1065", + "Visit#1066", + "Visit#1067", + "Visit#1068", + "Visit#1069", + "Visit#1070", + "Visit#1071", + "Visit#1072", + "Visit#1073", + "Visit#1074", + "Visit#1075", + "Visit#1076", + "Visit#1077", + "Visit#1078", + "Visit#1079", + "Visit#1080", + "Visit#1081", + "Visit#1082", + "Visit#1083", + "Visit#1084" + ] +} diff --git a/data/tsp/unsolved/europe40.json b/data/tsp/unsolved/europe40.json index ec4d3101..28f8dd67 100644 --- a/data/tsp/unsolved/europe40.json +++ b/data/tsp/unsolved/europe40.json @@ -1,489 +1,648 @@ { - "id" : 0, - "name" : "europe40", - "distanceType" : "AIR_DISTANCE", - "distanceUnitOfMeasurement" : "distance", - "locationList" : [ { - "@type" : "air", - "@id" : "AirLocation#1", - "id" : 1, - "latitude" : 50797.14, - "longitude" : 4361.572 - }, { - "@type" : "air", - "@id" : "AirLocation#2", - "id" : 2, - "latitude" : 53309.435, - "longitude" : -6284.18 - }, { - "@type" : "air", - "@id" : "AirLocation#3", - "id" : 3, - "latitude" : 51465.872, - "longitude" : -131.836 - }, { - "@type" : "air", - "@id" : "AirLocation#4", - "id" : 4, - "latitude" : 48797.698, - "longitude" : 2351.074 - }, { - "@type" : "air", - "@id" : "AirLocation#5", - "id" : 5, - "latitude" : 64133.219, - "longitude" : -21886.139 - }, { - "@type" : "air", - "@id" : "AirLocation#6", - "id" : 6, - "latitude" : 49537.568, - "longitude" : 6130.371 - }, { - "@type" : "air", - "@id" : "AirLocation#7", - "id" : 7, - "latitude" : 52320.12, - "longitude" : 4888.916 - }, { - "@type" : "air", - "@id" : "AirLocation#8", - "id" : 8, - "latitude" : 52480.996, - "longitude" : 13414.307 - }, { - "@type" : "air", - "@id" : "AirLocation#9", - "id" : 9, - "latitude" : 55620.139, - "longitude" : 12579.346 - }, { - "@type" : "air", - "@id" : "AirLocation#10", - "id" : 10, - "latitude" : 59876.442, - "longitude" : 10766.602 - }, { - "@type" : "air", - "@id" : "AirLocation#11", - "id" : 11, - "latitude" : 59292.446, - "longitude" : 18061.523 - }, { - "@type" : "air", - "@id" : "AirLocation#12", - "id" : 12, - "latitude" : 60134.576, - "longitude" : 24949.951 - }, { - "@type" : "air", - "@id" : "AirLocation#13", - "id" : 13, - "latitude" : 59363.808, - "longitude" : 24763.184 - }, { - "@type" : "air", - "@id" : "AirLocation#14", - "id" : 14, - "latitude" : 56845.768, - "longitude" : 24082.031 - }, { - "@type" : "air", - "@id" : "AirLocation#15", - "id" : 15, - "latitude" : 54581.401, - "longitude" : 25268.555 - }, { - "@type" : "air", - "@id" : "AirLocation#16", - "id" : 16, - "latitude" : 53810.166, - "longitude" : 27553.711 - }, { - "@type" : "air", - "@id" : "AirLocation#17", - "id" : 17, - "latitude" : 52129.891, - "longitude" : 21005.859 - }, { - "@type" : "air", - "@id" : "AirLocation#18", - "id" : 18, - "latitude" : 55661.888, - "longitude" : 37617.188 - }, { - "@type" : "air", - "@id" : "AirLocation#19", - "id" : 19, - "latitude" : 50355.742, - "longitude" : 30541.992 - }, { - "@type" : "air", - "@id" : "AirLocation#20", - "id" : 20, - "latitude" : 46916.253, - "longitude" : 28828.125 - }, { - "@type" : "air", - "@id" : "AirLocation#21", - "id" : 21, - "latitude" : 44319.656, - "longitude" : 26059.57 - }, { - "@type" : "air", - "@id" : "AirLocation#22", - "id" : 22, - "latitude" : 42581.13, - "longitude" : 23312.988 - }, { - "@type" : "air", - "@id" : "AirLocation#23", - "id" : 23, - "latitude" : 39943.436, - "longitude" : 32857.132 - }, { - "@type" : "air", - "@id" : "AirLocation#24", - "id" : 24, - "latitude" : 37852.881, - "longitude" : 23730.469 - }, { - "@type" : "air", - "@id" : "AirLocation#25", - "id" : 25, - "latitude" : 35099.537, - "longitude" : 33365.479 - }, { - "@type" : "air", - "@id" : "AirLocation#26", - "id" : 26, - "latitude" : 41283.861, - "longitude" : 19808.35 - }, { - "@type" : "air", - "@id" : "AirLocation#27", - "id" : 27, - "latitude" : 41949.141, - "longitude" : 21456.299 - }, { - "@type" : "air", - "@id" : "AirLocation#28", - "id" : 28, - "latitude" : 42380.73, - "longitude" : 19281.006 - }, { - "@type" : "air", - "@id" : "AirLocation#29", - "id" : 29, - "latitude" : 44752.455, - "longitude" : 20456.543 - }, { - "@type" : "air", - "@id" : "AirLocation#30", - "id" : 30, - "latitude" : 43784.843, - "longitude" : 18347.168 - }, { - "@type" : "air", - "@id" : "AirLocation#31", - "id" : 31, - "latitude" : 45757.815, - "longitude" : 15974.121 - }, { - "@type" : "air", - "@id" : "AirLocation#32", - "id" : 32, - "latitude" : 45994.926, - "longitude" : 14490.967 - }, { - "@type" : "air", - "@id" : "AirLocation#33", - "id" : 33, - "latitude" : 41842.83, - "longitude" : 12491.455 - }, { - "@type" : "air", - "@id" : "AirLocation#34", - "id" : 34, - "latitude" : 40369.427, - "longitude" : -3691.406 - }, { - "@type" : "air", - "@id" : "AirLocation#35", - "id" : 35, - "latitude" : 38648.91, - "longitude" : -9140.625 - }, { - "@type" : "air", - "@id" : "AirLocation#36", - "id" : 36, - "latitude" : 46895.737, - "longitude" : 7437.744 - }, { - "@type" : "air", - "@id" : "AirLocation#37", - "id" : 37, - "latitude" : 48142.143, - "longitude" : 16380.615 - }, { - "@type" : "air", - "@id" : "AirLocation#38", - "id" : 38, - "latitude" : 50066.778, - "longitude" : 14419.556 - }, { - "@type" : "air", - "@id" : "AirLocation#39", - "id" : 39, - "latitude" : 48098.138, - "longitude" : 17105.713 - }, { - "@type" : "air", - "@id" : "AirLocation#40", - "id" : 40, - "latitude" : 47440.969, - "longitude" : 19039.307 - } ], - "domicile" : { - "@type" : "domicile", - "@id" : "Domicile#1", - "id" : 1, - "location" : "AirLocation#1" + "id": 0, + "name": "europe40", + "distanceType": "AIR_DISTANCE", + "distanceUnitOfMeasurement": "distance", + "locationList": [ + { + "@type": "air", + "@id": "AirLocation#1", + "id": 1, + "latitude": 50797.14, + "longitude": 4361.572 + }, + { + "@type": "air", + "@id": "AirLocation#2", + "id": 2, + "latitude": 53309.435, + "longitude": -6284.18 + }, + { + "@type": "air", + "@id": "AirLocation#3", + "id": 3, + "latitude": 51465.872, + "longitude": -131.836 + }, + { + "@type": "air", + "@id": "AirLocation#4", + "id": 4, + "latitude": 48797.698, + "longitude": 2351.074 + }, + { + "@type": "air", + "@id": "AirLocation#5", + "id": 5, + "latitude": 64133.219, + "longitude": -21886.139 + }, + { + "@type": "air", + "@id": "AirLocation#6", + "id": 6, + "latitude": 49537.568, + "longitude": 6130.371 + }, + { + "@type": "air", + "@id": "AirLocation#7", + "id": 7, + "latitude": 52320.12, + "longitude": 4888.916 + }, + { + "@type": "air", + "@id": "AirLocation#8", + "id": 8, + "latitude": 52480.996, + "longitude": 13414.307 + }, + { + "@type": "air", + "@id": "AirLocation#9", + "id": 9, + "latitude": 55620.139, + "longitude": 12579.346 + }, + { + "@type": "air", + "@id": "AirLocation#10", + "id": 10, + "latitude": 59876.442, + "longitude": 10766.602 + }, + { + "@type": "air", + "@id": "AirLocation#11", + "id": 11, + "latitude": 59292.446, + "longitude": 18061.523 + }, + { + "@type": "air", + "@id": "AirLocation#12", + "id": 12, + "latitude": 60134.576, + "longitude": 24949.951 + }, + { + "@type": "air", + "@id": "AirLocation#13", + "id": 13, + "latitude": 59363.808, + "longitude": 24763.184 + }, + { + "@type": "air", + "@id": "AirLocation#14", + "id": 14, + "latitude": 56845.768, + "longitude": 24082.031 + }, + { + "@type": "air", + "@id": "AirLocation#15", + "id": 15, + "latitude": 54581.401, + "longitude": 25268.555 + }, + { + "@type": "air", + "@id": "AirLocation#16", + "id": 16, + "latitude": 53810.166, + "longitude": 27553.711 + }, + { + "@type": "air", + "@id": "AirLocation#17", + "id": 17, + "latitude": 52129.891, + "longitude": 21005.859 + }, + { + "@type": "air", + "@id": "AirLocation#18", + "id": 18, + "latitude": 55661.888, + "longitude": 37617.188 + }, + { + "@type": "air", + "@id": "AirLocation#19", + "id": 19, + "latitude": 50355.742, + "longitude": 30541.992 + }, + { + "@type": "air", + "@id": "AirLocation#20", + "id": 20, + "latitude": 46916.253, + "longitude": 28828.125 + }, + { + "@type": "air", + "@id": "AirLocation#21", + "id": 21, + "latitude": 44319.656, + "longitude": 26059.57 + }, + { + "@type": "air", + "@id": "AirLocation#22", + "id": 22, + "latitude": 42581.13, + "longitude": 23312.988 + }, + { + "@type": "air", + "@id": "AirLocation#23", + "id": 23, + "latitude": 39943.436, + "longitude": 32857.132 + }, + { + "@type": "air", + "@id": "AirLocation#24", + "id": 24, + "latitude": 37852.881, + "longitude": 23730.469 + }, + { + "@type": "air", + "@id": "AirLocation#25", + "id": 25, + "latitude": 35099.537, + "longitude": 33365.479 + }, + { + "@type": "air", + "@id": "AirLocation#26", + "id": 26, + "latitude": 41283.861, + "longitude": 19808.35 + }, + { + "@type": "air", + "@id": "AirLocation#27", + "id": 27, + "latitude": 41949.141, + "longitude": 21456.299 + }, + { + "@type": "air", + "@id": "AirLocation#28", + "id": 28, + "latitude": 42380.73, + "longitude": 19281.006 + }, + { + "@type": "air", + "@id": "AirLocation#29", + "id": 29, + "latitude": 44752.455, + "longitude": 20456.543 + }, + { + "@type": "air", + "@id": "AirLocation#30", + "id": 30, + "latitude": 43784.843, + "longitude": 18347.168 + }, + { + "@type": "air", + "@id": "AirLocation#31", + "id": 31, + "latitude": 45757.815, + "longitude": 15974.121 + }, + { + "@type": "air", + "@id": "AirLocation#32", + "id": 32, + "latitude": 45994.926, + "longitude": 14490.967 + }, + { + "@type": "air", + "@id": "AirLocation#33", + "id": 33, + "latitude": 41842.83, + "longitude": 12491.455 + }, + { + "@type": "air", + "@id": "AirLocation#34", + "id": 34, + "latitude": 40369.427, + "longitude": -3691.406 + }, + { + "@type": "air", + "@id": "AirLocation#35", + "id": 35, + "latitude": 38648.91, + "longitude": -9140.625 + }, + { + "@type": "air", + "@id": "AirLocation#36", + "id": 36, + "latitude": 46895.737, + "longitude": 7437.744 + }, + { + "@type": "air", + "@id": "AirLocation#37", + "id": 37, + "latitude": 48142.143, + "longitude": 16380.615 + }, + { + "@type": "air", + "@id": "AirLocation#38", + "id": 38, + "latitude": 50066.778, + "longitude": 14419.556 + }, + { + "@type": "air", + "@id": "AirLocation#39", + "id": 39, + "latitude": 48098.138, + "longitude": 17105.713 + }, + { + "@type": "air", + "@id": "AirLocation#40", + "id": 40, + "latitude": 47440.969, + "longitude": 19039.307 + } + ], + "domicile": { + "@type": "domicile", + "@id": "Domicile#1", + "id": 1, + "location": "AirLocation#1" }, - "visitList" : [ { - "@type" : "visit", - "@id" : "Visit#2", - "id" : 2, - "location" : "AirLocation#2", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#3", - "id" : 3, - "location" : "AirLocation#3", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#4", - "id" : 4, - "location" : "AirLocation#4", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#5", - "id" : 5, - "location" : "AirLocation#5", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#6", - "id" : 6, - "location" : "AirLocation#6", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#7", - "id" : 7, - "location" : "AirLocation#7", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#8", - "id" : 8, - "location" : "AirLocation#8", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#9", - "id" : 9, - "location" : "AirLocation#9", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#10", - "id" : 10, - "location" : "AirLocation#10", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#11", - "id" : 11, - "location" : "AirLocation#11", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#12", - "id" : 12, - "location" : "AirLocation#12", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#13", - "id" : 13, - "location" : "AirLocation#13", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#14", - "id" : 14, - "location" : "AirLocation#14", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#15", - "id" : 15, - "location" : "AirLocation#15", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#16", - "id" : 16, - "location" : "AirLocation#16", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#17", - "id" : 17, - "location" : "AirLocation#17", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#18", - "id" : 18, - "location" : "AirLocation#18", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#19", - "id" : 19, - "location" : "AirLocation#19", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#20", - "id" : 20, - "location" : "AirLocation#20", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#21", - "id" : 21, - "location" : "AirLocation#21", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#22", - "id" : 22, - "location" : "AirLocation#22", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#23", - "id" : 23, - "location" : "AirLocation#23", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#24", - "id" : 24, - "location" : "AirLocation#24", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#25", - "id" : 25, - "location" : "AirLocation#25", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#26", - "id" : 26, - "location" : "AirLocation#26", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#27", - "id" : 27, - "location" : "AirLocation#27", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#28", - "id" : 28, - "location" : "AirLocation#28", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#29", - "id" : 29, - "location" : "AirLocation#29", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#30", - "id" : 30, - "location" : "AirLocation#30", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#31", - "id" : 31, - "location" : "AirLocation#31", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#32", - "id" : 32, - "location" : "AirLocation#32", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#33", - "id" : 33, - "location" : "AirLocation#33", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#34", - "id" : 34, - "location" : "AirLocation#34", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#35", - "id" : 35, - "location" : "AirLocation#35", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#36", - "id" : 36, - "location" : "AirLocation#36", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#37", - "id" : 37, - "location" : "AirLocation#37", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#38", - "id" : 38, - "location" : "AirLocation#38", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#39", - "id" : 39, - "location" : "AirLocation#39", - "previousStandstill" : null - }, { - "@type" : "visit", - "@id" : "Visit#40", - "id" : 40, - "location" : "AirLocation#40", - "previousStandstill" : null - } ], - "score" : null -} \ No newline at end of file + "visitList": [ + { + "@type": "Visit", + "@id": "Visit#2", + "id": 2, + "location": "AirLocation#2", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#3", + "id": 3, + "location": "AirLocation#3", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#4", + "id": 4, + "location": "AirLocation#4", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#5", + "id": 5, + "location": "AirLocation#5", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#6", + "id": 6, + "location": "AirLocation#6", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#7", + "id": 7, + "location": "AirLocation#7", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#8", + "id": 8, + "location": "AirLocation#8", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#9", + "id": 9, + "location": "AirLocation#9", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#10", + "id": 10, + "location": "AirLocation#10", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#11", + "id": 11, + "location": "AirLocation#11", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#12", + "id": 12, + "location": "AirLocation#12", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#13", + "id": 13, + "location": "AirLocation#13", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#14", + "id": 14, + "location": "AirLocation#14", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#15", + "id": 15, + "location": "AirLocation#15", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#16", + "id": 16, + "location": "AirLocation#16", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#17", + "id": 17, + "location": "AirLocation#17", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#18", + "id": 18, + "location": "AirLocation#18", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#19", + "id": 19, + "location": "AirLocation#19", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#20", + "id": 20, + "location": "AirLocation#20", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#21", + "id": 21, + "location": "AirLocation#21", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#22", + "id": 22, + "location": "AirLocation#22", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#23", + "id": 23, + "location": "AirLocation#23", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#24", + "id": 24, + "location": "AirLocation#24", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#25", + "id": 25, + "location": "AirLocation#25", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#26", + "id": 26, + "location": "AirLocation#26", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#27", + "id": 27, + "location": "AirLocation#27", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#28", + "id": 28, + "location": "AirLocation#28", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#29", + "id": 29, + "location": "AirLocation#29", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#30", + "id": 30, + "location": "AirLocation#30", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#31", + "id": 31, + "location": "AirLocation#31", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#32", + "id": 32, + "location": "AirLocation#32", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#33", + "id": 33, + "location": "AirLocation#33", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#34", + "id": 34, + "location": "AirLocation#34", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#35", + "id": 35, + "location": "AirLocation#35", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#36", + "id": 36, + "location": "AirLocation#36", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#37", + "id": 37, + "location": "AirLocation#37", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#38", + "id": 38, + "location": "AirLocation#38", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#39", + "id": 39, + "location": "AirLocation#39", + "next": null, + "previous": null, + "tour": null + }, + { + "@type": "Visit", + "@id": "Visit#40", + "id": 40, + "location": "AirLocation#40", + "next": null, + "previous": null, + "tour": null + } + ], + "score": null +} diff --git a/pom.xml b/pom.xml index af67d2b8..d28847bd 100644 --- a/pom.xml +++ b/pom.xml @@ -95,24 +95,6 @@ jakarta.json jakarta.json-api - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - runtime - - ai.timefold.solver timefold-solver-core diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/CVRPLIBConfiguration.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/CVRPLIBConfiguration.java index bee1602b..354e8338 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/CVRPLIBConfiguration.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/CVRPLIBConfiguration.java @@ -12,7 +12,7 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.solver.nearby.CustomerNearbyDistanceMeter; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedCustomer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.score.VehicleRoutingConstraintProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.config.constructionheuristic.ConstructionHeuristicPhaseConfig; import ai.timefold.solver.core.config.localsearch.LocalSearchPhaseConfig; import ai.timefold.solver.core.config.solver.SolverConfig; @@ -66,7 +66,7 @@ private SolverConfig getCommunityEditionSolverConfig(CVRPLIBDataset dataset) { var terminationConfig = new TerminationConfig() .withSpentLimit(getMaximumDurationPerDataset()) .withUnimprovedSecondsSpentLimit(AbstractCompetitiveBenchmark.UNIMPROVED_SECONDS_TERMINATION) - .withBestScoreLimit(HardSoftLongScore.ofSoft(threshold.longValue()).toString()); + .withBestScoreLimit(HardSoftScore.ofSoft(threshold.longValue()).toString()); return new SolverConfig() .withSolutionClass(VehicleRoutingSolution.class) .withEntityClasses(Vehicle.class, Customer.class, TimeWindowedCustomer.class) diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/Main.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/Main.java index af4939a4..f17bcc3d 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/Main.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/cvrplib/Main.java @@ -11,10 +11,10 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.location.AirLocation; import ai.timefold.solver.benchmarks.examples.vehiclerouting.persistence.VehicleRoutingImporter; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; public class Main - extends AbstractCompetitiveBenchmark { + extends AbstractCompetitiveBenchmark { public static void main(String[] args) throws ExecutionException, InterruptedException, IOException { var benchmark = new Main(); @@ -28,12 +28,12 @@ protected String getLibraryName() { } @Override - protected HardSoftLongScore extractScore(VehicleRoutingSolution vehicleRoutingSolution) { + protected HardSoftScore extractScore(VehicleRoutingSolution vehicleRoutingSolution) { return vehicleRoutingSolution.getScore(); } @Override - protected BigDecimal extractResult(CVRPLIBDataset dataset, HardSoftLongScore score) { + protected BigDecimal extractResult(CVRPLIBDataset dataset, HardSoftScore score) { return BigDecimal.valueOf(-score.softScore()) .divide(BigDecimal.valueOf(AirLocation.MULTIPLIER), 1, RoundingMode.HALF_EVEN); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/FlowShopConfiguration.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/FlowShopConfiguration.java index 126b055a..5f0cefb9 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/FlowShopConfiguration.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/FlowShopConfiguration.java @@ -10,7 +10,7 @@ import ai.timefold.solver.benchmarks.examples.flowshop.domain.Machine; import ai.timefold.solver.benchmarks.examples.flowshop.phase.NEHCustomPhase; import ai.timefold.solver.benchmarks.examples.flowshop.score.FlowShopConstraintProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.config.localsearch.LocalSearchPhaseConfig; import ai.timefold.solver.core.config.phase.PhaseConfig; import ai.timefold.solver.core.config.phase.custom.CustomPhaseConfig; @@ -67,7 +67,7 @@ private SolverConfig getCommunityEditionSolverConfig(FlowShopDataset dataset) { .negate(); var terminationConfig = new TerminationConfig() .withSpentLimit(getMaximumDurationPerDataset()) - .withBestScoreLimit(HardSoftLongScore.ofSoft(threshold.longValue()).toString()); + .withBestScoreLimit(HardSoftScore.ofSoft(threshold.longValue()).toString()); var phasesList = List. of(new CustomPhaseConfig().withCustomPhaseCommandList(List.of(new NEHCustomPhase())), new LocalSearchPhaseConfig()); diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/Main.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/Main.java index b77ecd7e..b7d3ef42 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/Main.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/flowshop/Main.java @@ -21,10 +21,10 @@ import ai.timefold.solver.benchmarks.examples.flowshop.domain.Job; import ai.timefold.solver.benchmarks.examples.flowshop.domain.JobScheduleSolution; import ai.timefold.solver.benchmarks.examples.flowshop.persistence.TaillardImporter; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; public class Main extends - AbstractCompetitiveBenchmark { + AbstractCompetitiveBenchmark { public static void main(String[] args) throws ExecutionException, InterruptedException, IOException { var benchmark = new Main(); @@ -154,12 +154,12 @@ protected String getLibraryName() { } @Override - protected HardSoftLongScore extractScore(JobScheduleSolution solution) { + protected HardSoftScore extractScore(JobScheduleSolution solution) { return solution.getScore(); } @Override - protected BigDecimal extractResult(FlowShopDataset dataset, HardSoftLongScore score) { + protected BigDecimal extractResult(FlowShopDataset dataset, HardSoftScore score) { return BigDecimal.valueOf(-score.softScore()); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/Main.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/Main.java index 6b1b7a07..40c47a52 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/Main.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/Main.java @@ -10,9 +10,9 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.AbstractSolutionImporter; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; import ai.timefold.solver.benchmarks.examples.tsp.persistence.TspImporter; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.core.api.score.SimpleScore; -public class Main extends AbstractCompetitiveBenchmark { +public class Main extends AbstractCompetitiveBenchmark { public static void main(String[] args) throws ExecutionException, InterruptedException, IOException { var benchmark = new Main(); @@ -26,12 +26,12 @@ protected String getLibraryName() { } @Override - protected SimpleLongScore extractScore(TspSolution tspSolution) { + protected SimpleScore extractScore(TspSolution tspSolution) { return tspSolution.getScore(); } @Override - protected BigDecimal extractResult(TSPLIBDataset dataset, SimpleLongScore score) { + protected BigDecimal extractResult(TSPLIBDataset dataset, SimpleScore score) { return BigDecimal.valueOf(-score.score()) .setScale(0, RoundingMode.HALF_EVEN); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/TSPLIBConfiguration.java b/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/TSPLIBConfiguration.java index 372229c9..edcfaee4 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/TSPLIBConfiguration.java +++ b/src/main/java/ai/timefold/solver/benchmarks/competitive/tsplib95/TSPLIBConfiguration.java @@ -4,6 +4,7 @@ import ai.timefold.solver.benchmarks.competitive.AbstractCompetitiveBenchmark; import ai.timefold.solver.benchmarks.competitive.Configuration; +import ai.timefold.solver.benchmarks.examples.tsp.domain.Tour; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; import ai.timefold.solver.benchmarks.examples.tsp.domain.solver.nearby.VisitNearbyDistanceMeter; @@ -62,7 +63,7 @@ private SolverConfig getCommunityEditionSolverConfig(TSPLIBDataset dataset) { .withBestScoreLimit(Long.toString(threshold.longValue())); return new SolverConfig() .withSolutionClass(TspSolution.class) - .withEntityClasses(Visit.class) + .withEntityClasses(Tour.class, Visit.class) .withConstraintProviderClass(TspConstraintProvider.class) .withTerminationConfig(terminationConfig) .withPhases(new ConstructionHeuristicPhaseConfig(), new LocalSearchPhaseConfig()); diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudBalance.java b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudBalance.java index b0fc5ccb..1aa6bbac 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudBalance.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudBalance.java @@ -8,7 +8,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; @PlanningSolution public class CloudBalance extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudProcess.java b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudProcess.java index 2002d1d9..4f478637 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudProcess.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/domain/CloudProcess.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; -@PlanningEntity(difficultyComparatorClass = CloudProcessDifficultyComparator.class) +@PlanningEntity(comparatorClass = CloudProcessDifficultyComparator.class) public class CloudProcess extends AbstractPersistable { @@ -53,7 +53,7 @@ public void setRequiredNetworkBandwidth(int requiredNetworkBandwidth) { this.requiredNetworkBandwidth = requiredNetworkBandwidth; } - @PlanningVariable(strengthComparatorClass = CloudComputerStrengthComparator.class) + @PlanningVariable(comparatorClass = CloudComputerStrengthComparator.class) public CloudComputer getComputer() { return computer; } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingIncrementalScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingIncrementalScoreCalculator.java index 0a04202e..b9b93558 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingIncrementalScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingIncrementalScoreCalculator.java @@ -6,7 +6,7 @@ import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudBalance; import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudComputer; import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudProcess; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.IncrementalScoreCalculator; public class CloudBalancingIncrementalScoreCalculator diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingMapBasedEasyScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingMapBasedEasyScoreCalculator.java index e7b931df..05372e0d 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingMapBasedEasyScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/optional/score/CloudBalancingMapBasedEasyScoreCalculator.java @@ -9,7 +9,7 @@ import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudBalance; import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudComputer; import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudProcess; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.EasyScoreCalculator; public class CloudBalancingMapBasedEasyScoreCalculator implements EasyScoreCalculator { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/score/CloudBalancingConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/score/CloudBalancingConstraintProvider.java index 2a6f0ab4..b67b6281 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/score/CloudBalancingConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/score/CloudBalancingConstraintProvider.java @@ -7,7 +7,7 @@ import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudComputer; import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudProcess; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/common/domain/AbstractPersistable.java b/src/main/java/ai/timefold/solver/benchmarks/examples/common/domain/AbstractPersistable.java index 34c8a395..5cdbc8d2 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/common/domain/AbstractPersistable.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/common/domain/AbstractPersistable.java @@ -1,6 +1,6 @@ package ai.timefold.solver.benchmarks.examples.common.domain; -import ai.timefold.solver.core.api.domain.lookup.PlanningId; +import ai.timefold.solver.core.api.domain.common.PlanningId; public abstract class AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/AbstractJsonSolutionFileIO.java b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/AbstractJsonSolutionFileIO.java index 8cc7e66c..a67944c6 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/AbstractJsonSolutionFileIO.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/AbstractJsonSolutionFileIO.java @@ -10,7 +10,7 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.AbstractKeyDeserializer; import ai.timefold.solver.jackson.impl.domain.solution.JacksonSolutionFileIO; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; /** * diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/AbstractKeyDeserializer.java b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/AbstractKeyDeserializer.java index c8f56b5c..97813068 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/AbstractKeyDeserializer.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/AbstractKeyDeserializer.java @@ -5,8 +5,8 @@ import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import ai.timefold.solver.benchmarks.examples.common.persistence.AbstractJsonSolutionFileIO; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.KeyDeserializer; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.KeyDeserializer; /** * Deserializes map key defined by diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/KeySerializer.java b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/KeySerializer.java index e101c83e..42d37d43 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/KeySerializer.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/common/persistence/jackson/KeySerializer.java @@ -1,13 +1,13 @@ package ai.timefold.solver.benchmarks.examples.common.persistence.jackson; -import java.io.IOException; - import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import com.fasterxml.jackson.annotation.ObjectIdGenerator; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; + +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; /** * Serializes a child of {@link AbstractPersistable} to a JSON map key @@ -16,15 +16,14 @@ * @param The type must have a {@link com.fasterxml.jackson.annotation.JsonIdentityInfo} annotation with * {@link JacksonUniqueIdGenerator} as its generator. */ -public final class KeySerializer extends JsonSerializer { +public final class KeySerializer extends ValueSerializer { private final ObjectIdGenerator idGenerator = new JacksonUniqueIdGenerator(); @Override - public void serialize(E persistable, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) - throws IOException { - Object jsonId = serializerProvider.findObjectId(persistable, idGenerator) + public void serialize(E persistable, JsonGenerator jsonGenerator, SerializationContext ctxt) throws JacksonException { + Object jsonId = ctxt.findObjectId(persistable, idGenerator) .generateId(persistable); - jsonGenerator.writeFieldName(jsonId.toString()); + jsonGenerator.writeName(jsonId.toString()); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/domain/ConferenceSolution.java b/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/domain/ConferenceSolution.java index 1a9d3d7a..88849cfe 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/domain/ConferenceSolution.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/domain/ConferenceSolution.java @@ -10,7 +10,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.solution.ProblemFactProperty; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import com.fasterxml.jackson.annotation.JsonIdentityInfo; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java index 8fd99414..bd06a081 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java @@ -46,7 +46,7 @@ import ai.timefold.solver.benchmarks.examples.conferencescheduling.domain.ConferenceConstraintProperties; import ai.timefold.solver.benchmarks.examples.conferencescheduling.domain.Speaker; import ai.timefold.solver.benchmarks.examples.conferencescheduling.domain.Talk; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/CourseSchedule.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/CourseSchedule.java index f276966e..80ca843d 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/CourseSchedule.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/CourseSchedule.java @@ -10,7 +10,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; @PlanningSolution public class CourseSchedule extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Lecture.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Lecture.java index 41b62562..1b70689b 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Lecture.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Lecture.java @@ -3,20 +3,21 @@ import java.util.Set; import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.LectureDifficultyWeightFactory; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.PeriodStrengthWeightFactory; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.RoomStrengthWeightFactory; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.LectureComparatorFactory; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.PeriodComparatorFactory; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.RoomComparatorFactory; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; import ai.timefold.solver.core.api.domain.entity.PlanningPin; import ai.timefold.solver.core.api.domain.variable.PlanningVariable; import com.fasterxml.jackson.annotation.JsonIgnore; -@PlanningEntity(difficultyWeightFactoryClass = LectureDifficultyWeightFactory.class) +@PlanningEntity(comparatorFactoryClass = LectureComparatorFactory.class) public class Lecture extends AbstractPersistable { private Course course; private int lectureIndexInCourse; + private int unavailablePeriodPenaltyCount = -1; private boolean pinned; // Planning variables: changes during planning, between score calculations. @@ -67,7 +68,7 @@ public void setPinned(boolean pinned) { this.pinned = pinned; } - @PlanningVariable(strengthWeightFactoryClass = PeriodStrengthWeightFactory.class) + @PlanningVariable(comparatorFactoryClass = PeriodComparatorFactory.class) public Period getPeriod() { return period; } @@ -76,7 +77,7 @@ public void setPeriod(Period period) { this.period = period; } - @PlanningVariable(strengthWeightFactoryClass = RoomStrengthWeightFactory.class) + @PlanningVariable(comparatorFactoryClass = RoomComparatorFactory.class) public Room getRoom() { return room; } @@ -120,6 +121,19 @@ public int getTimeslotIndex() { return period.getTimeslot().getTimeslotIndex(); } + @JsonIgnore + public int getUnavailablePeriodPenaltyCount(CourseSchedule schedule) { + if (unavailablePeriodPenaltyCount == -1) { + unavailablePeriodPenaltyCount = 0; + for (var penalty : schedule.getUnavailablePeriodPenaltyList()) { + if (penalty.getCourse().equals(course)) { + unavailablePeriodPenaltyCount++; + } + } + } + return unavailablePeriodPenaltyCount; + } + @Override public String toString() { return course + "-" + lectureIndexInCourse; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Period.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Period.java index 68c3a740..1b596151 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Period.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/Period.java @@ -5,6 +5,7 @@ import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.ObjectIdGenerators; @JsonIdentityInfo(scope = Period.class, generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") @@ -12,6 +13,7 @@ public class Period extends AbstractPersistable { private Day day; private Timeslot timeslot; + private int unavailablePeriodPenaltyCount = -1; public Period() { } @@ -39,6 +41,19 @@ public void setTimeslot(Timeslot timeslot) { this.timeslot = timeslot; } + @JsonIgnore + public int getUnavailablePeriodPenaltyCount(CourseSchedule schedule) { + if (unavailablePeriodPenaltyCount == -1) { + unavailablePeriodPenaltyCount = 0; + for (var penalty : schedule.getUnavailablePeriodPenaltyList()) { + if (penalty.getPeriod().equals(this)) { + unavailablePeriodPenaltyCount++; + } + } + } + return unavailablePeriodPenaltyCount; + } + @Override public String toString() { return day + "-" + timeslot; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureComparatorFactory.java new file mode 100644 index 00000000..ac67b8dd --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureComparatorFactory.java @@ -0,0 +1,21 @@ +package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Lecture; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class LectureComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(CourseSchedule schedule) { + return Comparator. comparingInt(lecture -> lecture.getCurriculumSet().size()) + .thenComparingInt(lecture -> lecture.getUnavailablePeriodPenaltyCount(schedule)) + .thenComparingInt(lecture -> lecture.getCourse().getLectureSize()) + .thenComparingInt(lecture -> lecture.getCourse().getStudentSize()) + .thenComparingInt(lecture -> lecture.getCourse().getMinWorkingDaySize()) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureDifficultyWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureDifficultyWeightFactory.java deleted file mode 100644 index e0dbda3d..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/LectureDifficultyWeightFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; - -import static java.util.Comparator.comparingInt; -import static java.util.Comparator.comparingLong; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Course; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Lecture; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.UnavailablePeriodPenalty; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class LectureDifficultyWeightFactory implements SelectionSorterWeightFactory { - - @Override - public LectureDifficultyWeight createSorterWeight(CourseSchedule schedule, Lecture lecture) { - Course course = lecture.getCourse(); - int unavailablePeriodPenaltyCount = 0; - for (UnavailablePeriodPenalty penalty : schedule.getUnavailablePeriodPenaltyList()) { - if (penalty.getCourse().equals(course)) { - unavailablePeriodPenaltyCount++; - } - } - return new LectureDifficultyWeight(lecture, unavailablePeriodPenaltyCount); - } - - public static class LectureDifficultyWeight implements Comparable { - - private static final Comparator COMPARATOR = comparingInt( - (LectureDifficultyWeight c) -> c.lecture.getCurriculumSet().size()) - .thenComparing(c -> c.unavailablePeriodPenaltyCount) - .thenComparingInt(c -> c.lecture.getCourse().getLectureSize()) - .thenComparingInt(c -> c.lecture.getCourse().getStudentSize()) - .thenComparing(c -> c.lecture.getCourse().getMinWorkingDaySize()) - .thenComparing(c -> c.lecture, comparingLong(Lecture::getId)); - - private final Lecture lecture; - private final int unavailablePeriodPenaltyCount; - - public LectureDifficultyWeight(Lecture lecture, int unavailablePeriodPenaltyCount) { - this.lecture = lecture; - this.unavailablePeriodPenaltyCount = unavailablePeriodPenaltyCount; - } - - @Override - public int compareTo(LectureDifficultyWeight other) { - return COMPARATOR.compare(this, other); - } - } -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodComparatorFactory.java new file mode 100644 index 00000000..bc5abe63 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodComparatorFactory.java @@ -0,0 +1,21 @@ +package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Period; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class PeriodComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(CourseSchedule schedule) { + return Comparator + . comparing(period -> period.getUnavailablePeriodPenaltyCount(schedule), + Comparator.reverseOrder()) + .thenComparingInt(period -> period.getDay().getDayIndex()) + .thenComparingInt(period -> period.getTimeslot().getTimeslotIndex()) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodStrengthWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodStrengthWeightFactory.java deleted file mode 100644 index cb9a7c31..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/PeriodStrengthWeightFactory.java +++ /dev/null @@ -1,52 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; - -import static java.util.Collections.reverseOrder; -import static java.util.Comparator.comparing; -import static java.util.Comparator.comparingInt; -import static java.util.function.Function.identity; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Period; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.UnavailablePeriodPenalty; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class PeriodStrengthWeightFactory implements SelectionSorterWeightFactory { - - @Override - public PeriodStrengthWeight createSorterWeight(CourseSchedule schedule, Period period) { - int unavailablePeriodPenaltyCount = 0; - for (UnavailablePeriodPenalty penalty : schedule.getUnavailablePeriodPenaltyList()) { - if (penalty.getPeriod().equals(period)) { - unavailablePeriodPenaltyCount++; - } - } - return new PeriodStrengthWeight(period, unavailablePeriodPenaltyCount); - } - - public static class PeriodStrengthWeight implements Comparable { - - // The higher unavailablePeriodPenaltyCount, the weaker - private static final Comparator BASE_COMPARATOR = reverseOrder( - comparingInt((PeriodStrengthWeight w) -> w.unavailablePeriodPenaltyCount)); - private static final Comparator PERIOD_COMPARATOR = comparingInt((Period p) -> p.getDay().getDayIndex()) - .thenComparingInt(p -> p.getTimeslot().getTimeslotIndex()) - .thenComparingLong(Period::getId); - private static final Comparator COMPARATOR = comparing(identity(), BASE_COMPARATOR) - .thenComparing(w -> w.period, PERIOD_COMPARATOR); - - private final Period period; - private final int unavailablePeriodPenaltyCount; - - public PeriodStrengthWeight(Period period, int unavailablePeriodPenaltyCount) { - this.period = period; - this.unavailablePeriodPenaltyCount = unavailablePeriodPenaltyCount; - } - - @Override - public int compareTo(PeriodStrengthWeight other) { - return COMPARATOR.compare(this, other); - } - } -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomComparatorFactory.java new file mode 100644 index 00000000..a94a90a9 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomComparatorFactory.java @@ -0,0 +1,17 @@ +package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; +import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Room; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class RoomComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(CourseSchedule schedule) { + return Comparator.comparingInt(Room::getCapacity) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomStrengthWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomStrengthWeightFactory.java deleted file mode 100644 index dabb5f3f..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/domain/solver/RoomStrengthWeightFactory.java +++ /dev/null @@ -1,37 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver; - -import static java.util.Comparator.comparingInt; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; -import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Room; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class RoomStrengthWeightFactory implements - SelectionSorterWeightFactory { - - @Override - public RoomStrengthWeight createSorterWeight(CourseSchedule schedule, - Room room) { - return new RoomStrengthWeight(room); - } - - public static class RoomStrengthWeight implements Comparable { - - private static final Comparator COMPARATOR = - comparingInt(Room::getCapacity) - .thenComparingLong(Room::getId); - - private final Room room; - - public RoomStrengthWeight(Room room) { - this.room = room; - } - - @Override - public int compareTo(RoomStrengthWeight other) { - return COMPARATOR.compare(room, other.room); - } - } -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/score/CurriculumCourseConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/score/CurriculumCourseConstraintProvider.java index 86840594..f9dd61a8 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/score/CurriculumCourseConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/score/CurriculumCourseConstraintProvider.java @@ -1,8 +1,8 @@ package ai.timefold.solver.benchmarks.examples.curriculumcourse.score; -import static ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore.ONE_HARD; -import static ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore.ofHard; -import static ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore.ofSoft; +import static ai.timefold.solver.core.api.score.HardSoftScore.ONE_HARD; +import static ai.timefold.solver.core.api.score.HardSoftScore.ofHard; +import static ai.timefold.solver.core.api.score.HardSoftScore.ofSoft; import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.count; import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.countDistinct; import static ai.timefold.solver.core.api.score.stream.Joiners.equal; @@ -14,7 +14,7 @@ import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.Lecture; import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.UnavailablePeriodPenalty; import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.solver.CourseConflict; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintCollectors; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Exam.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Exam.java index 03a941ab..62fa324d 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Exam.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Exam.java @@ -2,8 +2,8 @@ import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.JacksonUniqueIdGenerator; -import ai.timefold.solver.benchmarks.examples.examination.domain.solver.ExamDifficultyWeightFactory; -import ai.timefold.solver.benchmarks.examples.examination.domain.solver.RoomStrengthWeightFactory; +import ai.timefold.solver.benchmarks.examples.examination.domain.solver.ExamComparatorFactory; +import ai.timefold.solver.benchmarks.examples.examination.domain.solver.RoomComparatorFactory; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; import ai.timefold.solver.core.api.domain.variable.PlanningVariable; @@ -13,7 +13,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -@PlanningEntity(difficultyWeightFactoryClass = ExamDifficultyWeightFactory.class) +@PlanningEntity(comparatorFactoryClass = ExamComparatorFactory.class) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME) @JsonSubTypes({ @JsonSubTypes.Type(value = LeadingExam.class, name = "leading"), @@ -28,6 +28,9 @@ public abstract class Exam extends AbstractPersistable { // Planning variables: changes during planning, between score calculations. protected Room room; + private int studentSizeTotal = -1; + private int maximumDuration = -1; + public Topic getTopic() { return topic; } @@ -36,7 +39,7 @@ public void setTopic(Topic topic) { this.topic = topic; } - @PlanningVariable(strengthWeightFactoryClass = RoomStrengthWeightFactory.class) + @PlanningVariable(comparatorFactoryClass = RoomComparatorFactory.class) public Room getRoom() { return room; } @@ -102,6 +105,56 @@ public boolean isPeriodFrontLoadLast() { return period.isFrontLoadLast(); } + @JsonIgnore + public int getStudentSizeTotal(Examination examination) { + computeInformation(examination); + return studentSizeTotal; + } + + @JsonIgnore + public int getMaximumDuration(Examination examination) { + computeInformation(examination); + return maximumDuration; + } + + @JsonIgnore + private void computeInformation(Examination examination) { + if (studentSizeTotal != -1 && maximumDuration != -1) { + return; + } + studentSizeTotal = getTopicStudentSize(); + maximumDuration = getTopicDuration(); + for (var periodPenalty : examination.getPeriodPenaltyList()) { + if (periodPenalty.getLeftTopic().equals(getTopic())) { + switch (periodPenalty.getPeriodPenaltyType()) { + case EXAM_COINCIDENCE: + studentSizeTotal += periodPenalty.getRightTopic().getStudentSize(); + maximumDuration = Math.max(maximumDuration, periodPenalty.getRightTopic().getDuration()); + break; + case EXCLUSION, AFTER: + // Do nothing + break; + default: + throw new IllegalStateException("The periodPenaltyType (%s) is not implemented." + .formatted(periodPenalty.getPeriodPenaltyType())); + } + } else if (periodPenalty.getRightTopic().equals(getTopic())) { + switch (periodPenalty.getPeriodPenaltyType()) { + case EXAM_COINCIDENCE, AFTER: + studentSizeTotal += periodPenalty.getLeftTopic().getStudentSize(); + maximumDuration = Math.max(maximumDuration, periodPenalty.getLeftTopic().getDuration()); + break; + case EXCLUSION: + // Do nothing + break; + default: + throw new IllegalStateException("The periodPenaltyType (%s) is not implemented." + .formatted(periodPenalty.getPeriodPenaltyType())); + } + } + } + } + @Override public String toString() { return topic.toString(); diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Examination.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Examination.java index 62139289..54bc2c96 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Examination.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/Examination.java @@ -11,7 +11,7 @@ import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.solution.ProblemFactProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; @PlanningSolution public class Examination extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamComparatorFactory.java new file mode 100644 index 00000000..a008a579 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamComparatorFactory.java @@ -0,0 +1,20 @@ +package ai.timefold.solver.benchmarks.examples.examination.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.examination.domain.Exam; +import ai.timefold.solver.benchmarks.examples.examination.domain.Examination; +import ai.timefold.solver.benchmarks.examples.examination.domain.LeadingExam; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class ExamComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(Examination examination) { + return Comparator. comparingInt(exam -> exam.getStudentSizeTotal(examination)) + .thenComparingInt(exam -> exam.getMaximumDuration(examination)) + .thenComparing(LeadingExam.class::isInstance) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamDifficultyWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamDifficultyWeightFactory.java deleted file mode 100644 index 5c2f1b68..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/ExamDifficultyWeightFactory.java +++ /dev/null @@ -1,81 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.examination.domain.solver; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.examination.domain.Exam; -import ai.timefold.solver.benchmarks.examples.examination.domain.Examination; -import ai.timefold.solver.benchmarks.examples.examination.domain.LeadingExam; -import ai.timefold.solver.benchmarks.examples.examination.domain.PeriodPenalty; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class ExamDifficultyWeightFactory implements SelectionSorterWeightFactory { - - @Override - public ExamDifficultyWeight createSorterWeight(Examination examination, Exam exam) { - int studentSizeTotal = exam.getTopicStudentSize(); - int maximumDuration = exam.getTopicDuration(); - for (PeriodPenalty periodPenalty : examination.getPeriodPenaltyList()) { - if (periodPenalty.getLeftTopic().equals(exam.getTopic())) { - switch (periodPenalty.getPeriodPenaltyType()) { - case EXAM_COINCIDENCE: - studentSizeTotal += periodPenalty.getRightTopic().getStudentSize(); - maximumDuration = Math.max(maximumDuration, periodPenalty.getRightTopic().getDuration()); - break; - case EXCLUSION: - // Do nothing - break; - case AFTER: - // Do nothing - break; - default: - throw new IllegalStateException("The periodPenaltyType (" - + periodPenalty.getPeriodPenaltyType() + ") is not implemented."); - } - } else if (periodPenalty.getRightTopic().equals(exam.getTopic())) { - switch (periodPenalty.getPeriodPenaltyType()) { - case EXAM_COINCIDENCE: - studentSizeTotal += periodPenalty.getLeftTopic().getStudentSize(); - maximumDuration = Math.max(maximumDuration, periodPenalty.getLeftTopic().getDuration()); - break; - case EXCLUSION: - // Do nothing - break; - case AFTER: - studentSizeTotal += periodPenalty.getLeftTopic().getStudentSize(); - maximumDuration = Math.max(maximumDuration, periodPenalty.getLeftTopic().getDuration()); - break; - default: - throw new IllegalStateException("The periodPenaltyType (" - + periodPenalty.getPeriodPenaltyType() + ") is not implemented."); - } - } - } - return new ExamDifficultyWeight(exam, studentSizeTotal, maximumDuration); - } - - public static class ExamDifficultyWeight implements Comparable { - - private static final Comparator COMPARATOR = Comparator - .comparingInt((ExamDifficultyWeight weight) -> weight.studentSizeTotal) - .thenComparingInt(weight -> weight.maximumDuration) - .thenComparing(weight -> weight.exam instanceof LeadingExam) - .thenComparingLong(weight -> weight.exam.getId()); - - private final Exam exam; - private final int studentSizeTotal; - private final int maximumDuration; - - public ExamDifficultyWeight(Exam exam, int studentSizeTotal, int maximumDuration) { - this.exam = exam; - this.studentSizeTotal = studentSizeTotal; - this.maximumDuration = maximumDuration; - } - - @Override - public int compareTo(ExamDifficultyWeight other) { - return COMPARATOR.compare(this, other); - } - - } - -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomComparatorFactory.java new file mode 100644 index 00000000..39d74760 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomComparatorFactory.java @@ -0,0 +1,18 @@ +package ai.timefold.solver.benchmarks.examples.examination.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.examination.domain.Examination; +import ai.timefold.solver.benchmarks.examples.examination.domain.Room; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class RoomComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(Examination examination) { + return Comparator.comparingInt(Room::getCapacity) + .thenComparingLong(AbstractPersistable::getId); + } + +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomStrengthWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomStrengthWeightFactory.java deleted file mode 100644 index 665c628d..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/domain/solver/RoomStrengthWeightFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.examination.domain.solver; - -import static java.util.Comparator.comparingInt; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.examination.domain.Examination; -import ai.timefold.solver.benchmarks.examples.examination.domain.Room; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class RoomStrengthWeightFactory implements SelectionSorterWeightFactory { - - @Override - public RoomStrengthWeight createSorterWeight(Examination examination, Room room) { - return new RoomStrengthWeight(room); - } - - public static class RoomStrengthWeight implements Comparable { - - private static final Comparator COMPARATOR = comparingInt(Room::getCapacity) - .thenComparingLong(Room::getId); - - private final Room room; - - public RoomStrengthWeight(Room room) { - this.room = room; - } - - @Override - public int compareTo(RoomStrengthWeight other) { - return COMPARATOR.compare(this.room, other.room); - } - - } - -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationConstraintWeightOverrideDeserializer.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationConstraintWeightOverrideDeserializer.java index 1f17a09a..2f2b3b90 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationConstraintWeightOverrideDeserializer.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationConstraintWeightOverrideDeserializer.java @@ -1,6 +1,6 @@ package ai.timefold.solver.benchmarks.examples.examination.persistence; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.jackson.api.domain.solution.AbstractConstraintWeightOverridesDeserializer; public class ExaminationConstraintWeightOverrideDeserializer diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationImporter.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationImporter.java index 184eef98..0453f82a 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationImporter.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationImporter.java @@ -39,7 +39,7 @@ import ai.timefold.solver.benchmarks.examples.examination.domain.Topic; import ai.timefold.solver.benchmarks.examples.examination.domain.solver.TopicConflict; import ai.timefold.solver.core.api.domain.solution.ConstraintWeightOverrides; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; public class ExaminationImporter extends AbstractTxtSolutionImporter { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationJacksonModule.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationJacksonModule.java index d8dcfe95..ffd9cf27 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationJacksonModule.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/persistence/ExaminationJacksonModule.java @@ -2,7 +2,7 @@ import ai.timefold.solver.core.api.domain.solution.ConstraintWeightOverrides; -import com.fasterxml.jackson.databind.module.SimpleModule; +import tools.jackson.databind.module.SimpleModule; public final class ExaminationJacksonModule extends SimpleModule { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/score/ExaminationConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/score/ExaminationConstraintProvider.java index 4cc39897..ab46588b 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/examination/score/ExaminationConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/examination/score/ExaminationConstraintProvider.java @@ -18,7 +18,7 @@ import ai.timefold.solver.benchmarks.examples.examination.domain.RoomPenalty; import ai.timefold.solver.benchmarks.examples.examination.domain.RoomPenaltyType; import ai.timefold.solver.benchmarks.examples.examination.domain.solver.TopicConflict; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Job.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Job.java index 74dcb97e..c693aaeb 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Job.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Job.java @@ -1,7 +1,7 @@ package ai.timefold.solver.benchmarks.examples.flowshop.domain; +import ai.timefold.solver.core.api.domain.common.PlanningId; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; -import ai.timefold.solver.core.api.domain.lookup.PlanningId; import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable; import ai.timefold.solver.core.api.domain.variable.PreviousElementShadowVariable; import ai.timefold.solver.core.api.domain.variable.ShadowSources; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/JobScheduleSolution.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/JobScheduleSolution.java index 5e701c38..70e5058c 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/JobScheduleSolution.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/JobScheduleSolution.java @@ -7,7 +7,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningScore; import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIdentityReference; @@ -26,7 +26,7 @@ public class JobScheduleSolution { // All machines of the flowshop private Machine[] allMachines; @PlanningScore - private HardSoftLongScore score; + private HardSoftScore score; public JobScheduleSolution() { } @@ -62,11 +62,11 @@ public void setAllMachines(Machine[] allMachines) { this.allMachines = allMachines; } - public HardSoftLongScore getScore() { + public HardSoftScore getScore() { return score; } - public void setScore(HardSoftLongScore score) { + public void setScore(HardSoftScore score) { this.score = score; } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Machine.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Machine.java index f4db3ba6..5b0c748a 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Machine.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/domain/Machine.java @@ -3,8 +3,8 @@ import java.util.ArrayList; import java.util.List; +import ai.timefold.solver.core.api.domain.common.PlanningId; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; -import ai.timefold.solver.core.api.domain.lookup.PlanningId; import ai.timefold.solver.core.api.domain.variable.PlanningListVariable; import com.fasterxml.jackson.annotation.JsonIdentityInfo; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/phase/NEHCustomPhase.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/phase/NEHCustomPhase.java index a4d62f95..29d8623c 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/phase/NEHCustomPhase.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/phase/NEHCustomPhase.java @@ -2,12 +2,14 @@ import java.util.ArrayList; import java.util.List; -import java.util.function.BooleanSupplier; import ai.timefold.solver.benchmarks.examples.flowshop.domain.Job; import ai.timefold.solver.benchmarks.examples.flowshop.domain.JobScheduleSolution; -import ai.timefold.solver.core.api.score.director.ScoreDirector; +import ai.timefold.solver.benchmarks.examples.flowshop.domain.Machine; import ai.timefold.solver.core.api.solver.phase.PhaseCommand; +import ai.timefold.solver.core.api.solver.phase.PhaseCommandContext; +import ai.timefold.solver.core.preview.api.domain.metamodel.PlanningListVariableMetaModel; +import ai.timefold.solver.core.preview.api.move.builtin.Moves; /** * This custom phase implements the NEH construction heuristic with the Taillard acceleration strategy. @@ -20,10 +22,10 @@ public class NEHCustomPhase implements PhaseCommand { @Override - public void changeWorkingSolution(ScoreDirector scoreDirector, BooleanSupplier isPhaseTerminated) { + public void changeWorkingSolution(PhaseCommandContext phaseCommandContext) { // The enrichment step, after loading the solution, // will sort the jobs by the sum of processing times in decreasing order - var workingSolution = scoreDirector.getWorkingSolution(); + var workingSolution = phaseCommandContext.getWorkingSolution(); var jobs = workingSolution.getJobs(); var currentJobSchedule = new ArrayList(jobs.size()); currentJobSchedule.add(jobs.get(0)); @@ -45,16 +47,13 @@ public void changeWorkingSolution(ScoreDirector scoreDirect } currentJobSchedule.add(minIndex, jobs.get(k)); } - scoreDirector.beforeListVariableChanged(workingSolution.getMachine(), "jobs", 0, 0); + var listVariableMetaModel = + (PlanningListVariableMetaModel) phaseCommandContext + .getSolutionMetaModel().entity(Machine.class). variable("jobs"); for (var job : currentJobSchedule) { - scoreDirector.beforeListVariableElementAssigned(workingSolution.getMachine(), "jobs", job); + phaseCommandContext.execute(Moves.assign(listVariableMetaModel, job, workingSolution.getMachine(), + workingSolution.getMachine().getJobs().size())); } - workingSolution.getMachine().setJobs(currentJobSchedule); - scoreDirector.afterListVariableChanged(workingSolution.getMachine(), "jobs", 0, currentJobSchedule.size()); - for (var job : currentJobSchedule) { - scoreDirector.afterListVariableElementAssigned(workingSolution.getMachine(), "jobs", job); - } - scoreDirector.triggerVariableListeners(); } /** diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopConstraintProvider.java index 3a054f64..a9fd338b 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopConstraintProvider.java @@ -1,7 +1,7 @@ package ai.timefold.solver.benchmarks.examples.flowshop.score; import ai.timefold.solver.benchmarks.examples.flowshop.domain.Machine; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; @@ -21,7 +21,7 @@ public Constraint[] defineConstraints(ConstraintFactory factory) { protected Constraint makespan(ConstraintFactory factory) { return factory.forEach(Machine.class) - .penalizeLong(HardSoftLongScore.ONE_SOFT, Machine::getMakespan) + .penalize(HardSoftScore.ONE_SOFT, Machine::getMakespan) .asConstraint("makespan"); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopEasyScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopEasyScoreCalculator.java index 6174c8fb..c9fa1116 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopEasyScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/flowshop/score/FlowShopEasyScoreCalculator.java @@ -1,15 +1,15 @@ package ai.timefold.solver.benchmarks.examples.flowshop.score; import ai.timefold.solver.benchmarks.examples.flowshop.domain.JobScheduleSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.EasyScoreCalculator; import org.jspecify.annotations.NonNull; -public class FlowShopEasyScoreCalculator implements EasyScoreCalculator { +public class FlowShopEasyScoreCalculator implements EasyScoreCalculator { @Override - public @NonNull HardSoftLongScore calculateScore(@NonNull JobScheduleSolution solution) { - return HardSoftLongScore.ofSoft(-solution.getMachine().getMakespan()); + public @NonNull HardSoftScore calculateScore(@NonNull JobScheduleSolution solution) { + return HardSoftScore.ofSoft(-solution.getMachine().getMakespan()); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MachineReassignment.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MachineReassignment.java index 4f7d987a..78d9602b 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MachineReassignment.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MachineReassignment.java @@ -11,7 +11,7 @@ import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.solution.ProblemFactProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -37,7 +37,7 @@ public MachineReassignment(long id) { super(id); } - private HardSoftLongScore score; + private HardSoftScore score; @ProblemFactProperty public MrGlobalPenaltyInfo getGlobalPenaltyInfo() { @@ -131,11 +131,11 @@ public void setProcessAssignmentList(List processAssignment } @PlanningScore - public HardSoftLongScore getScore() { + public HardSoftScore getScore() { return score; } - public void setScore(HardSoftLongScore score) { + public void setScore(HardSoftScore score) { this.score = score; } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrMachine.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrMachine.java index 7c8d2e88..a7fad368 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrMachine.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrMachine.java @@ -9,8 +9,9 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIdentityReference; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) public class MrMachine extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrProcessAssignment.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrProcessAssignment.java index 6d387ed5..c65eff96 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrProcessAssignment.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/domain/MrProcessAssignment.java @@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; -@PlanningEntity(difficultyComparatorClass = MrProcessAssignmentDifficultyComparator.class) +@PlanningEntity(comparatorClass = MrProcessAssignmentDifficultyComparator.class) public class MrProcessAssignment extends AbstractPersistable { public static MrProcessAssignment withOriginalMachine(long id, diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/optional/score/MachineReassignmentIncrementalScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/optional/score/MachineReassignmentIncrementalScoreCalculator.java index 3b611bc0..36e0704c 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/optional/score/MachineReassignmentIncrementalScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/optional/score/MachineReassignmentIncrementalScoreCalculator.java @@ -17,7 +17,7 @@ import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrResource; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrService; import ai.timefold.solver.benchmarks.examples.machinereassignment.score.MrConstraints; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.ConstraintMatchAwareIncrementalScoreCalculator; import ai.timefold.solver.core.api.score.calculator.IncrementalScoreCalculator; import ai.timefold.solver.core.api.score.constraint.ConstraintMatchTotal; @@ -27,8 +27,8 @@ public class MachineReassignmentIncrementalScoreCalculator implements - ConstraintMatchAwareIncrementalScoreCalculator, - IncrementalScoreCalculator { + ConstraintMatchAwareIncrementalScoreCalculator, + IncrementalScoreCalculator { protected static final String CONSTRAINT_PACKAGE = "ai.timefold.solver.examples.machinereassignment.solver"; @@ -134,8 +134,8 @@ public void afterEntityRemoved(Object entity) { } @Override - public HardSoftLongScore calculateScore() { - return HardSoftLongScore.of(hardScore, softScore); + public HardSoftScore calculateScore() { + return HardSoftScore.of(hardScore, softScore); } private class MrServiceScorePart { @@ -468,48 +468,48 @@ public void resetWorkingSolution(MachineReassignment workingSolution, boolean co } @Override - public Collection> getConstraintMatchTotals() { - DefaultConstraintMatchTotal maximumCapacityMatchTotal = + public Collection> getConstraintMatchTotals() { + DefaultConstraintMatchTotal maximumCapacityMatchTotal = getConstraintMatchTotal( MrConstraints.MAXIMUM_CAPACITY, - HardSoftLongScore.ONE_HARD); - DefaultConstraintMatchTotal serviceConflictMatchTotal = + HardSoftScore.ONE_HARD); + DefaultConstraintMatchTotal serviceConflictMatchTotal = getConstraintMatchTotal( MrConstraints.SERVICE_CONFLICT, - HardSoftLongScore.ONE_HARD); - DefaultConstraintMatchTotal serviceLocationSpreadMatchTotal = + HardSoftScore.ONE_HARD); + DefaultConstraintMatchTotal serviceLocationSpreadMatchTotal = getConstraintMatchTotal( MrConstraints.SERVICE_LOCATION_SPREAD, - HardSoftLongScore.ONE_HARD); - DefaultConstraintMatchTotal serviceDependencyMatchTotal = + HardSoftScore.ONE_HARD); + DefaultConstraintMatchTotal serviceDependencyMatchTotal = getConstraintMatchTotal( MrConstraints.SERVICE_DEPENDENCY, - HardSoftLongScore.ONE_HARD); - DefaultConstraintMatchTotal loadCostMatchTotal = + HardSoftScore.ONE_HARD); + DefaultConstraintMatchTotal loadCostMatchTotal = getConstraintMatchTotal( MrConstraints.LOAD_COST, - HardSoftLongScore.ONE_SOFT); - DefaultConstraintMatchTotal balanceCostMatchTotal = + HardSoftScore.ONE_SOFT); + DefaultConstraintMatchTotal balanceCostMatchTotal = getConstraintMatchTotal( MrConstraints.BALANCE_COST, - HardSoftLongScore.ONE_SOFT); - DefaultConstraintMatchTotal processMoveCostMatchTotal = + HardSoftScore.ONE_SOFT); + DefaultConstraintMatchTotal processMoveCostMatchTotal = getConstraintMatchTotal( MrConstraints.PROCESS_MOVE_COST, - HardSoftLongScore.ofSoft(globalPenaltyInfo.getProcessMoveCostWeight())); - DefaultConstraintMatchTotal serviceMoveCostMatchTotal = + HardSoftScore.ofSoft(globalPenaltyInfo.getProcessMoveCostWeight())); + DefaultConstraintMatchTotal serviceMoveCostMatchTotal = getConstraintMatchTotal( MrConstraints.SERVICE_MOVE_COST, - HardSoftLongScore.ofSoft(globalPenaltyInfo.getServiceMoveCostWeight())); - DefaultConstraintMatchTotal machineMoveCostMatchTotal = + HardSoftScore.ofSoft(globalPenaltyInfo.getServiceMoveCostWeight())); + DefaultConstraintMatchTotal machineMoveCostMatchTotal = getConstraintMatchTotal(MrConstraints.MACHINE_MOVE_COST, - HardSoftLongScore.ofSoft(globalPenaltyInfo.getMachineMoveCostWeight())); + HardSoftScore.ofSoft(globalPenaltyInfo.getMachineMoveCostWeight())); for (MrServiceScorePart serviceScorePart : serviceScorePartMap.values()) { MrService service = serviceScorePart.service; if (service.getLocationSpread() > serviceScorePart.locationBag.size()) { serviceLocationSpreadMatchTotal.addConstraintMatch(List.of(service), - HardSoftLongScore.of( + HardSoftScore.of( -(service.getLocationSpread() - serviceScorePart.locationBag.size()), 0)); } } @@ -517,11 +517,11 @@ public Collection> getConstraintMatchTot for (MrMachineCapacityScorePart machineCapacityScorePart : machineScorePart.machineCapacityScorePartList) { if (machineCapacityScorePart.maximumAvailable < 0L) { maximumCapacityMatchTotal.addConstraintMatch(List.of(machineCapacityScorePart.machineCapacity), - HardSoftLongScore.of(machineCapacityScorePart.maximumAvailable, 0)); + HardSoftScore.of(machineCapacityScorePart.maximumAvailable, 0)); } if (machineCapacityScorePart.safetyAvailable < 0L) { loadCostMatchTotal.addConstraintMatch(List.of(machineCapacityScorePart.machineCapacity), - HardSoftLongScore.of(0, machineCapacityScorePart.safetyAvailable + HardSoftScore.of(0, machineCapacityScorePart.safetyAvailable * machineCapacityScorePart.machineCapacity.getResource().getLoadCostWeight())); } } @@ -535,7 +535,7 @@ public Collection> getConstraintMatchTot // targetAvailable might be negative, but that's ok (and even avoids score traps) if (targetAvailable < minimumTargetAvailable) { balanceCostMatchTotal.addConstraintMatch(List.of(machineScorePart.machine, balancePenalty), - HardSoftLongScore.of(0, + HardSoftScore.of(0, -(minimumTargetAvailable - targetAvailable) * balancePenalty.getWeight())); } } @@ -545,7 +545,7 @@ public Collection> getConstraintMatchTot Integer serviceProcessCount = entry.getValue(); if (serviceProcessCount > 1) { serviceConflictMatchTotal.addConstraintMatch(List.of(machineScorePart.machine, entry.getKey()), - HardSoftLongScore.of(-(serviceProcessCount - 1), 0)); + HardSoftScore.of(-(serviceProcessCount - 1), 0)); } } } @@ -556,26 +556,26 @@ public Collection> getConstraintMatchTot serviceScorePart.neighborhoodBag.getOrDefault(processAssignment.getNeighborhood(), 0); if (toDependencyNeighborhoodProcessCount == 0) { serviceDependencyMatchTotal.addConstraintMatch(List.of(processAssignment, toDependencyService), - HardSoftLongScore.of(-1, 0)); + HardSoftScore.of(-1, 0)); } } if (processAssignment.isMoved()) { processMoveCostMatchTotal.addConstraintMatch(List.of(processAssignment), - HardSoftLongScore.of(0, + HardSoftScore.of(0, -((long) processAssignment.getProcessMoveCost() * globalPenaltyInfo.getProcessMoveCostWeight()))); machineMoveCostMatchTotal.addConstraintMatch(List.of(processAssignment), - HardSoftLongScore.of(0, + HardSoftScore.of(0, -((long) processAssignment.getMachineMoveCost() * globalPenaltyInfo.getMachineMoveCostWeight()))); } } for (int i = 0; i < serviceMoveCost; i++) { serviceMoveCostMatchTotal.addConstraintMatch(List.of(i), - HardSoftLongScore.of(0, -globalPenaltyInfo.getServiceMoveCostWeight())); + HardSoftScore.of(0, -globalPenaltyInfo.getServiceMoveCostWeight())); } - List> constraintMatchTotalList = new ArrayList<>(4); + List> constraintMatchTotalList = new ArrayList<>(4); constraintMatchTotalList.add(maximumCapacityMatchTotal); constraintMatchTotalList.add(serviceConflictMatchTotal); constraintMatchTotalList.add(serviceLocationSpreadMatchTotal); @@ -588,13 +588,13 @@ public Collection> getConstraintMatchTot return constraintMatchTotalList; } - private static DefaultConstraintMatchTotal getConstraintMatchTotal(String constraintName, - HardSoftLongScore constraintWeight) { - return new DefaultConstraintMatchTotal<>(ConstraintRef.of(CONSTRAINT_PACKAGE, constraintName), constraintWeight); + private static DefaultConstraintMatchTotal getConstraintMatchTotal(String constraintName, + HardSoftScore constraintWeight) { + return new DefaultConstraintMatchTotal<>(ConstraintRef.of(constraintName), constraintWeight); } @Override - public Map> getIndictmentMap() { + public Map> getIndictmentMap() { return null; // Calculate it non-incrementally from getConstraintMatchTotals() } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProvider.java index 5d21ddbe..a0a42a15 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProvider.java @@ -13,7 +13,7 @@ import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrProcessAssignment; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrService; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.solver.MrServiceDependency; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintCollectors; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; @@ -56,7 +56,7 @@ protected Constraint maximumCapacity(ConstraintFactory factory) { sumLong((machineCapacity, processAssignment) -> processAssignment .getUsage(machineCapacity.getResource()))) .filter(((machine, machineCapacity, usage) -> machineCapacity.getMaximumCapacity() < usage)) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, (machine, machineCapacity, usage) -> usage - machineCapacity.getMaximumCapacity()) .asConstraint(MrConstraints.MAXIMUM_CAPACITY); } @@ -65,7 +65,7 @@ protected Constraint serviceConflict(ConstraintFactory factory) { return factory.forEachUniquePair(MrProcessAssignment.class, equal(MrProcessAssignment::getMachine, MrProcessAssignment::getMachine), equal(MrProcessAssignment::getService, MrProcessAssignment::getService)) - .penalize(HardSoftLongScore.ONE_HARD) + .penalize(HardSoftScore.ONE_HARD) .asConstraint(MrConstraints.SERVICE_CONFLICT); } @@ -77,7 +77,7 @@ protected Constraint serviceLocationSpread(ConstraintFactory factory) { .groupBy(MrProcessAssignment::getService, ConstraintCollectors.countDistinct(MrProcessAssignment::getLocation)) .filter((service, distinctLocationCount) -> distinctLocationCount < service.getLocationSpread()) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, (service, distinctLocationCount) -> service.getLocationSpread() - distinctLocationCount) .asConstraint(MrConstraints.SERVICE_LOCATION_SPREAD); } @@ -95,7 +95,7 @@ protected Constraint serviceDependency(ConstraintFactory factory) { MrProcessAssignment::getService), filtering((serviceDependency, processFrom, processTo) -> !processFrom.getNeighborhood().equals(processTo.getNeighborhood()))) - .penalize(HardSoftLongScore.ONE_HARD) + .penalize(HardSoftScore.ONE_HARD) .asConstraint(MrConstraints.SERVICE_DEPENDENCY); } @@ -113,7 +113,7 @@ protected Constraint transientUsage(ConstraintFactory factory) { sumLong((machineCapacity, processAssignment) -> processAssignment .getUsage(machineCapacity.getResource()))) .filter(((machineCapacity, usage) -> machineCapacity.getMaximumCapacity() < usage)) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, (machineCapacity, usage) -> usage - machineCapacity.getMaximumCapacity()) .asConstraint(MrConstraints.TRANSIENT_USAGE); } @@ -133,7 +133,7 @@ protected Constraint loadCost(ConstraintFactory factory) { sumLong((machineCapacity, processAssignment) -> processAssignment .getUsage(machineCapacity.getResource()))) .filter(((machineCapacity, usage) -> machineCapacity.getSafetyCapacity() < usage)) - .penalizeLong(HardSoftLongScore.ONE_SOFT, + .penalize(HardSoftScore.ONE_SOFT, (machineCapacity, usage) -> machineCapacity.getResource().getLoadCostWeight() * (usage - machineCapacity.getSafetyCapacity())) .asConstraint(MrConstraints.LOAD_COST); @@ -150,7 +150,7 @@ protected Constraint balanceCost(ConstraintFactory factory) { (penalty, processAssignment) -> processAssignment.getMachine(), sumLong((penalty, processAssignment) -> processAssignment.getUsage(penalty.getOriginResource())), sumLong((penalty, processAssignment) -> processAssignment.getUsage(penalty.getTargetResource()))) - .penalizeLong(HardSoftLongScore.ONE_SOFT, this::balanceCost) + .penalize(HardSoftScore.ONE_SOFT, this::balanceCost) .asConstraint(MrConstraints.BALANCE_COST); } @@ -173,7 +173,7 @@ protected Constraint processMoveCost(ConstraintFactory factory) { .filter(processAssignment -> processAssignment.isMoved() && processAssignment.getProcessMoveCost() > 0) .join(MrGlobalPenaltyInfo.class, filtering((processAssignment, penalty) -> penalty.getProcessMoveCostWeight() > 0)) - .penalize(HardSoftLongScore.ONE_SOFT, + .penalize(HardSoftScore.ONE_SOFT, (processAssignment, penalty) -> processAssignment.getProcessMoveCost() * penalty .getProcessMoveCostWeight()) .asConstraint(MrConstraints.PROCESS_MOVE_COST); @@ -188,7 +188,7 @@ protected Constraint serviceMoveCost(ConstraintFactory factory) { .groupBy(MrProcessAssignment::getService, ConstraintCollectors.count()) .groupBy(ConstraintCollectors.max((BiFunction) (service, count) -> count)) .join(MrGlobalPenaltyInfo.class) - .penalize(HardSoftLongScore.ONE_SOFT, + .penalize(HardSoftScore.ONE_SOFT, (count, penalty) -> count * penalty.getServiceMoveCostWeight()) .asConstraint(MrConstraints.SERVICE_MOVE_COST); } @@ -201,7 +201,7 @@ protected Constraint machineMoveCost(ConstraintFactory factory) { .filter(processAssignment -> processAssignment.isMoved() && processAssignment.getMachineMoveCost() > 0) .join(MrGlobalPenaltyInfo.class, filtering((processAssignment, penalty) -> penalty.getMachineMoveCostWeight() > 0)) - .penalize(HardSoftLongScore.ONE_SOFT, + .penalize(HardSoftScore.ONE_SOFT, (processAssignment, penalty) -> processAssignment.getMachineMoveCost() * penalty.getMachineMoveCostWeight()) .asConstraint(MrConstraints.MACHINE_MOVE_COST); diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/solver/solution/initializer/ToOriginalMachineSolutionInitializer.java b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/solver/solution/initializer/ToOriginalMachineSolutionInitializer.java index f4bcad40..545271d1 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/solver/solution/initializer/ToOriginalMachineSolutionInitializer.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/machinereassignment/solver/solution/initializer/ToOriginalMachineSolutionInitializer.java @@ -1,31 +1,30 @@ package ai.timefold.solver.benchmarks.examples.machinereassignment.solver.solution.initializer; -import java.util.function.BooleanSupplier; - import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MachineReassignment; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrMachine; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrProcessAssignment; -import ai.timefold.solver.core.api.score.director.ScoreDirector; import ai.timefold.solver.core.api.solver.phase.PhaseCommand; +import ai.timefold.solver.core.api.solver.phase.PhaseCommandContext; +import ai.timefold.solver.core.preview.api.domain.metamodel.PlanningVariableMetaModel; +import ai.timefold.solver.core.preview.api.move.builtin.Moves; public class ToOriginalMachineSolutionInitializer implements PhaseCommand { @Override - public void changeWorkingSolution(ScoreDirector scoreDirector, BooleanSupplier isPhaseTerminated) { - MachineReassignment machineReassignment = scoreDirector.getWorkingSolution(); - initializeProcessAssignmentList(scoreDirector, machineReassignment); + public void changeWorkingSolution(PhaseCommandContext phaseCommandContext) { + MachineReassignment machineReassignment = phaseCommandContext.getWorkingSolution(); + initializeProcessAssignmentList(phaseCommandContext, machineReassignment); } - private void initializeProcessAssignmentList(ScoreDirector scoreDirector, + private void initializeProcessAssignmentList(PhaseCommandContext phaseCommandContext, MachineReassignment machineReassignment) { + var variableMetaModel = + (PlanningVariableMetaModel) phaseCommandContext + .getSolutionMetaModel().entity(MrProcessAssignment.class). variable("machine"); for (MrProcessAssignment processAssignment : machineReassignment.getProcessAssignmentList()) { MrMachine originalMachine = processAssignment.getOriginalMachine(); MrMachine machine = originalMachine == null ? machineReassignment.getMachineList().get(0) : originalMachine; - scoreDirector.beforeVariableChanged(processAssignment, "machine"); - processAssignment.setMachine(machine); - scoreDirector.afterVariableChanged(processAssignment, "machine"); - scoreDirector.triggerVariableListeners(); + phaseCommandContext.execute(Moves.change(variableMetaModel, processAssignment, machine)); } } - } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/domain/MeetingSchedule.java b/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/domain/MeetingSchedule.java index 2bfab601..5dcea9d6 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/domain/MeetingSchedule.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/domain/MeetingSchedule.java @@ -9,7 +9,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; @PlanningSolution public class MeetingSchedule extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/score/MeetingSchedulingConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/score/MeetingSchedulingConstraintProvider.java index 12674c74..640a2e07 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/score/MeetingSchedulingConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/score/MeetingSchedulingConstraintProvider.java @@ -12,7 +12,7 @@ import ai.timefold.solver.benchmarks.examples.meetingscheduling.domain.RequiredAttendance; import ai.timefold.solver.benchmarks.examples.meetingscheduling.domain.Room; import ai.timefold.solver.benchmarks.examples.meetingscheduling.domain.TimeGrain; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/Employee.java b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/Employee.java index 769f09a2..45589740 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/Employee.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/Employee.java @@ -13,8 +13,9 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) public class Employee extends AbstractPersistable implements Comparable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/NurseRoster.java b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/NurseRoster.java index 0177b7b9..dbb0a38f 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/NurseRoster.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/NurseRoster.java @@ -17,7 +17,7 @@ import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.solution.ProblemFactProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore; +import ai.timefold.solver.core.api.score.HardSoftBigDecimalScore; @PlanningSolution public class NurseRoster extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/ShiftAssignment.java b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/ShiftAssignment.java index 0287ef08..6d9e5a45 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/ShiftAssignment.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/ShiftAssignment.java @@ -13,7 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; -@PlanningEntity(difficultyComparatorClass = ShiftAssignmentDifficultyComparator.class) +@PlanningEntity(comparatorClass = ShiftAssignmentDifficultyComparator.class) public class ShiftAssignment extends AbstractPersistable implements Comparable { private static final Comparator COMPARATOR = @@ -37,7 +37,7 @@ public ShiftAssignment(long id, Shift shift, int indexInShift) { } // Planning variables: changes during planning, between score calculations. - @PlanningVariable(strengthComparatorClass = EmployeeStrengthComparator.class) + @PlanningVariable(comparatorClass = EmployeeStrengthComparator.class) private Employee employee; public boolean isPinned() { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/WeekendDefinition.java b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/WeekendDefinition.java index 9307dba5..16c6a9fe 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/WeekendDefinition.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/domain/WeekendDefinition.java @@ -62,11 +62,6 @@ public DayOfWeek getLastDayOfWeekend() { return lastDayOfWeekend; } - @Override - public String toString() { - return code; - } - public boolean isWeekend(DayOfWeek dayOfWeek) { return dayOfWeekSet.contains(dayOfWeek); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/score/NurseRosteringConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/score/NurseRosteringConstraintProvider.java index 8dc016a9..bf5cb7bf 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/score/NurseRosteringConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/nurserostering/score/NurseRosteringConstraintProvider.java @@ -27,7 +27,7 @@ import ai.timefold.solver.benchmarks.examples.nurserostering.domain.request.DayOnRequest; import ai.timefold.solver.benchmarks.examples.nurserostering.domain.request.ShiftOffRequest; import ai.timefold.solver.benchmarks.examples.nurserostering.domain.request.ShiftOnRequest; -import ai.timefold.solver.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore; +import ai.timefold.solver.core.api.score.HardSoftBigDecimalScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintCollectors; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; @@ -196,7 +196,7 @@ Constraint maximumConsecutiveFreeDaysNoAssignments(ConstraintFactory constraintF (contract, employee, nrp) -> contract .getViolationAmount(nrp.getLastShiftDateDayIndex() - nrp.getFirstShiftDateDayIndex() + 1)) .indictWith((contract, employee, nrp) -> Arrays.asList(employee, contract)) - .asConstraint("maximumConsecutiveFreeDays (no shifts)"); + .asConstraint("maximumConsecutiveFreeDays - no shifts"); } // Min/Max consecutive working weekends diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/BedDesignation.java b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/BedDesignation.java index 8f42ad66..787c6218 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/BedDesignation.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/BedDesignation.java @@ -1,7 +1,7 @@ package ai.timefold.solver.benchmarks.examples.pas.domain; import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; -import ai.timefold.solver.benchmarks.examples.pas.domain.solver.BedDesignationDifficultyWeightFactory; +import ai.timefold.solver.benchmarks.examples.pas.domain.solver.BedDesignationComparatorFactory; import ai.timefold.solver.benchmarks.examples.pas.domain.solver.BedStrengthComparator; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; import ai.timefold.solver.core.api.domain.variable.PlanningVariable; @@ -10,13 +10,16 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.ObjectIdGenerators; -@PlanningEntity(difficultyWeightFactoryClass = BedDesignationDifficultyWeightFactory.class) +@PlanningEntity(comparatorFactoryClass = BedDesignationComparatorFactory.class) @JsonIdentityInfo(scope = BedDesignation.class, generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class BedDesignation extends AbstractPersistable { private AdmissionPart admissionPart; private Bed bed; + private int hardDisallowedCount = -1; + private int softDisallowedCount = -1; + public BedDesignation() { } @@ -38,7 +41,7 @@ public void setAdmissionPart(AdmissionPart admissionPart) { this.admissionPart = admissionPart; } - @PlanningVariable(allowsUnassigned = true, strengthComparatorClass = BedStrengthComparator.class) + @PlanningVariable(allowsUnassigned = true, comparatorClass = BedStrengthComparator.class) public Bed getBed() { return bed; } @@ -123,6 +126,33 @@ public GenderLimitation getRoomGenderLimitation() { return bed.getRoom().getGenderLimitation(); } + @JsonIgnore + public int getHardDisallowedCount(PatientAdmissionSchedule schedule) { + computeInformation(schedule); + return hardDisallowedCount; + } + + @JsonIgnore + public int getSoftDisallowedCount(PatientAdmissionSchedule schedule) { + computeInformation(schedule); + return softDisallowedCount; + } + + @JsonIgnore + public void computeInformation(PatientAdmissionSchedule schedule) { + if (hardDisallowedCount != -1 && softDisallowedCount != -1) { + return; + } + hardDisallowedCount = 0; + softDisallowedCount = 0; + for (Room room : schedule.getRoomList()) { + hardDisallowedCount += (room.countHardDisallowedAdmissionPart(admissionPart) + * room.getCapacity()); + softDisallowedCount += (room.countSoftDisallowedAdmissionPart(admissionPart) + * room.getCapacity()); + } + } + @Override public String toString() { return admissionPart.toString(); diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/PatientAdmissionSchedule.java b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/PatientAdmissionSchedule.java index 4681a1c1..8cf40ac3 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/PatientAdmissionSchedule.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/PatientAdmissionSchedule.java @@ -8,7 +8,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; @PlanningSolution public class PatientAdmissionSchedule extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationComparatorFactory.java new file mode 100644 index 00000000..59b3aadc --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationComparatorFactory.java @@ -0,0 +1,27 @@ +package ai.timefold.solver.benchmarks.examples.pas.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.pas.domain.BedDesignation; +import ai.timefold.solver.benchmarks.examples.pas.domain.PatientAdmissionSchedule; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +public class BedDesignationComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(PatientAdmissionSchedule schedule) { + return Comparator + . comparingInt( + bedDesignation -> bedDesignation.getPatient().getRequiredPatientEquipmentList().size() + * bedDesignation.getAdmissionPart().getNightCount()) + .thenComparingInt(bedDesignation -> bedDesignation.getHardDisallowedCount(schedule) + * bedDesignation.getAdmissionPart().getNightCount()) + .thenComparingInt(bedDesignation -> bedDesignation.getAdmissionPart().getNightCount()) + .thenComparingInt(bedDesignation -> bedDesignation.getSoftDisallowedCount(schedule) + * bedDesignation.getAdmissionPart().getNightCount()) + // Descending (earlier nights are more difficult) // TODO probably because less occupancy + .thenComparingInt(bedDesignation -> -bedDesignation.getAdmissionPart().getFirstNight().getIndex()) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationDifficultyWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationDifficultyWeightFactory.java deleted file mode 100644 index 6f847f2e..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/domain/solver/BedDesignationDifficultyWeightFactory.java +++ /dev/null @@ -1,59 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.pas.domain.solver; - -import static java.util.Comparator.comparing; -import static java.util.Comparator.comparingInt; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.pas.domain.BedDesignation; -import ai.timefold.solver.benchmarks.examples.pas.domain.PatientAdmissionSchedule; -import ai.timefold.solver.benchmarks.examples.pas.domain.Room; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -public class BedDesignationDifficultyWeightFactory - implements SelectionSorterWeightFactory { - - @Override - public BedDesignationDifficultyWeight createSorterWeight(PatientAdmissionSchedule schedule, BedDesignation bedDesignation) { - int hardDisallowedCount = 0; - int softDisallowedCount = 0; - for (Room room : schedule.getRoomList()) { - hardDisallowedCount += (room.countHardDisallowedAdmissionPart(bedDesignation.getAdmissionPart()) - * room.getCapacity()); - softDisallowedCount += (room.countSoftDisallowedAdmissionPart(bedDesignation.getAdmissionPart()) - * room.getCapacity()); - } - return new BedDesignationDifficultyWeight(bedDesignation, hardDisallowedCount, softDisallowedCount); - } - - public static class BedDesignationDifficultyWeight implements Comparable { - - private static final Comparator COMPARATOR = comparingInt( - (BedDesignationDifficultyWeight weight) -> weight.requiredEquipmentCount * weight.nightCount) - .thenComparingInt(weight -> weight.hardDisallowedCount * weight.nightCount) - .thenComparingInt(weight -> weight.nightCount) - .thenComparingInt(weight -> weight.softDisallowedCount * weight.nightCount) - // Descending (earlier nights are more difficult) // TODO probably because less occupancy - .thenComparingInt(weight -> -weight.bedDesignation.getAdmissionPart().getFirstNight().getIndex()) - .thenComparing(weight -> weight.bedDesignation, comparing(BedDesignation::getId)); - private final BedDesignation bedDesignation; - private int requiredEquipmentCount; - private int nightCount; - private int hardDisallowedCount; - private int softDisallowedCount; - - public BedDesignationDifficultyWeight(BedDesignation bedDesignation, - int hardDisallowedCount, int softDisallowedCount) { - this.bedDesignation = bedDesignation; - this.requiredEquipmentCount = bedDesignation.getPatient().getRequiredPatientEquipmentList().size(); - this.nightCount = bedDesignation.getAdmissionPart().getNightCount(); - this.hardDisallowedCount = hardDisallowedCount; - this.softDisallowedCount = softDisallowedCount; - } - - @Override - public int compareTo(BedDesignationDifficultyWeight other) { - return COMPARATOR.compare(this, other); - } - } -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/score/PatientAdmissionScheduleConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/score/PatientAdmissionScheduleConstraintProvider.java index 80e2667e..b59ff29a 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/pas/score/PatientAdmissionScheduleConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/pas/score/PatientAdmissionScheduleConstraintProvider.java @@ -16,7 +16,7 @@ import ai.timefold.solver.benchmarks.examples.pas.domain.RequiredPatientEquipment; import ai.timefold.solver.benchmarks.examples.pas.domain.RoomEquipment; import ai.timefold.solver.benchmarks.examples.pas.domain.RoomSpecialism; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/Employee.java b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/Employee.java index a19a851f..bd42b164 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/Employee.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/Employee.java @@ -15,8 +15,9 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @PlanningEntity @JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/TaskAssigningSolution.java b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/TaskAssigningSolution.java index 42cc68e4..75432764 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/TaskAssigningSolution.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/domain/TaskAssigningSolution.java @@ -8,7 +8,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.bendablelong.BendableLongScore; +import ai.timefold.solver.core.api.score.BendableScore; @PlanningSolution public class TaskAssigningSolution extends AbstractPersistable { @@ -27,7 +27,7 @@ public class TaskAssigningSolution extends AbstractPersistable { private List employeeList; @PlanningScore(bendableHardLevelsSize = 1, bendableSoftLevelsSize = 5) - private BendableLongScore score; + private BendableScore score; /** Relates to {@link Task#getStartTime()}. */ private int frozenCutoff; // In minutes @@ -91,11 +91,11 @@ public void setTaskList(List taskList) { this.taskList = taskList; } - public BendableLongScore getScore() { + public BendableScore getScore() { return score; } - public void setScore(BendableLongScore score) { + public void setScore(BendableScore score) { this.score = score; } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/score/TaskAssigningConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/score/TaskAssigningConstraintProvider.java index 157a0ce6..cdce52bc 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/score/TaskAssigningConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/taskassigning/score/TaskAssigningConstraintProvider.java @@ -3,7 +3,7 @@ import ai.timefold.solver.benchmarks.examples.taskassigning.domain.Employee; import ai.timefold.solver.benchmarks.examples.taskassigning.domain.Priority; import ai.timefold.solver.benchmarks.examples.taskassigning.domain.Task; -import ai.timefold.solver.core.api.score.buildin.bendablelong.BendableLongScore; +import ai.timefold.solver.core.api.score.BendableScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; @@ -29,7 +29,7 @@ public Constraint[] defineConstraints(ConstraintFactory constraintFactory) { private Constraint noMissingSkills(ConstraintFactory constraintFactory) { return constraintFactory.forEach(Task.class) .filter(task -> task.getMissingSkillCount() > 0) - .penalize(BendableLongScore.ofHard(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 0, 1), + .penalize(BendableScore.ofHard(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 0, 1), Task::getMissingSkillCount) .asConstraint("No missing skills"); } @@ -37,13 +37,13 @@ private Constraint noMissingSkills(ConstraintFactory constraintFactory) { private Constraint minimizeUnassignedTasks(ConstraintFactory constraintFactory) { return constraintFactory.forEachIncludingUnassigned(Task.class) .filter(task -> task.getEmployee() == null) - .penalize(BendableLongScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 0, 1)) + .penalize(BendableScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 0, 1)) .asConstraint("Minimize unassigned tasks"); } private Constraint criticalPriorityBasedTaskEndTime(ConstraintFactory constraintFactory) { return getTaskWithPriority(constraintFactory, Priority.CRITICAL) - .penalize(BendableLongScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 1, 1), + .penalize(BendableScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 1, 1), Task::getEndTime) .asConstraint("Critical priority task end time"); } @@ -55,21 +55,21 @@ private UniConstraintStream getTaskWithPriority(ConstraintFactory constrai private Constraint minimizeMakespan(ConstraintFactory constraintFactory) { return constraintFactory.forEach(Employee.class) - .penalize(BendableLongScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 2, 1), + .penalize(BendableScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 2, 1), employee -> employee.getEndTime() * employee.getEndTime()) - .asConstraint("Minimize makespan, latest ending employee first"); + .asConstraint("Minimize makespan and latest ending employee first"); } private Constraint majorPriorityTaskEndTime(ConstraintFactory constraintFactory) { return getTaskWithPriority(constraintFactory, Priority.MAJOR) - .penalize(BendableLongScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 3, 1), + .penalize(BendableScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 3, 1), Task::getEndTime) .asConstraint("Major priority task end time"); } private Constraint minorPriorityTaskEndTime(ConstraintFactory constraintFactory) { return getTaskWithPriority(constraintFactory, Priority.MINOR) - .penalize(BendableLongScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 4, 1), + .penalize(BendableScore.ofSoft(BENDABLE_SCORE_HARD_LEVELS_SIZE, BENDABLE_SCORE_SOFT_LEVELS_SIZE, 4, 1), Task::getEndTime) .asConstraint("Minor priority task end time"); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/Team.java b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/Team.java index 2c2d3866..b37f468a 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/Team.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/Team.java @@ -8,8 +8,9 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) public class Team extends AbstractPersistable { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/TravelingTournament.java b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/TravelingTournament.java index e9c9e757..a87125b9 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/TravelingTournament.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/domain/TravelingTournament.java @@ -8,7 +8,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/score/TravelingTournamentConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/score/TravelingTournamentConstraintProvider.java index 7056889d..29be62cf 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/score/TravelingTournamentConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/travelingtournament/score/TravelingTournamentConstraintProvider.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.travelingtournament.domain.Day; import ai.timefold.solver.benchmarks.examples.travelingtournament.domain.Match; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Domicile.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Domicile.java index 600fdbd6..07232c49 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Domicile.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Domicile.java @@ -1,8 +1,10 @@ package ai.timefold.solver.benchmarks.examples.tsp.domain; +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import ai.timefold.solver.benchmarks.examples.tsp.domain.location.Location; +import ai.timefold.solver.benchmarks.examples.tsp.domain.location.LocationAware; -public class Domicile extends Standstill { +public class Domicile extends AbstractPersistable implements LocationAware { private Location location; @@ -10,20 +12,11 @@ public Domicile() { } public Domicile(long id) { - super(id); - } - - @Override - public long getDistanceToNextStandstill() { - var next = getNextStandstill(); - if (next == null) { - return 0; - } - return getDistanceTo(next); + this(id, null); } public Domicile(long id, Location location) { - this(id); + super(id); this.location = location; } @@ -36,17 +29,4 @@ public void setLocation(Location location) { this.location = location; } - // ************************************************************************ - // Complex methods - // ************************************************************************ - - /** - * @param standstill never null - * @return a positive number, the distance multiplied by 1000 to avoid floating point arithmetic rounding errors - */ - @Override - public long getDistanceTo(Standstill standstill) { - return location.getDistanceTo(standstill.getLocation()); - } - } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Standstill.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Standstill.java deleted file mode 100644 index 063980d5..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Standstill.java +++ /dev/null @@ -1,58 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.tsp.domain; - -import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.JacksonUniqueIdGenerator; -import ai.timefold.solver.benchmarks.examples.tsp.domain.location.LocationAware; -import ai.timefold.solver.core.api.domain.entity.PlanningEntity; -import ai.timefold.solver.core.api.domain.lookup.PlanningId; -import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable; - -import com.fasterxml.jackson.annotation.JsonIdentityInfo; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonSubTypes; -import com.fasterxml.jackson.annotation.JsonTypeInfo; - -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME) -@JsonSubTypes({ - @JsonSubTypes.Type(value = Domicile.class, name = "domicile"), - @JsonSubTypes.Type(value = Visit.class, name = "visit"), -}) -@JsonIgnoreProperties(ignoreUnknown = true) -@JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) -@PlanningEntity -public abstract class Standstill implements LocationAware { - - private long id; - private Visit nextStandstill; - - Standstill() { - } - - protected Standstill(long id) { - this.id = id; - } - - @PlanningId - public long getId() { - return id; - } - - public abstract long getDistanceToNextStandstill(); - - @InverseRelationShadowVariable(sourceVariableName = "previousStandstill") - public Visit getNextStandstill() { - return nextStandstill; - } - - public void setNextStandstill(Visit nextStandstill) { - this.nextStandstill = nextStandstill; - } - - /** - * @param standstill never null - * @return a positive number, the distance multiplied by 1000 to avoid floating point arithmetic rounding errors - */ - @JsonIgnore - public abstract long getDistanceTo(Standstill standstill); - -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Tour.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Tour.java new file mode 100644 index 00000000..fc6015f1 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Tour.java @@ -0,0 +1,58 @@ +package ai.timefold.solver.benchmarks.examples.tsp.domain; + +import java.util.ArrayList; +import java.util.List; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.JacksonUniqueIdGenerator; +import ai.timefold.solver.benchmarks.examples.tsp.domain.location.Location; +import ai.timefold.solver.benchmarks.examples.tsp.domain.location.LocationAware; +import ai.timefold.solver.core.api.domain.entity.PlanningEntity; +import ai.timefold.solver.core.api.domain.variable.PlanningListVariable; + +import com.fasterxml.jackson.annotation.JsonIdentityInfo; + +@PlanningEntity +@JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) +public class Tour extends AbstractPersistable implements LocationAware { + + private Domicile domicile; + @PlanningListVariable + private List visitList; + + public Tour() { + super(1L); + this.visitList = new ArrayList<>(); + } + + public Tour(int size) { + this(size, null); + } + + public Tour(int size, Domicile domicile) { + super(1L); + this.visitList = new ArrayList<>(size); + this.domicile = domicile; + } + + public Domicile getDomicile() { + return domicile; + } + + public void setDomicile(Domicile domicile) { + this.domicile = domicile; + } + + public List getVisitList() { + return visitList; + } + + public void setVisitList(List visitList) { + this.visitList = visitList; + } + + @Override + public Location getLocation() { + return domicile.getLocation(); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/TspSolution.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/TspSolution.java index 4d4452f9..e2d45882 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/TspSolution.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/TspSolution.java @@ -1,19 +1,18 @@ package ai.timefold.solver.benchmarks.examples.tsp.domain; import java.text.NumberFormat; -import java.util.Collections; import java.util.List; import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; import ai.timefold.solver.benchmarks.examples.tsp.domain.location.DistanceType; import ai.timefold.solver.benchmarks.examples.tsp.domain.location.Location; import ai.timefold.solver.core.api.domain.solution.PlanningEntityCollectionProperty; +import ai.timefold.solver.core.api.domain.solution.PlanningEntityProperty; import ai.timefold.solver.core.api.domain.solution.PlanningScore; import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; -import ai.timefold.solver.core.api.domain.solution.ProblemFactProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.core.api.score.SimpleScore; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -23,12 +22,16 @@ public class TspSolution extends AbstractPersistable { private String name; protected DistanceType distanceType; protected String distanceUnitOfMeasurement; + @ProblemFactCollectionProperty private List locationList; private Domicile domicile; - + @PlanningEntityProperty + private Tour tour; + @PlanningEntityCollectionProperty + @ValueRangeProvider private List visitList; - - private SimpleLongScore score; + @PlanningScore + private SimpleScore score; public TspSolution() { } @@ -61,7 +64,6 @@ public void setDistanceUnitOfMeasurement(String distanceUnitOfMeasurement) { this.distanceUnitOfMeasurement = distanceUnitOfMeasurement; } - @ProblemFactCollectionProperty public List getLocationList() { return locationList; } @@ -70,7 +72,6 @@ public void setLocationList(List locationList) { this.locationList = locationList; } - @ProblemFactProperty public Domicile getDomicile() { return domicile; } @@ -79,8 +80,17 @@ public void setDomicile(Domicile domicile) { this.domicile = domicile; } - @PlanningEntityCollectionProperty - @ValueRangeProvider + public Tour getTour() { + if (tour == null) { + tour = new Tour(visitList.size(), domicile); + } + return tour; + } + + public void setTour(Tour tour) { + this.tour = tour; + } + public List getVisitList() { return visitList; } @@ -89,12 +99,11 @@ public void setVisitList(List visitList) { this.visitList = visitList; } - @PlanningScore - public SimpleLongScore getScore() { + public SimpleScore getScore() { return score; } - public void setScore(SimpleLongScore score) { + public void setScore(SimpleScore score) { this.score = score; } @@ -102,12 +111,6 @@ public void setScore(SimpleLongScore score) { // Complex methods // ************************************************************************ - @ValueRangeProvider - @JsonIgnore - public List getDomicileRange() { - return Collections.singletonList(domicile); - } - @JsonIgnore public String getDistanceString(NumberFormat numberFormat) { if (score == null) { diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Visit.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Visit.java index d3cd0d42..03d11ca2 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Visit.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/Visit.java @@ -1,94 +1,97 @@ package ai.timefold.solver.benchmarks.examples.tsp.domain; +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.JacksonUniqueIdGenerator; import ai.timefold.solver.benchmarks.examples.tsp.domain.location.Location; +import ai.timefold.solver.benchmarks.examples.tsp.domain.location.LocationAware; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; -import ai.timefold.solver.core.api.domain.variable.AnchorShadowVariable; -import ai.timefold.solver.core.api.domain.variable.PlanningVariable; -import ai.timefold.solver.core.api.domain.variable.PlanningVariableGraphType; +import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable; +import ai.timefold.solver.core.api.domain.variable.NextElementShadowVariable; +import ai.timefold.solver.core.api.domain.variable.PreviousElementShadowVariable; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.JsonIdentityReference; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonTypeInfo; @PlanningEntity -public class Visit extends Standstill { +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME) +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonIdentityInfo(generator = JacksonUniqueIdGenerator.class) +public class Visit extends AbstractPersistable implements LocationAware { private Location location; - // Planning variables: changes during planning, between score calculations. - private Standstill previousStandstill; - - // Anchor shadow var - private Domicile domicile; + @InverseRelationShadowVariable(sourceVariableName = "visitList") + private Tour tour; + @JsonIdentityReference(alwaysAsId = true) + @PreviousElementShadowVariable(sourceVariableName = "visitList") + private Visit previous; + @JsonIdentityReference(alwaysAsId = true) + @NextElementShadowVariable(sourceVariableName = "visitList") + private Visit next; public Visit() { } - public Visit(long id, Location location) { + public Visit(Long id, Location location) { super(id); this.location = location; } - @Override - public Location getLocation() { - return location; + public Tour getTour() { + return tour; } - public void setLocation(Location location) { - this.location = location; + public void setTour(Tour tour) { + this.tour = tour; + } + + public Visit getNext() { + return next; + } + + public void setNext(Visit next) { + this.next = next; } - @PlanningVariable(graphType = PlanningVariableGraphType.CHAINED) - public Standstill getPreviousStandstill() { - return previousStandstill; + public Visit getPrevious() { + return previous; } - public void setPreviousStandstill(Standstill previousStandstill) { - this.previousStandstill = previousStandstill; + public void setPrevious(Visit previous) { + this.previous = previous; } - @AnchorShadowVariable(sourceVariableName = "previousStandstill") - public Domicile getDomicile() { - return domicile; + @Override + public Location getLocation() { + return location; } - public void setDomicile(Domicile domicile) { - this.domicile = domicile; + public void setLocation(Location location) { + this.location = location; } // ************************************************************************ // Complex methods // ************************************************************************ - /** - * @return a positive number, the distance multiplied by 1000 to avoid floating point arithmetic rounding errors - */ @JsonIgnore - @Override - public long getDistanceToNextStandstill() { - var next = getNextStandstill(); - if (next == null && domicile != null) { - return getDistanceTo(domicile); - } else if (next != null) { - return getDistanceTo(next); + public long getDistanceFromPreviousVisit() { + if (tour == null) { + throw new IllegalStateException( + "This method must not be called when the shadow variables are not initialized yet."); + } + if (previous == null) { + return getDistanceToDepot(); } - return 0L; + return previous.getLocation().getDistanceTo(location); } - /** - * @param standstill never null - * @return a positive number, the distance multiplied by 1000 to avoid floating point arithmetic rounding errors - */ @JsonIgnore - public long getDistanceFrom(Standstill standstill) { - return standstill.getLocation().getDistanceTo(location); - } - - /** - * @param standstill never null - * @return a positive number, the distance multiplied by 1000 to avoid floating point arithmetic rounding errors - */ - @Override - public long getDistanceTo(Standstill standstill) { - return location.getDistanceTo(standstill.getLocation()); + public long getDistanceToDepot() { + return location.getDistanceTo(tour.getDomicile().getLocation()); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/location/RoadLocation.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/location/RoadLocation.java index f2ebb90b..f836a267 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/location/RoadLocation.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/location/RoadLocation.java @@ -4,8 +4,8 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.KeySerializer; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; /** * The cost between 2 locations was precalculated on a real road network route. diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/solver/nearby/VisitNearbyDistanceMeter.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/solver/nearby/VisitNearbyDistanceMeter.java index 6eeb12b1..77315367 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/solver/nearby/VisitNearbyDistanceMeter.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/domain/solver/nearby/VisitNearbyDistanceMeter.java @@ -1,19 +1,13 @@ package ai.timefold.solver.benchmarks.examples.tsp.domain.solver.nearby; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Standstill; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; +import ai.timefold.solver.benchmarks.examples.tsp.domain.location.LocationAware; import ai.timefold.solver.core.impl.heuristic.selector.common.nearby.NearbyDistanceMeter; -public class VisitNearbyDistanceMeter implements NearbyDistanceMeter { +public class VisitNearbyDistanceMeter implements NearbyDistanceMeter { @Override - public double getNearbyDistance(Visit origin, Standstill destination) { - long distance = origin.getDistanceTo(destination); - // If arriving early also inflicts a cost (more than just not using the vehicle more), such as the driver's wage, use this: - // if (origin instanceof TimeWindowedCustomer && destination instanceof TimeWindowedCustomer) { - // distance += ((TimeWindowedCustomer) origin).getTimeWindowGapTo((TimeWindowedCustomer) destination); - // } - return distance; + public double getNearbyDistance(LocationAware origin, LocationAware destination) { + return origin.getLocation().getDistanceTo(destination.getLocation()); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspEasyScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspEasyScoreCalculator.java index 04deef93..9557a6a6 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspEasyScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspEasyScoreCalculator.java @@ -1,19 +1,24 @@ package ai.timefold.solver.benchmarks.examples.tsp.optional.score; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.core.api.score.SimpleScore; import ai.timefold.solver.core.api.score.calculator.EasyScoreCalculator; -public class TspEasyScoreCalculator implements EasyScoreCalculator { +public class TspEasyScoreCalculator implements EasyScoreCalculator { @Override - public SimpleLongScore calculateScore(TspSolution tspSolution) { - var visitList = tspSolution.getVisitList(); - long score = -(tspSolution.getDomicile().getDistanceToNextStandstill()); + public SimpleScore calculateScore(TspSolution tspSolution) { + var visitList = tspSolution.getTour().getVisitList(); + long score = 0; for (var visit : visitList) { - score -= visit.getDistanceToNextStandstill(); + if (visit.getTour() != null) { + score -= visit.getDistanceFromPreviousVisit(); + if (visit.getNext() == null) { + score -= visit.getDistanceToDepot(); + } + } } - return SimpleLongScore.of(score); + return SimpleScore.of(score); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspIncrementalScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspIncrementalScoreCalculator.java index cda1b333..72fb8390 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspIncrementalScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/optional/score/TspIncrementalScoreCalculator.java @@ -1,65 +1,86 @@ package ai.timefold.solver.benchmarks.examples.tsp.optional.score; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Standstill; +import ai.timefold.solver.benchmarks.examples.tsp.domain.Tour; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.core.api.score.SimpleScore; import ai.timefold.solver.core.api.score.calculator.IncrementalScoreCalculator; -public class TspIncrementalScoreCalculator implements IncrementalScoreCalculator { +import org.jspecify.annotations.NonNull; + +public class TspIncrementalScoreCalculator implements IncrementalScoreCalculator { private long score; @Override public void resetWorkingSolution(TspSolution tspSolution) { score = 0L; - insert(tspSolution.getDomicile()); - for (Visit visit : tspSolution.getVisitList()) { - insert(visit); + for (var visit : tspSolution.getVisitList()) { + score -= visit.getDistanceFromPreviousVisit(); } + score -= tspSolution.getVisitList().getLast().getDistanceToDepot(); } @Override - public void beforeEntityAdded(Object entity) { + public void beforeEntityAdded(@NonNull Object o) { // Do nothing } @Override - public void afterEntityAdded(Object entity) { - insert((Visit) entity); + public void afterEntityAdded(@NonNull Object o) { + // Do nothing } @Override - public void beforeVariableChanged(Object entity, String variableName) { - retract((Standstill) entity); + public void beforeVariableChanged(@NonNull Object o, @NonNull String s) { + // Do nothing } @Override - public void afterVariableChanged(Object entity, String variableName) { - insert((Standstill) entity); + public void afterVariableChanged(@NonNull Object o, @NonNull String s) { + // Do nothing } @Override - public void beforeEntityRemoved(Object entity) { - retract((Visit) entity); + public void beforeListVariableChanged(@NonNull Object entity, @NonNull String variableName, int fromIndex, int toIndex) { + var tour = (Tour) entity; + for (int index = fromIndex; index < toIndex; index++) { + var visit = tour.getVisitList().get(index); + score += visit.getDistanceFromPreviousVisit(); + } + if (toIndex < tour.getVisitList().size()) { + score += tour.getVisitList().get(toIndex).getDistanceFromPreviousVisit(); + } else if (toIndex > 0 && tour.getVisitList().get(toIndex - 1).getNext() != null) { + score += tour.getVisitList().get(toIndex - 1).getDistanceToDepot(); + } } @Override - public void afterEntityRemoved(Object entity) { - // Do nothing + public void afterListVariableChanged(@NonNull Object entity, @NonNull String variableName, int fromIndex, int toIndex) { + var tour = (Tour) entity; + for (int index = fromIndex; index < toIndex; index++) { + var visit = tour.getVisitList().get(index); + score -= visit.getDistanceFromPreviousVisit(); + } + if (toIndex < tour.getVisitList().size()) { + score -= tour.getVisitList().get(toIndex).getDistanceFromPreviousVisit(); + } else if (toIndex > 0 && tour.getVisitList().get(toIndex - 1).getNext() != null) { + score -= tour.getVisitList().get(toIndex - 1).getDistanceToDepot(); + } } - private void insert(Standstill visit) { - score -= visit.getDistanceToNextStandstill(); + @Override + public void beforeEntityRemoved(@NonNull Object o) { + // Do nothing } - private void retract(Standstill visit) { - score += visit.getDistanceToNextStandstill(); + @Override + public void afterEntityRemoved(@NonNull Object o) { + // Do nothing } @Override - public SimpleLongScore calculateScore() { - return SimpleLongScore.of(score); + public SimpleScore calculateScore() { + return SimpleScore.of(score); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/persistence/TspImporter.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/persistence/TspImporter.java index 9e12edc1..8dd7e94d 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/persistence/TspImporter.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/persistence/TspImporter.java @@ -11,7 +11,6 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.AbstractTxtSolutionImporter; import ai.timefold.solver.benchmarks.examples.tsp.domain.Domicile; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Standstill; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; import ai.timefold.solver.benchmarks.examples.tsp.domain.location.DistanceType; @@ -397,16 +396,16 @@ private void readTspLibSolution() throws IOException { for (Visit visit : tspSolution.getVisitList()) { idToVisitMap.put(visit.getId(), visit); } - Standstill previousStandstill = domicile; + List updatedVisitList = new ArrayList<>(visitListSize); for (int i = 0; i < visitListSize; i++) { long visitId = readLongValue(); Visit visit = idToVisitMap.get(visitId); if (visit == null) { throw new IllegalStateException("The visitId (" + visitId + ") is does not exist."); } - visit.setPreviousStandstill(previousStandstill); - previousStandstill = visit; + updatedVisitList.add(visit); } + tspSolution.setVisitList(updatedVisitList); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/score/TspConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/score/TspConstraintProvider.java index 9a5c7f2c..a52e2d51 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/score/TspConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/tsp/score/TspConstraintProvider.java @@ -1,7 +1,7 @@ package ai.timefold.solver.benchmarks.examples.tsp.score; -import ai.timefold.solver.benchmarks.examples.tsp.domain.Standstill; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; +import ai.timefold.solver.core.api.score.SimpleScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; @@ -11,15 +11,20 @@ public class TspConstraintProvider implements ConstraintProvider { @Override public Constraint[] defineConstraints(ConstraintFactory constraintFactory) { return new Constraint[] { - distanceToNextStandstill(constraintFactory) + distanceToPreviousStandstillPossiblyWithReturnToDepot(constraintFactory) }; } - private Constraint distanceToNextStandstill(ConstraintFactory constraintFactory) { - return constraintFactory.forEach(Standstill.class) - .penalizeLong(SimpleLongScore.ONE, - Standstill::getDistanceToNextStandstill) - .asConstraint("Distance to next standstill"); + protected Constraint distanceToPreviousStandstillPossiblyWithReturnToDepot(ConstraintFactory factory) { + return factory.forEach(Visit.class) + .filter(visit -> visit.getTour() != null) + .penalize(SimpleScore.ONE, visit -> { + var distance = visit.getDistanceFromPreviousVisit(); + if (visit.getNext() == null) { + distance += visit.getDistanceToDepot(); + } + return distance; + }).asConstraint("distanceToPreviousStandstillPossiblyWithReturnToDepot"); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/Customer.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/Customer.java index a3c07863..67a1d183 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/Customer.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/Customer.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.JacksonUniqueIdGenerator; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.location.Location; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.location.LocationAware; -import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.solver.DepotAngleCustomerDifficultyWeightFactory; +import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.solver.DepotAngleCustomerComparatorFactory; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedCustomer; import ai.timefold.solver.core.api.domain.entity.PlanningEntity; import ai.timefold.solver.core.api.domain.variable.InverseRelationShadowVariable; @@ -17,7 +17,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -@PlanningEntity(difficultyWeightFactoryClass = DepotAngleCustomerDifficultyWeightFactory.class) +@PlanningEntity(comparatorFactoryClass = DepotAngleCustomerComparatorFactory.class) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME) @JsonSubTypes({ @JsonSubTypes.Type(value = TimeWindowedCustomer.class, name = "timeWindowed"), diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/VehicleRoutingSolution.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/VehicleRoutingSolution.java index 93a190f6..44562103 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/VehicleRoutingSolution.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/VehicleRoutingSolution.java @@ -11,7 +11,7 @@ import ai.timefold.solver.core.api.domain.solution.PlanningSolution; import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty; import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; @PlanningSolution public class VehicleRoutingSolution extends AbstractPersistable { @@ -25,7 +25,7 @@ public class VehicleRoutingSolution extends AbstractPersistable { protected List customerList; - protected HardSoftLongScore score; + protected HardSoftScore score; public VehicleRoutingSolution() { this(0); @@ -97,11 +97,11 @@ public void setCustomerList(List customerList) { } @PlanningScore - public HardSoftLongScore getScore() { + public HardSoftScore getScore() { return score; } - public void setScore(HardSoftLongScore score) { + public void setScore(HardSoftScore score) { this.score = score; } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/location/RoadLocation.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/location/RoadLocation.java index 07234805..8bb55181 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/location/RoadLocation.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/location/RoadLocation.java @@ -4,8 +4,8 @@ import ai.timefold.solver.benchmarks.examples.common.persistence.jackson.KeySerializer; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; /** * The cost between 2 locations was precalculated on a real road network route. diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerComparatorFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerComparatorFactory.java new file mode 100644 index 00000000..14d1c716 --- /dev/null +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerComparatorFactory.java @@ -0,0 +1,25 @@ +package ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.solver; + +import java.util.Comparator; + +import ai.timefold.solver.benchmarks.examples.common.domain.AbstractPersistable; +import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.Customer; +import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; +import ai.timefold.solver.core.api.domain.common.ComparatorFactory; + +/** + * On large datasets, the constructed solution looks like pizza slices. + */ +public class DepotAngleCustomerComparatorFactory implements ComparatorFactory { + + @Override + public Comparator createComparator(VehicleRoutingSolution vehicleRoutingSolution) { + var depot = vehicleRoutingSolution.getDepotList().get(0); + return Comparator + . comparingDouble(customer -> customer.getLocation().getAngle(depot.getLocation())) + // Ascending (further from the depot are more difficult) + .thenComparingLong(customer -> customer.getLocation().getDistanceTo(depot.getLocation()) + + depot.getLocation().getDistanceTo(customer.getLocation())) + .thenComparingLong(AbstractPersistable::getId); + } +} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerDifficultyWeightFactory.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerDifficultyWeightFactory.java deleted file mode 100644 index e80bfafe..00000000 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/domain/solver/DepotAngleCustomerDifficultyWeightFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -package ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.solver; - -import static java.util.Comparator.comparingDouble; -import static java.util.Comparator.comparingLong; - -import java.util.Comparator; - -import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.Customer; -import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.Depot; -import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; -import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory; - -/** - * On large datasets, the constructed solution looks like pizza slices. - */ -public class DepotAngleCustomerDifficultyWeightFactory - implements SelectionSorterWeightFactory { - - @Override - public DepotAngleCustomerDifficultyWeight createSorterWeight(VehicleRoutingSolution vehicleRoutingSolution, - Customer customer) { - Depot depot = vehicleRoutingSolution.getDepotList().get(0); - return new DepotAngleCustomerDifficultyWeight(customer, - customer.getLocation().getAngle(depot.getLocation()), - customer.getLocation().getDistanceTo(depot.getLocation()) - + depot.getLocation().getDistanceTo(customer.getLocation())); - } - - public static class DepotAngleCustomerDifficultyWeight - implements Comparable { - - private static final Comparator COMPARATOR = comparingDouble( - (DepotAngleCustomerDifficultyWeight weight) -> weight.depotAngle) - .thenComparingLong(weight -> weight.depotRoundTripDistance) // Ascending (further from the depot are more difficult) - .thenComparing(weight -> weight.customer, - comparingLong(Customer::getId)); - - private final Customer customer; - private final double depotAngle; - private final long depotRoundTripDistance; - - public DepotAngleCustomerDifficultyWeight(Customer customer, - double depotAngle, long depotRoundTripDistance) { - this.customer = customer; - this.depotAngle = depotAngle; - this.depotRoundTripDistance = depotRoundTripDistance; - } - - @Override - public int compareTo(DepotAngleCustomerDifficultyWeight other) { - return COMPARATOR.compare(this, other); - } - } -} diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingEasyScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingEasyScoreCalculator.java index 8929c485..312f6bc2 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingEasyScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingEasyScoreCalculator.java @@ -9,15 +9,15 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedCustomer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedVehicleRoutingSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.EasyScoreCalculator; public class VehicleRoutingEasyScoreCalculator implements - EasyScoreCalculator { + EasyScoreCalculator { @Override - public HardSoftLongScore calculateScore(VehicleRoutingSolution solution) { + public HardSoftScore calculateScore(VehicleRoutingSolution solution) { boolean timeWindowed = solution instanceof TimeWindowedVehicleRoutingSolution; List customerList = solution.getCustomerList(); List vehicleList = solution.getVehicleList(); @@ -59,7 +59,7 @@ public HardSoftLongScore calculateScore(VehicleRoutingSolution solution) { } } // Score constraint arrivalAfterMaxEndTimeAtDepot is a built-in hard constraint in VehicleRoutingImporter - return HardSoftLongScore.of(hardScore, softScore); + return HardSoftScore.of(hardScore, softScore); } } diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingIncrementalScoreCalculator.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingIncrementalScoreCalculator.java index d23150ff..306c3b44 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingIncrementalScoreCalculator.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/optional/score/VehicleRoutingIncrementalScoreCalculator.java @@ -9,12 +9,12 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedCustomer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedVehicleRoutingSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.calculator.IncrementalScoreCalculator; public class VehicleRoutingIncrementalScoreCalculator implements - IncrementalScoreCalculator { + IncrementalScoreCalculator { private boolean timeWindowed; private Map vehicleDemandMap; @@ -160,8 +160,8 @@ private void retractArrivalTime(TimeWindowedCustomer customer) { } @Override - public HardSoftLongScore calculateScore() { - return HardSoftLongScore.of(hardScore, softScore); + public HardSoftScore calculateScore() { + return HardSoftScore.of(hardScore, softScore); } // ************************************************************************ diff --git a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/score/VehicleRoutingConstraintProvider.java b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/score/VehicleRoutingConstraintProvider.java index db8655b0..fb5c0f15 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/score/VehicleRoutingConstraintProvider.java +++ b/src/main/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/score/VehicleRoutingConstraintProvider.java @@ -5,7 +5,7 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.Customer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedCustomer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedDepot; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.score.stream.Constraint; import ai.timefold.solver.core.api.score.stream.ConstraintFactory; import ai.timefold.solver.core.api.score.stream.ConstraintProvider; @@ -31,7 +31,7 @@ protected Constraint vehicleCapacity(ConstraintFactory factory) { .filter(customer -> customer.getVehicle() != null) .groupBy(Customer::getVehicle, sum(Customer::getDemand)) .filter((vehicle, demand) -> demand > vehicle.getCapacity()) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, (vehicle, demand) -> demand - vehicle.getCapacity()) .asConstraint("vehicleCapacity"); } @@ -43,7 +43,7 @@ protected Constraint vehicleCapacity(ConstraintFactory factory) { protected Constraint distanceToPreviousStandstillPossiblyWithReturnToDepot(ConstraintFactory factory) { return factory.forEach(Customer.class) .filter(customer -> customer.getVehicle() != null) - .penalizeLong(HardSoftLongScore.ONE_SOFT, customer -> { + .penalize(HardSoftScore.ONE_SOFT, customer -> { var distance = customer.getDistanceFromPreviousStandstill(); if (customer.getNextCustomer() == null) { distance += customer.getDistanceToDepot(); @@ -60,7 +60,7 @@ protected Constraint arrivalAfterMaxEndTime(ConstraintFactory factory) { return factory.forEach(TimeWindowedCustomer.class) .filter(customer -> customer.getVehicle() != null) .filter(customer -> customer.getArrivalTime() > customer.getMaxEndTime()) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, customer -> customer.getArrivalTime() - customer.getMaxEndTime()) .asConstraint("arrivalAfterMaxEndTime"); } @@ -69,7 +69,7 @@ protected Constraint depotArrivalAfterMaxEndTime(ConstraintFactory factory) { return factory.forEach(TimeWindowedCustomer.class) .filter(customer -> customer.getVehicle() != null) .filter(customer -> customer.getNextCustomer() == null && getDepotArrivalDifference(customer) > 0) - .penalizeLong(HardSoftLongScore.ONE_HARD, + .penalize(HardSoftScore.ONE_HARD, VehicleRoutingConstraintProvider::getDepotArrivalDifference) .asConstraint("depotArrivalAfterMaxEndTime"); } diff --git a/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/AbstractProblem.java b/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/AbstractProblem.java index 78fe4032..f7d7de78 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/AbstractProblem.java +++ b/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/AbstractProblem.java @@ -8,7 +8,7 @@ import ai.timefold.solver.benchmarks.micro.scoredirector.Example; import ai.timefold.solver.benchmarks.micro.scoredirector.ScoreDirectorType; -import ai.timefold.solver.core.api.score.buildin.simple.SimpleScore; +import ai.timefold.solver.core.api.score.SimpleScore; import ai.timefold.solver.core.api.score.calculator.EasyScoreCalculator; import ai.timefold.solver.core.api.solver.SolverFactory; import ai.timefold.solver.core.config.score.director.ScoreDirectorFactoryConfig; diff --git a/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/TspProblem.java b/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/TspProblem.java index 568a2247..fa58dd3c 100644 --- a/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/TspProblem.java +++ b/src/main/java/ai/timefold/solver/benchmarks/micro/scoredirector/problems/TspProblem.java @@ -1,5 +1,6 @@ package ai.timefold.solver.benchmarks.micro.scoredirector.problems; +import ai.timefold.solver.benchmarks.examples.tsp.domain.Tour; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; import ai.timefold.solver.benchmarks.examples.tsp.domain.Visit; import ai.timefold.solver.benchmarks.examples.tsp.optional.score.TspEasyScoreCalculator; @@ -32,7 +33,7 @@ protected ScoreDirectorFactoryConfig buildScoreDirectorFactoryConfig(ScoreDirect @Override protected SolutionDescriptor buildSolutionDescriptor() { - return SolutionDescriptor.buildSolutionDescriptor(TspSolution.class, Visit.class); + return SolutionDescriptor.buildSolutionDescriptor(TspSolution.class, Tour.class, Visit.class); } @Override diff --git a/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module b/src/main/resources/META-INF/services/tools.jackson.databind.JacksonModule similarity index 72% rename from src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module rename to src/main/resources/META-INF/services/tools.jackson.databind.JacksonModule index 4332f5d9..420ec813 100644 --- a/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module +++ b/src/main/resources/META-INF/services/tools.jackson.databind.JacksonModule @@ -1 +1 @@ -ai.timefold.solver.benchmarks.examples.examination.persistence.ExaminationJacksonModule \ No newline at end of file +ai.timefold.solver.benchmarks.examples.examination.persistence.ExaminationJacksonModule diff --git a/src/main/resources/ai/timefold/solver/benchmarks/examples/examination/examinationSolverConfig.xml b/src/main/resources/ai/timefold/solver/benchmarks/examples/examination/examinationSolverConfig.xml index 208adb8a..e477e6ff 100644 --- a/src/main/resources/ai/timefold/solver/benchmarks/examples/examination/examinationSolverConfig.xml +++ b/src/main/resources/ai/timefold/solver/benchmarks/examples/examination/examinationSolverConfig.xml @@ -26,7 +26,7 @@ ai.timefold.solver.benchmarks.examples.examination.domain.Exam PHASE SORTED - DECREASING_DIFFICULTY + DESCENDING @@ -36,7 +36,7 @@ PHASE - + @@ -44,7 +44,7 @@ PHASE SORTED - INCREASING_STRENGTH + ASCENDING diff --git a/src/main/resources/ai/timefold/solver/benchmarks/examples/tsp/tspSolverConfig.xml b/src/main/resources/ai/timefold/solver/benchmarks/examples/tsp/tspSolverConfig.xml index 68eb28ac..8714b062 100644 --- a/src/main/resources/ai/timefold/solver/benchmarks/examples/tsp/tspSolverConfig.xml +++ b/src/main/resources/ai/timefold/solver/benchmarks/examples/tsp/tspSolverConfig.xml @@ -7,6 +7,7 @@ ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution + ai.timefold.solver.benchmarks.examples.tsp.domain.Tour ai.timefold.solver.benchmarks.examples.tsp.domain.Visit @@ -22,24 +23,8 @@ ai.timefold.solver.benchmarks.examples.tsp.domain.solver.nearby.VisitNearbyDistanceMeter - + - - - - - - 50 - - true - - - - 50 - - true - - 400 diff --git a/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/AN33K6CorrectnessTest.java b/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/AN33K6CorrectnessTest.java index 3eb8711c..74e924ae 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/AN33K6CorrectnessTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/AN33K6CorrectnessTest.java @@ -9,7 +9,7 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.Customer; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; import ai.timefold.solver.benchmarks.examples.vehiclerouting.persistence.VehicleRoutingImporter; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.solver.ScoreAnalysisFetchPolicy; import ai.timefold.solver.core.api.solver.SolutionManager; import ai.timefold.solver.core.api.solver.SolverFactory; @@ -41,10 +41,10 @@ void runAndCheckScore() { // Check the score of the solution. var config = CVRPLIBConfiguration.ENTERPRISE_EDITION.getSolverConfig(dataset); - var solutionManager = SolutionManager. create(SolverFactory.create(config)); + var solutionManager = SolutionManager. create(SolverFactory.create(config)); var analysis = solutionManager.analyze(solution, ScoreAnalysisFetchPolicy.FETCH_ALL); var score = analysis.score(); - assertThat(score).isEqualTo(HardSoftLongScore.of(0, -7420)); + assertThat(score).isEqualTo(HardSoftScore.of(0, -7420)); } private List assembleCustomers(VehicleRoutingSolution solution, int... customerIds) { diff --git a/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/SolomonC101CorrectnessTest.java b/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/SolomonC101CorrectnessTest.java index e599aff0..77fd6dc8 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/SolomonC101CorrectnessTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/competitive/cvrplib/SolomonC101CorrectnessTest.java @@ -14,7 +14,7 @@ import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedDepot; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.timewindowed.TimeWindowedVehicleRoutingSolution; import ai.timefold.solver.benchmarks.examples.vehiclerouting.persistence.VehicleRoutingImporter; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.core.api.solver.ScoreAnalysisFetchPolicy; import ai.timefold.solver.core.api.solver.SolutionManager; import ai.timefold.solver.core.api.solver.SolverFactory; @@ -178,10 +178,10 @@ void runAndCheckScore() { // Check the score of the solution. var config = CVRPLIBConfiguration.ENTERPRISE_EDITION.getSolverConfig(dataset); - var solutionManager = SolutionManager. create(SolverFactory.create(config)); + var solutionManager = SolutionManager. create(SolverFactory.create(config)); var analysis = solutionManager.analyze(solution, ScoreAnalysisFetchPolicy.FETCH_ALL); var score = analysis.score(); - assertThat(score).isEqualTo(HardSoftLongScore.of(0, -8273)); + assertThat(score).isEqualTo(HardSoftScore.of(0, -8273)); } private void verifyCustomer(List customers, int customerId, int x, int y, int demand, int readyTime, diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/app/CloudBalancingSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/app/CloudBalancingSmokeTest.java index 1c5eeae8..d3d7f895 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/app/CloudBalancingSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/cloudbalancing/app/CloudBalancingSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.cloudbalancing.domain.CloudBalance; import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; class CloudBalancingSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/app/ConferenceSchedulingSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/app/ConferenceSchedulingSmokeTest.java index e208a9c6..18d62596 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/app/ConferenceSchedulingSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/app/ConferenceSchedulingSmokeTest.java @@ -5,7 +5,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.conferencescheduling.domain.ConferenceSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; class ConferenceSchedulingSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/app/CurriculumCourseSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/app/CurriculumCourseSmokeTest.java index 167d9fb9..6bb07f1b 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/app/CurriculumCourseSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/app/CurriculumCourseSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.curriculumcourse.domain.CourseSchedule; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; class CurriculumCourseSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/examination/app/ExaminationSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/examination/app/ExaminationSmokeTest.java index 1f553ed6..6d805c37 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/examination/app/ExaminationSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/examination/app/ExaminationSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.examination.domain.Examination; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; class ExaminationSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/flowshop/app/FlowShopSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/flowshop/app/FlowShopSmokeTest.java index 867dbb2d..0bce1409 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/flowshop/app/FlowShopSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/flowshop/app/FlowShopSmokeTest.java @@ -4,9 +4,9 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.flowshop.domain.JobScheduleSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; -class FlowShopSmokeTest extends SolverSmokeTest { +class FlowShopSmokeTest extends SolverSmokeTest { private static final String UNSOLVED_DATA_FILE = "data/flowshop/unsolved/Ta001.json"; @@ -16,10 +16,10 @@ protected FlowShopApp createCommonApp() { } @Override - protected Stream> testData() { + protected Stream> testData() { return Stream.of( TestData.of(UNSOLVED_DATA_FILE, - HardSoftLongScore.of(0, -1278), - HardSoftLongScore.of(0, -1278))); + HardSoftScore.of(0, -1278), + HardSoftScore.of(0, -1278))); } } diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/app/MachineReassignmentSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/app/MachineReassignmentSmokeTest.java index a60c5a11..7d50258a 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/app/MachineReassignmentSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/app/MachineReassignmentSmokeTest.java @@ -4,9 +4,9 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MachineReassignment; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; -class MachineReassignmentSmokeTest extends SolverSmokeTest { +class MachineReassignmentSmokeTest extends SolverSmokeTest { private static final String UNSOLVED_DATA_FILE = "data/machinereassignment/unsolved/model_a2_1.json"; @@ -16,10 +16,10 @@ protected MachineReassignmentApp createCommonApp() { } @Override - protected Stream> testData() { + protected Stream> testData() { return Stream.of( TestData.of(UNSOLVED_DATA_FILE, - HardSoftLongScore.ofSoft(-39203859), - HardSoftLongScore.ofSoft(-61212262))); + HardSoftScore.ofSoft(-39203859), + HardSoftScore.ofSoft(-61212262))); } } diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProviderTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProviderTest.java index 640add0d..adff4cd4 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProviderTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/machinereassignment/score/MachineReassignmentConstraintProviderTest.java @@ -25,7 +25,7 @@ import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.MrService; import ai.timefold.solver.benchmarks.examples.machinereassignment.domain.solver.MrServiceDependency; import ai.timefold.solver.benchmarks.examples.machinereassignment.persistence.MachineReassignmentSolutionFileIO; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; import ai.timefold.solver.test.api.score.stream.ConstraintVerifier; class MachineReassignmentConstraintProviderTest @@ -343,7 +343,7 @@ void solutionWithMultipleConstraints( throws IOException { constraintVerifier.verifyThat() .givenSolution(readSolution("model-a1-1-0hard-44306501soft.json")) - .scores(HardSoftLongScore.of(-0, -44306501)); + .scores(HardSoftScore.of(-0, -44306501)); } private static MachineReassignment readSolution(String resource) throws IOException { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/app/MeetingSchedulingSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/app/MeetingSchedulingSmokeTest.java index 906423e0..7e6045e8 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/app/MeetingSchedulingSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/meetingscheduling/app/MeetingSchedulingSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.meetingscheduling.domain.MeetingSchedule; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; class MeetingSchedulingSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/nurserostering/app/NurseRosteringSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/nurserostering/app/NurseRosteringSmokeTest.java index bbf6484f..a561e652 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/nurserostering/app/NurseRosteringSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/nurserostering/app/NurseRosteringSmokeTest.java @@ -5,7 +5,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.nurserostering.domain.NurseRoster; -import ai.timefold.solver.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore; +import ai.timefold.solver.core.api.score.HardSoftBigDecimalScore; class NurseRosteringSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/pas/app/PatientAdmissionScheduleSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/pas/app/PatientAdmissionScheduleSmokeTest.java index aff02c24..e60388f7 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/pas/app/PatientAdmissionScheduleSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/pas/app/PatientAdmissionScheduleSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.pas.domain.PatientAdmissionSchedule; -import ai.timefold.solver.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore; +import ai.timefold.solver.core.api.score.HardMediumSoftScore; class PatientAdmissionScheduleSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/taskassigning/app/TaskAssigningSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/taskassigning/app/TaskAssigningSmokeTest.java index 6eb24087..1a475593 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/taskassigning/app/TaskAssigningSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/taskassigning/app/TaskAssigningSmokeTest.java @@ -4,9 +4,9 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.taskassigning.domain.TaskAssigningSolution; -import ai.timefold.solver.core.api.score.buildin.bendablelong.BendableLongScore; +import ai.timefold.solver.core.api.score.BendableScore; -class TaskAssigningSmokeTest extends SolverSmokeTest { +class TaskAssigningSmokeTest extends SolverSmokeTest { private static final String UNSOLVED_DATA_FILE = "data/taskassigning/unsolved/50tasks-5employees.json"; @@ -16,10 +16,10 @@ protected TaskAssigningApp createCommonApp() { } @Override - protected Stream> testData() { + protected Stream> testData() { return Stream.of( TestData.of(UNSOLVED_DATA_FILE, - BendableLongScore.of(new long[] { 0 }, new long[] { 0, -3925, -6293940, -7772, -20463 }), - BendableLongScore.of(new long[] { 0 }, new long[] { 0, -3925, -6312519, -10049, -20937 }))); + BendableScore.of(new long[] { 0 }, new long[] { 0, -3925, -6293940, -7772, -20463 }), + BendableScore.of(new long[] { 0 }, new long[] { 0, -3925, -6312519, -10049, -20937 }))); } } diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/travelingtournament/app/TravelingTournamentSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/travelingtournament/app/TravelingTournamentSmokeTest.java index b564176c..2081f74e 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/travelingtournament/app/TravelingTournamentSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/travelingtournament/app/TravelingTournamentSmokeTest.java @@ -4,7 +4,7 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.travelingtournament.domain.TravelingTournament; -import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore; +import ai.timefold.solver.core.api.score.HardSoftScore; class TravelingTournamentSmokeTest extends SolverSmokeTest { diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/tsp/app/TspSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/tsp/app/TspSmokeTest.java index 7d37d9da..f9c3d592 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/tsp/app/TspSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/tsp/app/TspSmokeTest.java @@ -4,9 +4,9 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.tsp.domain.TspSolution; -import ai.timefold.solver.core.api.score.buildin.simplelong.SimpleLongScore; +import ai.timefold.solver.core.api.score.SimpleScore; -class TspSmokeTest extends SolverSmokeTest { +class TspSmokeTest extends SolverSmokeTest { private static final String UNSOLVED_DATA_FILE = "data/tsp/unsolved/europe40.json"; @@ -16,10 +16,10 @@ protected TspApp createCommonApp() { } @Override - protected Stream> testData() { + protected Stream> testData() { return Stream.of( TestData.of(UNSOLVED_DATA_FILE, - SimpleLongScore.of(-217365), - SimpleLongScore.of(-217365))); + SimpleScore.of(-217365), + SimpleScore.of(-217365))); } } diff --git a/src/test/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/app/VehicleRoutingSmokeTest.java b/src/test/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/app/VehicleRoutingSmokeTest.java index f9b06853..fa4b3ca2 100644 --- a/src/test/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/app/VehicleRoutingSmokeTest.java +++ b/src/test/java/ai/timefold/solver/benchmarks/examples/vehiclerouting/app/VehicleRoutingSmokeTest.java @@ -4,9 +4,9 @@ import ai.timefold.solver.benchmarks.examples.common.app.SolverSmokeTest; import ai.timefold.solver.benchmarks.examples.vehiclerouting.domain.VehicleRoutingSolution; -import ai.timefold.solver.core.api.score.buildin.hardsoftlong.HardSoftLongScore; +import ai.timefold.solver.core.api.score.HardSoftScore; -class VehicleRoutingSmokeTest extends SolverSmokeTest { +class VehicleRoutingSmokeTest extends SolverSmokeTest { private static final String CVRP_32_CUSTOMERS = "data/vehiclerouting/unsolved/cvrp-32customers.json"; private static final String CVRPTW_100_CUSTOMERS_A = "data/vehiclerouting/unsolved/cvrptw-100customers-A.json"; @@ -17,13 +17,13 @@ protected VehicleRoutingApp createCommonApp() { } @Override - protected Stream> testData() { + protected Stream> testData() { return Stream.of( TestData.of(CVRP_32_CUSTOMERS, - HardSoftLongScore.ofSoft(-7440), - HardSoftLongScore.ofSoft(-7440)), + HardSoftScore.ofSoft(-7440), + HardSoftScore.ofSoft(-7440)), TestData.of(CVRPTW_100_CUSTOMERS_A, - HardSoftLongScore.ofSoft(-16610), - HardSoftLongScore.ofSoft(-16610))); + HardSoftScore.ofSoft(-16610), + HardSoftScore.ofSoft(-16610))); } }