From 783212b95410284fc7ff58436cf317bb7cb6f0b5 Mon Sep 17 00:00:00 2001 From: James Turner <zakalawe@mac.com> Date: Mon, 21 Dec 2020 13:25:15 +0000 Subject: [PATCH] Traffic: add a trivial test of createPushback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No validation yet, but creates all the needed pieces and doesn’t crash. --- src/AIModel/AIAircraft.hxx | 3 +- test_suite/test_data/EGPH.groundnet.xml | 1878 +++++++++++++++++++++ test_suite/unit_tests/AI/test_traffic.cxx | 92 +- test_suite/unit_tests/AI/test_traffic.hxx | 6 +- 4 files changed, 1975 insertions(+), 4 deletions(-) create mode 100644 test_suite/test_data/EGPH.groundnet.xml diff --git a/src/AIModel/AIAircraft.hxx b/src/AIModel/AIAircraft.hxx index 9442b2b28..e01f2dc5c 100644 --- a/src/AIModel/AIAircraft.hxx +++ b/src/AIModel/AIAircraft.hxx @@ -70,7 +70,8 @@ public: void setAcType(const std::string& ac) { acType = ac; }; const std::string& getAcType() const { return acType; } - + + const std::string& getCompany() const { return company; } void setCompany(const std::string& comp) { company = comp;}; void announcePositionToController(); //TODO have to be public? diff --git a/test_suite/test_data/EGPH.groundnet.xml b/test_suite/test_data/EGPH.groundnet.xml new file mode 100644 index 000000000..9d0c5eca4 --- /dev/null +++ b/test_suite/test_data/EGPH.groundnet.xml @@ -0,0 +1,1878 @@ +<?xml version="1.0"?> +<groundnet> + <version>1</version> + <frequencies> + <AWOS>13135</AWOS> + <GROUND>12175</GROUND> + <TOWER>11870</TOWER> + <APPROACH>12120</APPROACH> + </frequencies> + <parkingList> + <Parking index="0" + type="gate" + name="main-apron" + number="3" + lat="N55 56.854" + lon="W03 21.975" + heading="90" + radius="20" + pushBackRoute="324" + airlineCodes="" /> + + <Parking index="1" + type="gate" + name="main-apron" + number="4" + lat="N55 56.877" + lon="W03 21.973" + heading="90" + radius="23" + pushBackRoute="326" + airlineCodes="" /> + + <Parking index="2" + type="gate" + name="main-apron" + number="6" + lat="N55 56.917" + lon="W03 21.964" + heading="146.777" + radius="19" + pushBackRoute="336" + airlineCodes="" /> + + <Parking index="3" + type="gate" + name="main-apron" + number="7" + lat="N55 56.929" + lon="W03 21.930" + heading="143.84" + radius="23" + pushBackRoute="338" + airlineCodes="" /> + + <Parking index="4" + type="gate" + name="main-apron" + number="8" + lat="N55 56.944" + lon="W03 21.898" + heading="141.406" + radius="23" + pushBackRoute="340" + airlineCodes="" /> + + <Parking index="5" + type="gate" + name="main-apron" + number="9" + lat="N55 56.953" + lon="W03 21.858" + heading="144.916" + radius="23" + pushBackRoute="342" + airlineCodes="" /> + + <Parking index="6" + type="gate" + name="main-apron" + number="10" + lat="N55 56.966" + lon="W03 21.818" + heading="140.104" + radius="23" + pushBackRoute="344" + airlineCodes="" /> + + <Parking index="7" + type="gate" + name="main-apron" + number="11" + lat="N55 56.977" + lon="W03 21.775" + heading="132" + radius="20" + pushBackRoute="346" + airlineCodes="" /> + + <Parking index="8" + type="gate" + name="main-apron" + number="14" + lat="N55 56.995" + lon="W03 21.747" + heading="101.287" + radius="25" + pushBackRoute="346" + airlineCodes="" /> + + <Parking index="9" + type="gate" + name="southeast" + number="16" + lat="N55 56.947" + lon="W03 21.600" + heading="210" + radius="23" + pushBackRoute="393" + airlineCodes="" /> + + <Parking index="10" + type="gate" + name="southeast" + number="18" + lat="N55 56.922" + lon="W03 21.569" + heading="210" + radius="23" + pushBackRoute="393" + airlineCodes="" /> + + <Parking index="11" + type="gate" + name="southeast" + number="20" + lat="N55 56.911" + lon="W03 21.522" + heading="210" + radius="23" + pushBackRoute="394" + airlineCodes="" /> + + <Parking index="12" + type="gate" + name="southeast" + number="22" + lat="N55 56.903" + lon="W03 21.482" + heading="210" + radius="23" + pushBackRoute="395" + airlineCodes="" /> + + <Parking index="13" + type="gate" + name="main-apron" + number="1" + lat="N55 56.801" + lon="W03 21.978" + heading="90" + radius="20" + pushBackRoute="319" + airlineCodes="" /> + + <Parking index="14" + type="gate" + name="main-apron" + number="2" + lat="N55 56.829" + lon="W03 21.976" + heading="90" + radius="25" + pushBackRoute="322" + airlineCodes="" /> + + <Parking index="15" + type="gate" + name="main-apron" + number="1B" + lat="N55 56.748" + lon="W03 21.981" + heading="89.7568" + radius="23" + pushBackRoute="317" + airlineCodes="" /> + + <Parking index="16" + type="gate" + name="main-apron" + number="102" + lat="N55 56.793" + lon="W03 22.108" + heading="270" + radius="32" + pushBackRoute="319" + airlineCodes="" /> + + <Parking index="17" + type="gate" + name="main-apron" + number="104" + lat="N55 56.820" + lon="W03 22.101" + heading="270" + radius="19" + pushBackRoute="322" + airlineCodes="" /> + + <Parking index="18" + type="gate" + name="main-apron" + number="105" + lat="N55 56.836" + lon="W03 22.096" + heading="270" + radius="14" + pushBackRoute="322" + airlineCodes="" /> + + <Parking index="19" + type="gate" + name="main-apron" + number="107" + lat="N55 56.852" + lon="W03 22.096" + heading="270" + radius="18" + pushBackRoute="324" + airlineCodes="" /> + + <Parking index="20" + type="cargo" + name="north-cargo" + number="200" + lat="N55 57.147" + lon="W03 21.418" + heading="28" + radius="20" + pushBackRoute="314" + airlineCodes="" /> + + <Parking index="21" + type="cargo" + name="north-cargo" + number="201" + lat="N55 57.139" + lon="W03 21.386" + heading="28" + radius="20" + pushBackRoute="314" + airlineCodes="" /> + + <Parking index="22" + type="cargo" + name="north-cargo" + number="202" + lat="N55 57.130" + lon="W03 21.353" + heading="28" + radius="20" + pushBackRoute="312" + airlineCodes="" /> + + <Parking index="23" + type="cargo" + name="north-cargo" + number="203" + lat="N55 57.122" + lon="W03 21.316" + heading="28" + radius="20" + pushBackRoute="310" + airlineCodes="" /> + + <Parking index="24" + type="cargo" + name="south-cargo" + number="210" + lat="N55 57.012" + lon="W03 20.903" + heading="29" + radius="32" + pushBackRoute="299" + airlineCodes="" /> + + <Parking index="25" + type="cargo" + name="north-cargo" + number="204" + lat="N55 57.113" + lon="W03 21.281" + heading="28" + radius="20" + pushBackRoute="308" + airlineCodes="" /> + + <Parking index="26" + type="cargo" + name="north-cargo" + number="205" + lat="N55 57.098" + lon="W03 21.249" + heading="28" + radius="20" + pushBackRoute="306" + airlineCodes="" /> + + <Parking index="27" + type="cargo" + name="north-cargo" + number="206" + lat="N55 57.088" + lon="W03 21.217" + heading="28" + radius="20" + pushBackRoute="306" + airlineCodes="" /> + + <Parking index="28" + type="gate" + name="southeast" + number="25" + lat="N55 56.881" + lon="W03 21.407" + heading="210" + radius="23" + pushBackRoute="398" + airlineCodes="" /> + + <Parking index="29" + type="gate" + name="southeast" + number="24" + lat="N55 56.891" + lon="W03 21.446" + heading="210" + radius="23" + pushBackRoute="295" + airlineCodes="" /> + + <Parking index="30" + type="cargo" + name="south-cargo" + number="211" + lat="N55 56.994" + lon="W03 20.855" + heading="28" + radius="32" + pushBackRoute="299" + airlineCodes="" /> + + <Parking index="31" + type="cargo" + name="south-cargo" + number="212" + lat="N55 56.979" + lon="W03 20.802" + heading="28" + radius="32" + pushBackRoute="297" + airlineCodes="" /> + + <Parking index="32" + type="ga" + name="ga2" + number="06" + lat="N55 56.702" + lon="W03 21.146" + heading="289.546" + radius="13" + pushBackRoute="353" + airlineCodes="" /> + + <Parking index="33" + type="cargo" + name="north-cargo" + number="207" + lat="N55 57.076" + lon="W03 21.186" + heading="28" + radius="20" + pushBackRoute="304" + airlineCodes="" /> + + <Parking index="34" + type="cargo" + name="north-cargo" + number="208" + lat="N55 57.063" + lon="W03 21.150" + heading="51.1301" + radius="25" + pushBackRoute="304" + airlineCodes="" /> + + <Parking index="35" + type="gate" + name="southeast" + number="26" + lat="N55 56.873" + lon="W03 21.365" + heading="210" + radius="23" + pushBackRoute="398" + airlineCodes="" /> + + <Parking index="36" + type="gate" + name="southeast" + number="27" + lat="N55 56.862" + lon="W03 21.331" + heading="210" + radius="23" + pushBackRoute="397" + airlineCodes="" /> + + <Parking index="37" + type="gate" + name="Startup Location" + number="5" + lat="N55 56.901" + lon="W03 21.985" + heading="128.822" + radius="17" + airlineCodes="" /> + + <Parking index="38" + type="ga" + name="ga2" + number="05" + lat="N55 56.711" + lon="W03 21.114" + heading="294.206" + radius="13" + pushBackRoute="353" + airlineCodes="" /> + + <Parking index="39" + type="ga" + name="ga2" + number="04" + lat="N55 56.721" + lon="W03 21.086" + heading="293.879" + radius="10" + pushBackRoute="355" + airlineCodes="" /> + + <Parking index="40" + type="ga" + name="ga2" + number="03" + lat="N55 56.731" + lon="W03 21.059" + heading="312.168" + radius="10" + pushBackRoute="355" + airlineCodes="" /> + + <Parking index="41" + type="ga" + name="ga2" + number="01" + lat="N55 56.751" + lon="W03 20.995" + heading="316.086" + radius="10" + pushBackRoute="357" + airlineCodes="" /> + + <Parking index="42" + type="ga" + name="ga2" + number="02" + lat="N55 56.742" + lon="W03 21.025" + heading="319.298" + radius="10" + pushBackRoute="357" + airlineCodes="" /> + + <Parking index="43" + type="ga" + name="ga1-" + number="02" + lat="N55 56.754" + lon="W03 20.752" + heading="20.4781" + radius="8" + pushBackRoute="369" + airlineCodes="" /> + + <Parking index="44" + type="ga" + name="ga1-" + number="05" + lat="N55 56.750" + lon="W03 20.701" + heading="8.93328" + radius="8" + pushBackRoute="365" + airlineCodes="" /> + + <Parking index="45" + type="ga" + name="ga1-" + number="01" + lat="N55 56.760" + lon="W03 20.766" + heading="49.2452" + radius="8" + pushBackRoute="371" + airlineCodes="" /> + + <Parking index="46" + type="gate" + name="southeast" + number="31" + lat="N55 56.817" + lon="W03 21.180" + heading="210" + radius="20" + pushBackRoute="401" + airlineCodes="" /> + + <Parking index="47" + type="gate" + name="southeast" + number="30" + lat="N55 56.828" + lon="W03 21.218" + heading="210" + radius="20" + pushBackRoute="400" + airlineCodes="" /> + + <Parking index="48" + type="gate" + name="southeast" + number="29" + lat="N55 56.840" + lon="W03 21.256" + heading="210" + radius="20" + pushBackRoute="400" + airlineCodes="" /> + + <Parking index="49" + type="gate" + name="southeast" + number="28" + lat="N55 56.851" + lon="W03 21.295" + heading="210" + radius="20" + pushBackRoute="397" + airlineCodes="" /> + + <Parking index="50" + type="gate" + name="southeast" + number="32" + lat="N55 56.807" + lon="W03 21.144" + heading="257.924" + radius="20" + pushBackRoute="256" + airlineCodes="" /> + + <Parking index="51" + type="gate" + name="southeast" + number="34" + lat="N55 56.763" + lon="W03 21.189" + heading="299.078" + radius="20" + pushBackRoute="122" + airlineCodes="" /> + + <Parking index="52" + type="gate" + name="southeast" + number="33" + lat="N55 56.784" + lon="W03 21.167" + heading="297.895" + radius="20" + pushBackRoute="122" + airlineCodes="" /> + + <Parking index="53" + type="gate" + name="main-apron" + number="100" + lat="N55 56.765" + lon="W03 22.103" + heading="268.27" + radius="17.3" + pushBackRoute="317" + airlineCodes="" /> + + <Parking index="54" + type="gate" + name="Startup Location" + number="1A" + lat="N55 56.772" + lon="W03 21.980" + heading="88.7115" + radius="17.3" + pushBackRoute="317" + airlineCodes="" /> + + <Parking index="55" + type="gate" + name="main-apron" + number="108" + lat="N55 56.871" + lon="W03 22.103" + heading="270.425" + radius="17.3" + pushBackRoute="326" + airlineCodes="" /> + + <Parking index="56" + type="gate" + name="ga1-" + number="03" + lat="N55 56.752" + lon="W03 20.736" + heading="22.549" + radius="8" + pushBackRoute="367" + airlineCodes="" /> + + <Parking index="57" + type="gate" + name="ga1-" + number="04" + lat="N55 56.751" + lon="W03 20.718" + heading="14.0304" + radius="8" + pushBackRoute="365" + airlineCodes="" /> + + <Parking index="58" + type="mil-cargo" + name="Helipad-" + number="01" + lat="N55 56.947" + lon="W03 20.713" + heading="0" + radius="2" + airlineCodes="" /> + + <Parking index="59" + type="mil-cargo" + name="Helipad-" + number="02" + lat="N55 56.951" + lon="W03 20.692" + heading="0" + radius="2" + airlineCodes="" /> + + <Parking index="60" + type="mil-cargo" + name="Helipad-" + number="03" + lat="N55 56.955" + lon="W03 20.664" + heading="0" + radius="2" + airlineCodes="" /> + + </parkingList> + <TaxiNodes> + <node index="61" lat="N55 56.669" lon="W03 23.324" isOnRunway="1" holdPointType="none" /> + <node index="62" lat="N55 56.567" lon="W03 23.297" isOnRunway="0" holdPointType="none" /> + <node index="63" lat="N55 56.955" lon="W03 22.139" isOnRunway="0" holdPointType="none" /> + <node index="64" lat="N55 57.042" lon="W03 21.882" isOnRunway="0" holdPointType="none" /> + <node index="65" lat="N55 57.085" lon="W03 21.755" isOnRunway="0" holdPointType="none" /> + <node index="66" lat="N55 57.127" lon="W03 21.632" isOnRunway="0" holdPointType="none" /> + <node index="67" lat="N55 57.266" lon="W03 21.241" isOnRunway="0" holdPointType="none" /> + <node index="68" lat="N55 57.318" lon="W03 21.407" isOnRunway="1" holdPointType="none" /> + <node index="69" lat="N55 57.104" lon="W03 21.572" isOnRunway="0" holdPointType="normal" /> + <node index="70" lat="N55 57.058" lon="W03 21.613" isOnRunway="0" holdPointType="normal" /> + <node index="71" lat="N55 57.029" lon="W03 21.518" isOnRunway="0" holdPointType="normal" /> + <node index="72" lat="N55 57.079" lon="W03 21.545" isOnRunway="1" holdPointType="none" /> + <node index="73" lat="N55 56.976" lon="W03 21.230" isOnRunway="1" holdPointType="none" /> + <node index="74" lat="N55 56.962" lon="W03 20.887" isOnRunway="0" holdPointType="none" /> + <node index="75" lat="N55 56.904" lon="W03 20.992" isOnRunway="1" holdPointType="none" /> + <node index="76" lat="N55 56.683" lon="W03 20.273" isOnRunway="1" holdPointType="none" /> + <node index="77" lat="N55 56.808" lon="W03 20.684" isOnRunway="1" holdPointType="none" /> + <node index="78" lat="N55 56.784" lon="W03 20.697" isOnRunway="0" holdPointType="none" /> + <node index="79" lat="N55 56.945" lon="W03 20.832" isOnRunway="0" holdPointType="none" /> + <node index="80" lat="N55 56.977" lon="W03 20.938" isOnRunway="0" holdPointType="none" /> + <node index="81" lat="N55 57.053" lon="W03 21.209" isOnRunway="0" holdPointType="none" /> + <node index="82" lat="N55 57.063" lon="W03 21.240" isOnRunway="0" holdPointType="none" /> + <node index="83" lat="N55 57.074" lon="W03 21.273" isOnRunway="0" holdPointType="none" /> + <node index="84" lat="N55 57.086" lon="W03 21.310" isOnRunway="0" holdPointType="none" /> + <node index="85" lat="N55 57.095" lon="W03 21.343" isOnRunway="0" holdPointType="none" /> + <node index="86" lat="N55 57.115" lon="W03 21.410" isOnRunway="0" holdPointType="none" /> + <node index="87" lat="N55 57.124" lon="W03 21.440" isOnRunway="0" holdPointType="none" /> + <node index="88" lat="N55 57.102" lon="W03 21.336" isOnRunway="0" holdPointType="none" /> + <node index="89" lat="N55 57.093" lon="W03 21.302" isOnRunway="0" holdPointType="none" /> + <node index="90" lat="N55 57.046" lon="W03 21.183" isOnRunway="0" holdPointType="none" /> + <node index="91" lat="N55 56.963" lon="W03 21.526" isOnRunway="0" holdPointType="none" /> + <node index="92" lat="N55 56.950" lon="W03 21.484" isOnRunway="0" holdPointType="none" /> + <node index="93" lat="N55 56.939" lon="W03 21.448" isOnRunway="0" holdPointType="none" /> + <node index="94" lat="N55 56.927" lon="W03 21.411" isOnRunway="0" holdPointType="none" /> + <node index="95" lat="N55 56.916" lon="W03 21.372" isOnRunway="0" holdPointType="none" /> + <node index="96" lat="N55 56.905" lon="W03 21.335" isOnRunway="0" holdPointType="none" /> + <node index="97" lat="N55 56.894" lon="W03 21.302" isOnRunway="0" holdPointType="none" /> + <node index="98" lat="N55 56.977" lon="W03 21.570" isOnRunway="0" holdPointType="none" /> + <node index="99" lat="N55 56.944" lon="W03 22.088" isOnRunway="0" holdPointType="none" /> + <node index="100" lat="N55 56.750" lon="W03 20.928" isOnRunway="0" holdPointType="none" /> + <node index="101" lat="N55 56.738" lon="W03 20.976" isOnRunway="0" holdPointType="none" /> + <node index="102" lat="N55 56.691" lon="W03 21.120" isOnRunway="0" holdPointType="none" /> + <node index="103" lat="N55 56.737" lon="W03 21.016" isOnRunway="0" holdPointType="none" /> + <node index="104" lat="N55 56.718" lon="W03 21.075" isOnRunway="0" holdPointType="none" /> + <node index="105" lat="N55 56.709" lon="W03 21.102" isOnRunway="0" holdPointType="none" /> + <node index="106" lat="N55 56.698" lon="W03 21.130" isOnRunway="0" holdPointType="none" /> + <node index="107" lat="N55 56.746" lon="W03 20.986" isOnRunway="0" holdPointType="none" /> + <node index="108" lat="N55 56.727" lon="W03 21.049" isOnRunway="0" holdPointType="none" /> + <node index="109" lat="N55 56.945" lon="W03 20.903" isOnRunway="0" holdPointType="normal" /> + <node index="110" lat="N55 56.995" lon="W03 21.242" isOnRunway="0" holdPointType="none" /> + <node index="111" lat="N55 57.070" lon="W03 21.800" isOnRunway="0" holdPointType="none" /> + <node index="112" lat="N55 57.095" lon="W03 21.789" isOnRunway="0" holdPointType="normal" /> + <node index="113" lat="N55 57.177" lon="W03 21.485" isOnRunway="0" holdPointType="none" /> + <node index="114" lat="N55 56.755" lon="W03 22.730" isOnRunway="0" holdPointType="none" /> + <node index="115" lat="N55 56.762" lon="W03 22.775" isOnRunway="0" holdPointType="none" /> + <node index="116" lat="N55 56.611" lon="W03 23.152" isOnRunway="0" holdPointType="none" /> + <node index="117" lat="N55 56.626" lon="W03 23.378" isOnRunway="0" holdPointType="normal" /> + <node index="118" lat="N55 57.280" lon="W03 21.242" isOnRunway="0" holdPointType="normal" /> + <node index="119" lat="N55 56.983" lon="W03 21.523" isOnRunway="0" holdPointType="none" /> + <node index="120" lat="N55 56.747" lon="W03 22.038" isOnRunway="0" holdPointType="none" /> + <node index="121" lat="N55 56.948" lon="W03 22.092" isOnRunway="0" holdPointType="none" /> + <node index="122" lat="N55 56.734" lon="W03 21.151" isOnRunway="0" holdPointType="PushBack" /> + <node index="123" lat="N55 56.811" lon="W03 21.077" isOnRunway="0" holdPointType="none" /> + <node index="124" lat="N55 56.841" lon="W03 21.128" isOnRunway="0" holdPointType="none" /> + <node index="125" lat="N55 57.106" lon="W03 21.379" isOnRunway="0" holdPointType="none" /> + <node index="126" lat="N55 57.217" lon="W03 21.356" isOnRunway="0" holdPointType="none" /> + <node index="127" lat="N55 57.152" lon="W03 21.495" isOnRunway="0" holdPointType="none" /> + <node index="128" lat="N55 57.140" lon="W03 21.483" isOnRunway="0" holdPointType="none" /> + <node index="129" lat="N55 57.134" lon="W03 21.473" isOnRunway="0" holdPointType="none" /> + <node index="130" lat="N55 57.158" lon="W03 21.539" isOnRunway="0" holdPointType="none" /> + <node index="131" lat="N55 57.165" lon="W03 21.496" isOnRunway="0" holdPointType="none" /> + <node index="132" lat="N55 57.159" lon="W03 21.498" isOnRunway="0" holdPointType="none" /> + <node index="133" lat="N55 57.171" lon="W03 21.492" isOnRunway="0" holdPointType="none" /> + <node index="134" lat="N55 57.158" lon="W03 21.515" isOnRunway="0" holdPointType="none" /> + <node index="135" lat="N55 57.159" lon="W03 21.527" isOnRunway="0" holdPointType="none" /> + <node index="136" lat="N55 57.156" lon="W03 21.505" isOnRunway="0" holdPointType="none" /> + <node index="137" lat="N55 57.216" lon="W03 21.370" isOnRunway="0" holdPointType="none" /> + <node index="138" lat="N55 57.254" lon="W03 21.258" isOnRunway="0" holdPointType="none" /> + <node index="139" lat="N55 57.273" lon="W03 21.239" isOnRunway="0" holdPointType="none" /> + <node index="140" lat="N55 57.259" lon="W03 21.247" isOnRunway="0" holdPointType="none" /> + <node index="141" lat="N55 57.332" lon="W03 21.299" isOnRunway="0" holdPointType="none" /> + <node index="142" lat="N55 57.255" lon="W03 21.215" isOnRunway="0" holdPointType="none" /> + <node index="143" lat="N55 57.243" lon="W03 21.213" isOnRunway="0" holdPointType="none" /> + <node index="144" lat="N55 57.233" lon="W03 21.227" isOnRunway="0" holdPointType="none" /> + <node index="145" lat="N55 57.220" lon="W03 21.265" isOnRunway="0" holdPointType="none" /> + <node index="146" lat="N55 57.218" lon="W03 21.274" isOnRunway="0" holdPointType="none" /> + <node index="147" lat="N55 57.218" lon="W03 21.281" isOnRunway="0" holdPointType="none" /> + <node index="148" lat="N55 57.249" lon="W03 21.213" isOnRunway="0" holdPointType="none" /> + <node index="149" lat="N55 57.237" lon="W03 21.218" isOnRunway="0" holdPointType="none" /> + <node index="150" lat="N55 57.120" lon="W03 21.589" isOnRunway="0" holdPointType="none" /> + <node index="151" lat="N55 57.145" lon="W03 21.579" isOnRunway="0" holdPointType="none" /> + <node index="152" lat="N55 57.061" lon="W03 21.484" isOnRunway="1" holdPointType="none" /> + <node index="153" lat="N55 57.045" lon="W03 21.456" isOnRunway="1" holdPointType="none" /> + <node index="154" lat="N55 57.035" lon="W03 21.421" isOnRunway="1" holdPointType="none" /> + <node index="155" lat="N55 56.990" lon="W03 21.275" isOnRunway="1" holdPointType="none" /> + <node index="156" lat="N55 56.985" lon="W03 21.240" isOnRunway="1" holdPointType="none" /> + <node index="157" lat="N55 56.991" lon="W03 21.256" isOnRunway="1" holdPointType="none" /> + <node index="158" lat="N55 56.980" lon="W03 21.236" isOnRunway="1" holdPointType="none" /> + <node index="159" lat="N55 56.992" lon="W03 21.249" isOnRunway="1" holdPointType="none" /> + <node index="160" lat="N55 56.990" lon="W03 21.242" isOnRunway="1" holdPointType="none" /> + <node index="161" lat="N55 56.990" lon="W03 21.265" isOnRunway="1" holdPointType="none" /> + <node index="162" lat="N55 56.910" lon="W03 20.937" isOnRunway="0" holdPointType="none" /> + <node index="163" lat="N55 56.882" lon="W03 20.921" isOnRunway="1" holdPointType="none" /> + <node index="164" lat="N55 56.895" lon="W03 20.937" isOnRunway="1" holdPointType="none" /> + <node index="165" lat="N55 56.902" lon="W03 20.960" isOnRunway="1" holdPointType="none" /> + <node index="166" lat="N55 56.888" lon="W03 20.931" isOnRunway="1" holdPointType="none" /> + <node index="167" lat="N55 56.902" lon="W03 20.975" isOnRunway="1" holdPointType="none" /> + <node index="168" lat="N55 56.903" lon="W03 20.940" isOnRunway="0" holdPointType="none" /> + <node index="169" lat="N55 56.904" lon="W03 20.947" isOnRunway="0" holdPointType="none" /> + <node index="170" lat="N55 57.005" lon="W03 21.503" isOnRunway="0" holdPointType="none" /> + <node index="171" lat="N55 57.019" lon="W03 21.502" isOnRunway="0" holdPointType="none" /> + <node index="172" lat="N55 57.025" lon="W03 21.510" isOnRunway="0" holdPointType="none" /> + <node index="173" lat="N55 57.011" lon="W03 21.500" isOnRunway="0" holdPointType="none" /> + <node index="174" lat="N55 57.031" lon="W03 21.478" isOnRunway="0" holdPointType="none" /> + <node index="175" lat="N55 57.035" lon="W03 21.451" isOnRunway="1" holdPointType="none" /> + <node index="176" lat="N55 57.046" lon="W03 21.475" isOnRunway="1" holdPointType="none" /> + <node index="177" lat="N55 57.029" lon="W03 21.503" isOnRunway="0" holdPointType="none" /> + <node index="178" lat="N55 57.037" lon="W03 21.473" isOnRunway="1" holdPointType="none" /> + <node index="179" lat="N55 57.054" lon="W03 21.479" isOnRunway="1" holdPointType="none" /> + <node index="180" lat="N55 57.071" lon="W03 21.681" isOnRunway="0" holdPointType="none" /> + <node index="181" lat="N55 57.082" lon="W03 21.739" isOnRunway="0" holdPointType="none" /> + <node index="182" lat="N55 57.107" lon="W03 21.691" isOnRunway="0" holdPointType="none" /> + <node index="183" lat="N55 57.089" lon="W03 21.701" isOnRunway="0" holdPointType="none" /> + <node index="184" lat="N55 57.098" lon="W03 21.699" isOnRunway="0" holdPointType="none" /> + <node index="185" lat="N55 57.079" lon="W03 21.695" isOnRunway="0" holdPointType="none" /> + <node index="186" lat="N55 57.133" lon="W03 21.590" isOnRunway="0" holdPointType="none" /> + <node index="187" lat="N55 57.127" lon="W03 21.608" isOnRunway="0" holdPointType="none" /> + <node index="188" lat="N55 57.138" lon="W03 21.586" isOnRunway="0" holdPointType="none" /> + <node index="189" lat="N55 57.128" lon="W03 21.620" isOnRunway="0" holdPointType="none" /> + <node index="190" lat="N55 57.127" lon="W03 21.591" isOnRunway="0" holdPointType="none" /> + <node index="191" lat="N55 57.125" lon="W03 21.599" isOnRunway="0" holdPointType="none" /> + <node index="192" lat="N55 57.089" lon="W03 21.742" isOnRunway="0" holdPointType="none" /> + <node index="193" lat="N55 57.089" lon="W03 21.774" isOnRunway="0" holdPointType="none" /> + <node index="194" lat="N55 57.088" lon="W03 21.757" isOnRunway="0" holdPointType="none" /> + <node index="195" lat="N55 57.083" lon="W03 21.783" isOnRunway="0" holdPointType="none" /> + <node index="196" lat="N55 57.089" lon="W03 21.784" isOnRunway="0" holdPointType="none" /> + <node index="197" lat="N55 57.077" lon="W03 21.788" isOnRunway="0" holdPointType="none" /> + <node index="198" lat="N55 57.161" lon="W03 21.863" isOnRunway="1" holdPointType="none" /> + <node index="199" lat="N55 57.035" lon="W03 21.837" isOnRunway="0" holdPointType="none" /> + <node index="200" lat="N55 57.061" lon="W03 21.827" isOnRunway="0" holdPointType="none" /> + <node index="201" lat="N55 57.048" lon="W03 21.839" isOnRunway="0" holdPointType="none" /> + <node index="202" lat="N55 57.043" lon="W03 21.857" isOnRunway="0" holdPointType="none" /> + <node index="203" lat="N55 57.054" lon="W03 21.835" isOnRunway="0" holdPointType="none" /> + <node index="204" lat="N55 57.043" lon="W03 21.869" isOnRunway="0" holdPointType="none" /> + <node index="205" lat="N55 57.041" lon="W03 21.839" isOnRunway="0" holdPointType="none" /> + <node index="206" lat="N55 57.041" lon="W03 21.847" isOnRunway="0" holdPointType="none" /> + <node index="207" lat="N55 56.974" lon="W03 22.082" isOnRunway="0" holdPointType="none" /> + <node index="208" lat="N55 56.956" lon="W03 22.112" isOnRunway="0" holdPointType="none" /> + <node index="209" lat="N55 56.961" lon="W03 22.096" isOnRunway="0" holdPointType="none" /> + <node index="210" lat="N55 56.956" lon="W03 22.126" isOnRunway="0" holdPointType="none" /> + <node index="211" lat="N55 56.967" lon="W03 22.092" isOnRunway="0" holdPointType="none" /> + <node index="212" lat="N55 56.952" lon="W03 22.102" isOnRunway="0" holdPointType="none" /> + <node index="213" lat="N55 56.955" lon="W03 22.097" isOnRunway="0" holdPointType="none" /> + <node index="214" lat="N55 56.827" lon="W03 22.847" isOnRunway="1" holdPointType="none" /> + <node index="215" lat="N55 56.736" lon="W03 22.787" isOnRunway="0" holdPointType="none" /> + <node index="216" lat="N55 56.755" lon="W03 22.755" isOnRunway="0" holdPointType="none" /> + <node index="217" lat="N55 56.748" lon="W03 22.775" isOnRunway="0" holdPointType="none" /> + <node index="218" lat="N55 56.754" lon="W03 22.742" isOnRunway="0" holdPointType="none" /> + <node index="219" lat="N55 56.742" lon="W03 22.778" isOnRunway="0" holdPointType="none" /> + <node index="220" lat="N55 56.758" lon="W03 22.766" isOnRunway="0" holdPointType="none" /> + <node index="221" lat="N55 56.755" lon="W03 22.772" isOnRunway="0" holdPointType="none" /> + <node index="222" lat="N55 56.546" lon="W03 23.265" isOnRunway="0" holdPointType="none" /> + <node index="223" lat="N55 56.573" lon="W03 23.193" isOnRunway="0" holdPointType="none" /> + <node index="224" lat="N55 56.548" lon="W03 23.253" isOnRunway="0" holdPointType="none" /> + <node index="225" lat="N55 56.563" lon="W03 23.207" isOnRunway="0" holdPointType="none" /> + <node index="226" lat="N55 56.605" lon="W03 23.163" isOnRunway="0" holdPointType="none" /> + <node index="227" lat="N55 56.568" lon="W03 23.199" isOnRunway="0" holdPointType="none" /> + <node index="228" lat="N55 56.548" lon="W03 23.288" isOnRunway="0" holdPointType="none" /> + <node index="229" lat="N55 56.546" lon="W03 23.277" isOnRunway="0" holdPointType="none" /> + <node index="230" lat="N55 56.554" lon="W03 23.299" isOnRunway="0" holdPointType="none" /> + <node index="231" lat="N55 56.570" lon="W03 23.273" isOnRunway="0" holdPointType="none" /> + <node index="232" lat="N55 56.567" lon="W03 23.288" isOnRunway="0" holdPointType="none" /> + <node index="233" lat="N55 56.570" lon="W03 23.311" isOnRunway="0" holdPointType="none" /> + <node index="234" lat="N55 56.575" lon="W03 23.322" isOnRunway="0" holdPointType="none" /> + <node index="235" lat="N55 56.815" lon="W03 21.026" isOnRunway="0" holdPointType="none" /> + <node index="236" lat="N55 56.852" lon="W03 20.986" isOnRunway="0" holdPointType="none" /> + <node index="237" lat="N55 56.872" lon="W03 20.965" isOnRunway="0" holdPointType="none" /> + <node index="238" lat="N55 56.819" lon="W03 21.019" isOnRunway="0" holdPointType="none" /> + <node index="239" lat="N55 56.815" lon="W03 21.042" isOnRunway="0" holdPointType="none" /> + <node index="240" lat="N55 56.892" lon="W03 20.952" isOnRunway="1" holdPointType="none" /> + <node index="241" lat="N55 56.898" lon="W03 20.972" isOnRunway="1" holdPointType="none" /> + <node index="242" lat="N55 56.881" lon="W03 20.947" isOnRunway="1" holdPointType="none" /> + <node index="243" lat="N55 56.886" lon="W03 20.961" isOnRunway="1" holdPointType="none" /> + <node index="244" lat="N55 56.876" lon="W03 20.959" isOnRunway="0" holdPointType="none" /> + <node index="245" lat="N55 56.878" lon="W03 20.962" isOnRunway="0" holdPointType="none" /> + <node index="246" lat="N55 56.883" lon="W03 20.935" isOnRunway="1" holdPointType="none" /> + <node index="247" lat="N55 56.892" lon="W03 20.963" isOnRunway="1" holdPointType="none" /> + <node index="248" lat="N55 56.816" lon="W03 21.022" isOnRunway="0" holdPointType="none" /> + <node index="249" lat="N55 56.814" lon="W03 21.033" isOnRunway="0" holdPointType="none" /> + <node index="250" lat="N55 56.859" lon="W03 21.188" isOnRunway="0" holdPointType="none" /> + <node index="251" lat="N55 56.883" lon="W03 21.265" isOnRunway="0" holdPointType="none" /> + <node index="252" lat="N55 56.847" lon="W03 21.149" isOnRunway="0" holdPointType="none" /> + <node index="253" lat="N55 56.870" lon="W03 21.226" isOnRunway="0" holdPointType="none" /> + <node index="254" lat="N55 56.822" lon="W03 21.066" isOnRunway="0" holdPointType="none" /> + <node index="255" lat="N55 56.812" lon="W03 21.107" isOnRunway="0" holdPointType="none" /> + <node index="256" lat="N55 56.796" lon="W03 21.105" isOnRunway="0" holdPointType="PushBack" /> + <node index="257" lat="N55 56.772" lon="W03 21.115" isOnRunway="0" holdPointType="none" /> + <node index="258" lat="N55 56.750" lon="W03 21.136" isOnRunway="0" holdPointType="none" /> + <node index="259" lat="N55 56.906" lon="W03 22.047" isOnRunway="0" holdPointType="none" /> + <node index="260" lat="N55 56.912" lon="W03 22.053" isOnRunway="0" holdPointType="none" /> + <node index="261" lat="N55 56.938" lon="W03 22.041" isOnRunway="0" holdPointType="none" /> + <node index="262" lat="N55 57.002" lon="W03 21.785" isOnRunway="0" holdPointType="none" /> + <node index="263" lat="N55 57.013" lon="W03 21.813" isOnRunway="0" holdPointType="none" /> + <node index="264" lat="N55 57.029" lon="W03 21.832" isOnRunway="0" holdPointType="none" /> + <node index="265" lat="N55 57.005" lon="W03 21.842" isOnRunway="0" holdPointType="none" /> + <node index="266" lat="N55 56.897" lon="W03 22.041" isOnRunway="0" holdPointType="none" /> + <node index="267" lat="N55 56.903" lon="W03 22.045" isOnRunway="0" holdPointType="none" /> + <node index="268" lat="N55 57.016" lon="W03 21.831" isOnRunway="0" holdPointType="none" /> + <node index="269" lat="N55 57.022" lon="W03 21.830" isOnRunway="0" holdPointType="none" /> + <node index="270" lat="N55 57.010" lon="W03 21.835" isOnRunway="0" holdPointType="none" /> + <node index="271" lat="N55 57.011" lon="W03 21.823" isOnRunway="0" holdPointType="none" /> + <node index="272" lat="N55 56.974" lon="W03 21.934" isOnRunway="0" holdPointType="none" /> + <node index="273" lat="N55 56.950" lon="W03 22.005" isOnRunway="0" holdPointType="none" /> + <node index="274" lat="N55 56.986" lon="W03 21.897" isOnRunway="0" holdPointType="none" /> + <node index="275" lat="N55 56.962" lon="W03 21.970" isOnRunway="0" holdPointType="none" /> + <node index="276" lat="N55 57.000" lon="W03 21.858" isOnRunway="0" holdPointType="none" /> + <node index="277" lat="N55 56.927" lon="W03 22.055" isOnRunway="0" holdPointType="none" /> + <node index="278" lat="N55 56.938" lon="W03 22.066" isOnRunway="0" holdPointType="none" /> + <node index="279" lat="N55 56.919" lon="W03 22.056" isOnRunway="0" holdPointType="none" /> + <node index="280" lat="N55 56.937" lon="W03 22.054" isOnRunway="0" holdPointType="none" /> + <node index="281" lat="N55 56.933" lon="W03 22.049" isOnRunway="0" holdPointType="none" /> + <node index="282" lat="N55 56.940" lon="W03 22.078" isOnRunway="0" holdPointType="none" /> + <node index="283" lat="N55 56.821" lon="W03 22.040" isOnRunway="0" holdPointType="none" /> + <node index="284" lat="N55 56.794" lon="W03 22.039" isOnRunway="0" holdPointType="none" /> + <node index="285" lat="N55 56.852" lon="W03 22.041" isOnRunway="0" holdPointType="none" /> + <node index="286" lat="N55 56.766" lon="W03 22.038" isOnRunway="0" holdPointType="none" /> + <node index="287" lat="N55 56.800" lon="W03 22.039" isOnRunway="0" holdPointType="none" /> + <node index="288" lat="N55 56.871" lon="W03 22.041" isOnRunway="0" holdPointType="none" /> + <node index="289" lat="N55 56.875" lon="W03 22.041" isOnRunway="0" holdPointType="none" /> + <node index="290" lat="N55 56.837" lon="W03 22.040" isOnRunway="0" holdPointType="none" /> + <node index="291" lat="N55 56.734" lon="W03 21.151" isOnRunway="0" holdPointType="none" /> + <node index="292" lat="N55 56.796" lon="W03 21.105" isOnRunway="0" holdPointType="none" /> + <node index="293" lat="N55 56.967" lon="W03 21.539" isOnRunway="0" holdPointType="none" /> + <node index="294" lat="N55 56.910" lon="W03 21.354" isOnRunway="0" holdPointType="none" /> + <node index="295" lat="N55 56.917" lon="W03 21.378" isOnRunway="0" holdPointType="PushBack" /> + <node index="296" lat="N55 56.941" lon="W03 20.794" isOnRunway="0" holdPointType="none" /> + <node index="297" lat="N55 56.941" lon="W03 20.794" isOnRunway="0" holdPointType="PushBack" /> + <node index="298" lat="N55 56.988" lon="W03 20.977" isOnRunway="0" holdPointType="none" /> + <node index="299" lat="N55 56.988" lon="W03 20.977" isOnRunway="0" holdPointType="PushBack" /> + <node index="300" lat="N55 57.033" lon="W03 21.206" isOnRunway="0" holdPointType="none" /> + <node index="301" lat="N55 57.042" lon="W03 21.196" isOnRunway="0" holdPointType="none" /> + <node index="302" lat="N55 57.045" lon="W03 21.205" isOnRunway="0" holdPointType="none" /> + <node index="303" lat="N55 57.060" lon="W03 21.241" isOnRunway="0" holdPointType="none" /> + <node index="304" lat="N55 57.060" lon="W03 21.241" isOnRunway="0" holdPointType="PushBack" /> + <node index="305" lat="N55 57.082" lon="W03 21.310" isOnRunway="0" holdPointType="none" /> + <node index="306" lat="N55 57.082" lon="W03 21.310" isOnRunway="0" holdPointType="PushBack" /> + <node index="307" lat="N55 57.087" lon="W03 21.271" isOnRunway="0" holdPointType="none" /> + <node index="308" lat="N55 57.087" lon="W03 21.271" isOnRunway="0" holdPointType="PushBack" /> + <node index="309" lat="N55 57.100" lon="W03 21.306" isOnRunway="0" holdPointType="none" /> + <node index="310" lat="N55 57.100" lon="W03 21.306" isOnRunway="0" holdPointType="PushBack" /> + <node index="311" lat="N55 57.096" lon="W03 21.354" isOnRunway="0" holdPointType="none" /> + <node index="312" lat="N55 57.096" lon="W03 21.354" isOnRunway="0" holdPointType="PushBack" /> + <node index="313" lat="N55 57.106" lon="W03 21.384" isOnRunway="0" holdPointType="none" /> + <node index="314" lat="N55 57.106" lon="W03 21.384" isOnRunway="0" holdPointType="PushBack" /> + <node index="315" lat="N55 56.771" lon="W03 22.038" isOnRunway="0" holdPointType="none" /> + <node index="316" lat="N55 56.735" lon="W03 22.039" isOnRunway="0" holdPointType="none" /> + <node index="317" lat="N55 56.735" lon="W03 22.039" isOnRunway="0" holdPointType="PushBack" /> + <node index="318" lat="N55 56.774" lon="W03 22.042" isOnRunway="0" holdPointType="none" /> + <node index="319" lat="N55 56.774" lon="W03 22.042" isOnRunway="0" holdPointType="PushBack" /> + <node index="320" lat="N55 56.828" lon="W03 22.040" isOnRunway="0" holdPointType="none" /> + <node index="321" lat="N55 56.806" lon="W03 22.042" isOnRunway="0" holdPointType="none" /> + <node index="322" lat="N55 56.806" lon="W03 22.042" isOnRunway="0" holdPointType="PushBack" /> + <node index="323" lat="N55 56.832" lon="W03 22.034" isOnRunway="0" holdPointType="none" /> + <node index="324" lat="N55 56.832" lon="W03 22.034" isOnRunway="0" holdPointType="PushBack" /> + <node index="325" lat="N55 56.854" lon="W03 22.045" isOnRunway="0" holdPointType="none" /> + <node index="326" lat="N55 56.854" lon="W03 22.045" isOnRunway="0" holdPointType="PushBack" /> + <node index="327" lat="N55 56.922" lon="W03 22.026" isOnRunway="0" holdPointType="none" /> + <node index="328" lat="N55 56.933" lon="W03 21.998" isOnRunway="0" holdPointType="none" /> + <node index="329" lat="N55 56.933" lon="W03 21.998" isOnRunway="0" holdPointType="none" /> + <node index="330" lat="N55 56.940" lon="W03 21.992" isOnRunway="0" holdPointType="none" /> + <node index="331" lat="N55 56.953" lon="W03 21.958" isOnRunway="0" holdPointType="none" /> + <node index="332" lat="N55 56.965" lon="W03 21.921" isOnRunway="0" holdPointType="none" /> + <node index="333" lat="N55 56.976" lon="W03 21.884" isOnRunway="0" holdPointType="none" /> + <node index="334" lat="N55 56.990" lon="W03 21.846" isOnRunway="0" holdPointType="none" /> + <node index="335" lat="N55 56.946" lon="W03 21.959" isOnRunway="0" holdPointType="none" /> + <node index="336" lat="N55 56.946" lon="W03 21.959" isOnRunway="0" holdPointType="PushBack" /> + <node index="337" lat="N55 56.960" lon="W03 21.922" isOnRunway="0" holdPointType="none" /> + <node index="338" lat="N55 56.960" lon="W03 21.922" isOnRunway="0" holdPointType="PushBack" /> + <node index="339" lat="N55 56.970" lon="W03 21.886" isOnRunway="0" holdPointType="none" /> + <node index="340" lat="N55 56.970" lon="W03 21.886" isOnRunway="0" holdPointType="PushBack" /> + <node index="341" lat="N55 56.967" lon="W03 21.912" isOnRunway="0" holdPointType="none" /> + <node index="342" lat="N55 56.967" lon="W03 21.912" isOnRunway="0" holdPointType="PushBack" /> + <node index="343" lat="N55 56.977" lon="W03 21.873" isOnRunway="0" holdPointType="none" /> + <node index="344" lat="N55 56.977" lon="W03 21.873" isOnRunway="0" holdPointType="PushBack" /> + <node index="345" lat="N55 57.000" lon="W03 21.866" isOnRunway="0" holdPointType="none" /> + <node index="346" lat="N55 57.000" lon="W03 21.866" isOnRunway="0" holdPointType="PushBack" /> + <node index="347" lat="N55 56.768" lon="W03 20.801" isOnRunway="0" holdPointType="none" /> + <node index="348" lat="N55 56.710" lon="W03 21.065" isOnRunway="0" holdPointType="none" /> + <node index="349" lat="N55 56.729" lon="W03 21.006" isOnRunway="0" holdPointType="none" /> + <node index="350" lat="N55 56.701" lon="W03 21.093" isOnRunway="0" holdPointType="none" /> + <node index="351" lat="N55 56.719" lon="W03 21.039" isOnRunway="0" holdPointType="none" /> + <node index="352" lat="N55 56.685" lon="W03 21.134" isOnRunway="0" holdPointType="none" /> + <node index="353" lat="N55 56.685" lon="W03 21.134" isOnRunway="0" holdPointType="PushBack" /> + <node index="354" lat="N55 56.701" lon="W03 21.085" isOnRunway="0" holdPointType="none" /> + <node index="355" lat="N55 56.701" lon="W03 21.085" isOnRunway="0" holdPointType="PushBack" /> + <node index="356" lat="N55 56.719" lon="W03 21.031" isOnRunway="0" holdPointType="none" /> + <node index="357" lat="N55 56.719" lon="W03 21.031" isOnRunway="0" holdPointType="PushBack" /> + <node index="358" lat="N55 56.748" lon="W03 20.788" isOnRunway="0" holdPointType="none" /> + <node index="359" lat="N55 56.742" lon="W03 20.762" isOnRunway="0" holdPointType="none" /> + <node index="360" lat="N55 56.740" lon="W03 20.741" isOnRunway="0" holdPointType="none" /> + <node index="361" lat="N55 56.740" lon="W03 20.722" isOnRunway="0" holdPointType="none" /> + <node index="362" lat="N55 56.738" lon="W03 20.705" isOnRunway="0" holdPointType="none" /> + <node index="363" lat="N55 56.732" lon="W03 20.686" isOnRunway="0" holdPointType="none" /> + <node index="364" lat="N55 56.758" lon="W03 20.807" isOnRunway="0" holdPointType="none" /> + <node index="365" lat="N55 56.732" lon="W03 20.686" isOnRunway="0" holdPointType="PushBack" /> + <node index="366" lat="N55 56.734" lon="W03 20.730" isOnRunway="0" holdPointType="none" /> + <node index="367" lat="N55 56.734" lon="W03 20.730" isOnRunway="0" holdPointType="PushBack" /> + <node index="368" lat="N55 56.733" lon="W03 20.761" isOnRunway="0" holdPointType="none" /> + <node index="369" lat="N55 56.733" lon="W03 20.761" isOnRunway="0" holdPointType="PushBack" /> + <node index="370" lat="N55 56.738" lon="W03 20.790" isOnRunway="0" holdPointType="none" /> + <node index="371" lat="N55 56.738" lon="W03 20.790" isOnRunway="0" holdPointType="PushBack" /> + <node index="372" lat="N55 56.785" lon="W03 20.610" isOnRunway="1" holdPointType="none" /> + <node index="373" lat="N55 56.794" lon="W03 20.679" isOnRunway="1" holdPointType="none" /> + <node index="374" lat="N55 56.800" lon="W03 20.676" isOnRunway="1" holdPointType="none" /> + <node index="375" lat="N55 56.790" lon="W03 20.659" isOnRunway="1" holdPointType="none" /> + <node index="376" lat="N55 56.789" lon="W03 20.684" isOnRunway="0" holdPointType="none" /> + <node index="377" lat="N55 56.790" lon="W03 20.637" isOnRunway="1" holdPointType="none" /> + <node index="378" lat="N55 56.692" lon="W03 20.237" isOnRunway="0" holdPointType="none" /> + <node index="379" lat="N55 56.692" lon="W03 20.218" isOnRunway="0" holdPointType="none" /> + <node index="380" lat="N55 56.661" lon="W03 20.111" isOnRunway="0" holdPointType="none" /> + <node index="381" lat="N55 56.653" lon="W03 20.108" isOnRunway="0" holdPointType="none" /> + <node index="382" lat="N55 56.644" lon="W03 20.110" isOnRunway="1" holdPointType="none" /> + <node index="383" lat="N55 56.638" lon="W03 20.134" isOnRunway="1" holdPointType="none" /> + <node index="384" lat="N55 56.645" lon="W03 20.159" isOnRunway="1" holdPointType="none" /> + <node index="385" lat="N55 56.904" lon="W03 20.916" isOnRunway="0" holdPointType="none" /> + <node index="386" lat="N55 56.944" lon="W03 20.711" isOnRunway="0" holdPointType="none" /> + <node index="387" lat="N55 56.948" lon="W03 20.689" isOnRunway="0" holdPointType="none" /> + <node index="388" lat="N55 56.953" lon="W03 20.663" isOnRunway="0" holdPointType="none" /> + <node index="389" lat="N55 56.642" lon="W03 23.374" isOnRunway="1" holdPointType="none" /> + <node index="390" lat="N55 56.656" lon="W03 23.359" isOnRunway="1" holdPointType="none" /> + <node index="391" lat="N55 57.334" lon="W03 21.355" isOnRunway="1" holdPointType="none" /> + <node index="392" lat="N55 57.337" lon="W03 21.323" isOnRunway="1" holdPointType="none" /> + <node index="393" lat="N55 56.951" lon="W03 21.492" isOnRunway="0" holdPointType="PushBack" /> + <node index="394" lat="N55 56.939" lon="W03 21.452" isOnRunway="0" holdPointType="PushBack" /> + <node index="395" lat="N55 56.928" lon="W03 21.416" isOnRunway="0" holdPointType="PushBack" /> + <node index="396" lat="N55 56.889" lon="W03 21.284" isOnRunway="0" holdPointType="none" /> + <node index="397" lat="N55 56.874" lon="W03 21.297" isOnRunway="0" holdPointType="PushBack" /> + <node index="398" lat="N55 56.895" lon="W03 21.369" isOnRunway="0" holdPointType="PushBack" /> + <node index="399" lat="N55 56.864" lon="W03 21.207" isOnRunway="0" holdPointType="none" /> + <node index="400" lat="N55 56.848" lon="W03 21.222" isOnRunway="0" holdPointType="PushBack" /> + <node index="401" lat="N55 56.826" lon="W03 21.141" isOnRunway="0" holdPointType="PushBack" /> + </TaxiNodes> + <TaxiWaySegments> + <arc begin="0" end="285" isPushBackRoute="1" name="" /> + <arc begin="285" end="0" isPushBackRoute="1" name="" /> + <arc begin="1" end="289" isPushBackRoute="1" name="" /> + <arc begin="289" end="1" isPushBackRoute="1" name="" /> + <arc begin="2" end="330" isPushBackRoute="1" name="" /> + <arc begin="330" end="2" isPushBackRoute="1" name="" /> + <arc begin="3" end="331" isPushBackRoute="1" name="" /> + <arc begin="331" end="3" isPushBackRoute="1" name="" /> + <arc begin="4" end="332" isPushBackRoute="1" name="" /> + <arc begin="332" end="4" isPushBackRoute="1" name="" /> + <arc begin="5" end="333" isPushBackRoute="1" name="" /> + <arc begin="333" end="5" isPushBackRoute="1" name="" /> + <arc begin="6" end="334" isPushBackRoute="1" name="" /> + <arc begin="334" end="6" isPushBackRoute="1" name="" /> + <arc begin="7" end="271" isPushBackRoute="1" name="" /> + <arc begin="271" end="7" isPushBackRoute="1" name="" /> + <arc begin="8" end="262" isPushBackRoute="1" name="" /> + <arc begin="262" end="8" isPushBackRoute="1" name="" /> + <arc begin="9" end="98" isPushBackRoute="1" name="" /> + <arc begin="98" end="9" isPushBackRoute="1" name="" /> + <arc begin="10" end="91" isPushBackRoute="1" name="" /> + <arc begin="91" end="10" isPushBackRoute="1" name="" /> + <arc begin="11" end="92" isPushBackRoute="1" name="" /> + <arc begin="92" end="11" isPushBackRoute="1" name="" /> + <arc begin="12" end="93" isPushBackRoute="1" name="" /> + <arc begin="93" end="12" isPushBackRoute="1" name="" /> + <arc begin="13" end="287" isPushBackRoute="1" name="" /> + <arc begin="287" end="13" isPushBackRoute="1" name="" /> + <arc begin="14" end="320" isPushBackRoute="1" name="" /> + <arc begin="320" end="14" isPushBackRoute="1" name="" /> + <arc begin="15" end="120" isPushBackRoute="1" name="" /> + <arc begin="120" end="15" isPushBackRoute="1" name="" /> + <arc begin="16" end="284" isPushBackRoute="1" name="" /> + <arc begin="284" end="16" isPushBackRoute="1" name="" /> + <arc begin="17" end="283" isPushBackRoute="1" name="" /> + <arc begin="283" end="17" isPushBackRoute="1" name="" /> + <arc begin="18" end="290" isPushBackRoute="1" name="" /> + <arc begin="290" end="18" isPushBackRoute="1" name="" /> + <arc begin="19" end="285" isPushBackRoute="1" name="" /> + <arc begin="285" end="19" isPushBackRoute="1" name="" /> + <arc begin="20" end="87" isPushBackRoute="1" name="" /> + <arc begin="87" end="20" isPushBackRoute="1" name="" /> + <arc begin="21" end="86" isPushBackRoute="1" name="" /> + <arc begin="86" end="21" isPushBackRoute="1" name="" /> + <arc begin="22" end="125" isPushBackRoute="1" name="" /> + <arc begin="125" end="22" isPushBackRoute="1" name="" /> + <arc begin="23" end="88" isPushBackRoute="1" name="" /> + <arc begin="88" end="23" isPushBackRoute="1" name="" /> + <arc begin="24" end="80" isPushBackRoute="1" name="Route" /> + <arc begin="80" end="24" isPushBackRoute="1" name="Route" /> + <arc begin="25" end="89" isPushBackRoute="1" name="" /> + <arc begin="89" end="25" isPushBackRoute="1" name="" /> + <arc begin="26" end="83" isPushBackRoute="1" name="" /> + <arc begin="83" end="26" isPushBackRoute="1" name="" /> + <arc begin="27" end="82" isPushBackRoute="1" name="" /> + <arc begin="82" end="27" isPushBackRoute="1" name="" /> + <arc begin="28" end="95" isPushBackRoute="1" name="" /> + <arc begin="95" end="28" isPushBackRoute="1" name="" /> + <arc begin="29" end="94" isPushBackRoute="1" name="" /> + <arc begin="94" end="29" isPushBackRoute="1" name="" /> + <arc begin="30" end="74" isPushBackRoute="1" name="Route" /> + <arc begin="74" end="30" isPushBackRoute="1" name="Route" /> + <arc begin="31" end="79" isPushBackRoute="1" name="Route" /> + <arc begin="79" end="31" isPushBackRoute="1" name="Route" /> + <arc begin="32" end="106" isPushBackRoute="1" name="" /> + <arc begin="106" end="32" isPushBackRoute="1" name="" /> + <arc begin="33" end="81" isPushBackRoute="1" name="" /> + <arc begin="81" end="33" isPushBackRoute="1" name="" /> + <arc begin="34" end="90" isPushBackRoute="1" name="" /> + <arc begin="90" end="34" isPushBackRoute="1" name="" /> + <arc begin="35" end="96" isPushBackRoute="1" name="" /> + <arc begin="96" end="35" isPushBackRoute="1" name="" /> + <arc begin="36" end="97" isPushBackRoute="1" name="" /> + <arc begin="97" end="36" isPushBackRoute="1" name="" /> + <arc begin="37" end="327" isPushBackRoute="1" name="" /> + <arc begin="327" end="37" isPushBackRoute="1" name="" /> + <arc begin="38" end="105" isPushBackRoute="1" name="" /> + <arc begin="105" end="38" isPushBackRoute="1" name="" /> + <arc begin="39" end="104" isPushBackRoute="1" name="" /> + <arc begin="104" end="39" isPushBackRoute="1" name="" /> + <arc begin="40" end="108" isPushBackRoute="1" name="" /> + <arc begin="108" end="40" isPushBackRoute="1" name="" /> + <arc begin="41" end="107" isPushBackRoute="1" name="" /> + <arc begin="107" end="41" isPushBackRoute="1" name="" /> + <arc begin="42" end="103" isPushBackRoute="1" name="" /> + <arc begin="103" end="42" isPushBackRoute="1" name="" /> + <arc begin="43" end="359" isPushBackRoute="1" name="" /> + <arc begin="359" end="43" isPushBackRoute="1" name="" /> + <arc begin="44" end="362" isPushBackRoute="1" name="" /> + <arc begin="362" end="44" isPushBackRoute="1" name="" /> + <arc begin="45" end="358" isPushBackRoute="1" name="" /> + <arc begin="358" end="45" isPushBackRoute="1" name="" /> + <arc begin="46" end="252" isPushBackRoute="1" name="" /> + <arc begin="252" end="46" isPushBackRoute="1" name="" /> + <arc begin="47" end="250" isPushBackRoute="1" name="" /> + <arc begin="250" end="47" isPushBackRoute="1" name="" /> + <arc begin="48" end="253" isPushBackRoute="1" name="" /> + <arc begin="253" end="48" isPushBackRoute="1" name="" /> + <arc begin="49" end="251" isPushBackRoute="1" name="" /> + <arc begin="251" end="49" isPushBackRoute="1" name="" /> + <arc begin="50" end="255" isPushBackRoute="1" name="" /> + <arc begin="255" end="50" isPushBackRoute="1" name="" /> + <arc begin="51" end="258" isPushBackRoute="1" name="" /> + <arc begin="258" end="51" isPushBackRoute="1" name="" /> + <arc begin="52" end="257" isPushBackRoute="1" name="" /> + <arc begin="257" end="52" isPushBackRoute="1" name="" /> + <arc begin="53" end="286" isPushBackRoute="1" name="" /> + <arc begin="286" end="53" isPushBackRoute="1" name="" /> + <arc begin="54" end="315" isPushBackRoute="1" name="" /> + <arc begin="315" end="54" isPushBackRoute="1" name="" /> + <arc begin="55" end="288" isPushBackRoute="1" name="" /> + <arc begin="288" end="55" isPushBackRoute="1" name="" /> + <arc begin="56" end="360" isPushBackRoute="1" name="" /> + <arc begin="360" end="56" isPushBackRoute="1" name="" /> + <arc begin="57" end="361" isPushBackRoute="1" name="" /> + <arc begin="361" end="57" isPushBackRoute="1" name="" /> + <arc begin="58" end="386" isPushBackRoute="0" name="" /> + <arc begin="386" end="58" isPushBackRoute="0" name="" /> + <arc begin="59" end="387" isPushBackRoute="0" name="" /> + <arc begin="387" end="59" isPushBackRoute="0" name="" /> + <arc begin="60" end="388" isPushBackRoute="0" name="" /> + <arc begin="388" end="60" isPushBackRoute="0" name="" /> + <arc begin="61" end="390" isPushBackRoute="0" name="Route" /> + <arc begin="390" end="61" isPushBackRoute="0" name="Route" /> + <arc begin="62" end="232" isPushBackRoute="0" name="Route" /> + <arc begin="232" end="62" isPushBackRoute="0" name="Route" /> + <arc begin="62" end="233" isPushBackRoute="0" name="Route" /> + <arc begin="233" end="62" isPushBackRoute="0" name="Route" /> + <arc begin="63" end="114" isPushBackRoute="0" name="Route" /> + <arc begin="114" end="63" isPushBackRoute="0" name="Route" /> + <arc begin="63" end="207" isPushBackRoute="0" name="Route" /> + <arc begin="207" end="63" isPushBackRoute="0" name="Route" /> + <arc begin="63" end="210" isPushBackRoute="0" name="" /> + <arc begin="210" end="63" isPushBackRoute="0" name="" /> + <arc begin="64" end="200" isPushBackRoute="0" name="Route" /> + <arc begin="200" end="64" isPushBackRoute="0" name="Route" /> + <arc begin="64" end="204" isPushBackRoute="0" name="" /> + <arc begin="204" end="64" isPushBackRoute="0" name="" /> + <arc begin="64" end="207" isPushBackRoute="0" name="Route" /> + <arc begin="207" end="64" isPushBackRoute="0" name="Route" /> + <arc begin="65" end="111" isPushBackRoute="0" name="Route" /> + <arc begin="111" end="65" isPushBackRoute="0" name="Route" /> + <arc begin="65" end="181" isPushBackRoute="0" name="Route" /> + <arc begin="181" end="65" isPushBackRoute="0" name="Route" /> + <arc begin="65" end="192" isPushBackRoute="0" name="Route" /> + <arc begin="192" end="65" isPushBackRoute="0" name="Route" /> + <arc begin="65" end="193" isPushBackRoute="0" name="" /> + <arc begin="193" end="65" isPushBackRoute="0" name="" /> + <arc begin="66" end="151" isPushBackRoute="0" name="Route" /> + <arc begin="151" end="66" isPushBackRoute="0" name="Route" /> + <arc begin="66" end="182" isPushBackRoute="0" name="Route" /> + <arc begin="182" end="66" isPushBackRoute="0" name="Route" /> + <arc begin="66" end="189" isPushBackRoute="0" name="Route" /> + <arc begin="189" end="66" isPushBackRoute="0" name="Route" /> + <arc begin="67" end="139" isPushBackRoute="0" name="Route" /> + <arc begin="139" end="67" isPushBackRoute="0" name="Route" /> + <arc begin="67" end="140" isPushBackRoute="0" name="Route" /> + <arc begin="140" end="67" isPushBackRoute="0" name="Route" /> + <arc begin="68" end="391" isPushBackRoute="0" name="Route" /> + <arc begin="391" end="68" isPushBackRoute="0" name="Route" /> + <arc begin="69" end="72" isPushBackRoute="0" name="Route" /> + <arc begin="72" end="69" isPushBackRoute="0" name="Route" /> + <arc begin="69" end="150" isPushBackRoute="0" name="Route" /> + <arc begin="150" end="69" isPushBackRoute="0" name="Route" /> + <arc begin="70" end="71" isPushBackRoute="0" name="Route" /> + <arc begin="71" end="70" isPushBackRoute="0" name="Route" /> + <arc begin="70" end="180" isPushBackRoute="0" name="Route" /> + <arc begin="180" end="70" isPushBackRoute="0" name="Route" /> + <arc begin="71" end="172" isPushBackRoute="0" name="" /> + <arc begin="172" end="71" isPushBackRoute="0" name="" /> + <arc begin="71" end="177" isPushBackRoute="0" name="" /> + <arc begin="177" end="71" isPushBackRoute="0" name="" /> + <arc begin="72" end="152" isPushBackRoute="0" name="Route" /> + <arc begin="152" end="72" isPushBackRoute="0" name="Route" /> + <arc begin="73" end="75" isPushBackRoute="0" name="Route" /> + <arc begin="75" end="73" isPushBackRoute="0" name="Route" /> + <arc begin="73" end="155" isPushBackRoute="0" name="Route" /> + <arc begin="155" end="73" isPushBackRoute="0" name="Route" /> + <arc begin="73" end="158" isPushBackRoute="0" name="" /> + <arc begin="158" end="73" isPushBackRoute="0" name="" /> + <arc begin="74" end="79" isPushBackRoute="0" name="Route" /> + <arc begin="79" end="74" isPushBackRoute="0" name="Route" /> + <arc begin="74" end="80" isPushBackRoute="1" name="Route" /> + <arc begin="80" end="74" isPushBackRoute="1" name="Route" /> + <arc begin="74" end="109" isPushBackRoute="0" name="Route" /> + <arc begin="109" end="74" isPushBackRoute="0" name="Route" /> + <arc begin="75" end="167" isPushBackRoute="0" name="Route" /> + <arc begin="167" end="75" isPushBackRoute="0" name="Route" /> + <arc begin="75" end="241" isPushBackRoute="0" name="Route" /> + <arc begin="241" end="75" isPushBackRoute="0" name="Route" /> + <arc begin="76" end="372" isPushBackRoute="0" name="Route" /> + <arc begin="372" end="76" isPushBackRoute="0" name="Route" /> + <arc begin="76" end="378" isPushBackRoute="0" name="" /> + <arc begin="378" end="76" isPushBackRoute="0" name="" /> + <arc begin="77" end="163" isPushBackRoute="0" name="Route" /> + <arc begin="163" end="77" isPushBackRoute="0" name="Route" /> + <arc begin="77" end="372" isPushBackRoute="0" name="Route" /> + <arc begin="372" end="77" isPushBackRoute="0" name="Route" /> + <arc begin="77" end="374" isPushBackRoute="0" name="Route" /> + <arc begin="374" end="77" isPushBackRoute="0" name="Route" /> + <arc begin="78" end="347" isPushBackRoute="0" name="" /> + <arc begin="347" end="78" isPushBackRoute="0" name="" /> + <arc begin="78" end="375" isPushBackRoute="0" name="" /> + <arc begin="375" end="78" isPushBackRoute="0" name="" /> + <arc begin="78" end="376" isPushBackRoute="0" name="Route" /> + <arc begin="376" end="78" isPushBackRoute="0" name="Route" /> + <arc begin="79" end="296" isPushBackRoute="1" name="" /> + <arc begin="296" end="79" isPushBackRoute="1" name="" /> + <arc begin="80" end="298" isPushBackRoute="1" name="" /> + <arc begin="298" end="80" isPushBackRoute="1" name="" /> + <arc begin="81" end="82" isPushBackRoute="0" name="" /> + <arc begin="82" end="81" isPushBackRoute="0" name="" /> + <arc begin="81" end="90" isPushBackRoute="1" name="" /> + <arc begin="90" end="81" isPushBackRoute="1" name="" /> + <arc begin="81" end="302" isPushBackRoute="0" name="" /> + <arc begin="302" end="81" isPushBackRoute="0" name="" /> + <arc begin="81" end="303" isPushBackRoute="1" name="" /> + <arc begin="303" end="81" isPushBackRoute="1" name="" /> + <arc begin="82" end="83" isPushBackRoute="1" name="" /> + <arc begin="83" end="82" isPushBackRoute="1" name="" /> + <arc begin="83" end="84" isPushBackRoute="0" name="" /> + <arc begin="84" end="83" isPushBackRoute="0" name="" /> + <arc begin="83" end="305" isPushBackRoute="1" name="" /> + <arc begin="305" end="83" isPushBackRoute="1" name="" /> + <arc begin="84" end="85" isPushBackRoute="0" name="" /> + <arc begin="85" end="84" isPushBackRoute="0" name="" /> + <arc begin="84" end="89" isPushBackRoute="0" name="" /> + <arc begin="89" end="84" isPushBackRoute="0" name="" /> + <arc begin="85" end="88" isPushBackRoute="0" name="" /> + <arc begin="88" end="85" isPushBackRoute="0" name="" /> + <arc begin="85" end="125" isPushBackRoute="0" name="" /> + <arc begin="125" end="85" isPushBackRoute="0" name="" /> + <arc begin="86" end="87" isPushBackRoute="1" name="" /> + <arc begin="87" end="86" isPushBackRoute="1" name="" /> + <arc begin="86" end="125" isPushBackRoute="0" name="" /> + <arc begin="125" end="86" isPushBackRoute="0" name="" /> + <arc begin="86" end="313" isPushBackRoute="1" name="" /> + <arc begin="313" end="86" isPushBackRoute="1" name="" /> + <arc begin="87" end="129" isPushBackRoute="0" name="" /> + <arc begin="129" end="87" isPushBackRoute="0" name="" /> + <arc begin="88" end="309" isPushBackRoute="1" name="" /> + <arc begin="309" end="88" isPushBackRoute="1" name="" /> + <arc begin="89" end="307" isPushBackRoute="1" name="" /> + <arc begin="307" end="89" isPushBackRoute="1" name="" /> + <arc begin="90" end="301" isPushBackRoute="0" name="" /> + <arc begin="301" end="90" isPushBackRoute="0" name="" /> + <arc begin="91" end="92" isPushBackRoute="0" name="" /> + <arc begin="92" end="91" isPushBackRoute="0" name="" /> + <arc begin="91" end="293" isPushBackRoute="1" name="" /> + <arc begin="293" end="91" isPushBackRoute="1" name="" /> + <arc begin="91" end="393" isPushBackRoute="1" name="" /> + <arc begin="393" end="91" isPushBackRoute="1" name="" /> + <arc begin="92" end="93" isPushBackRoute="0" name="" /> + <arc begin="93" end="92" isPushBackRoute="0" name="" /> + <arc begin="92" end="394" isPushBackRoute="1" name="" /> + <arc begin="394" end="92" isPushBackRoute="1" name="" /> + <arc begin="93" end="94" isPushBackRoute="0" name="" /> + <arc begin="94" end="93" isPushBackRoute="0" name="" /> + <arc begin="93" end="395" isPushBackRoute="1" name="" /> + <arc begin="395" end="93" isPushBackRoute="1" name="" /> + <arc begin="94" end="95" isPushBackRoute="0" name="" /> + <arc begin="95" end="94" isPushBackRoute="0" name="" /> + <arc begin="94" end="295" isPushBackRoute="1" name="" /> + <arc begin="295" end="94" isPushBackRoute="1" name="" /> + <arc begin="95" end="294" isPushBackRoute="1" name="" /> + <arc begin="294" end="95" isPushBackRoute="1" name="" /> + <arc begin="96" end="97" isPushBackRoute="0" name="" /> + <arc begin="97" end="96" isPushBackRoute="0" name="" /> + <arc begin="96" end="294" isPushBackRoute="1" name="" /> + <arc begin="294" end="96" isPushBackRoute="1" name="" /> + <arc begin="97" end="396" isPushBackRoute="1" name="" /> + <arc begin="396" end="97" isPushBackRoute="1" name="" /> + <arc begin="98" end="293" isPushBackRoute="1" name="" /> + <arc begin="293" end="98" isPushBackRoute="1" name="" /> + <arc begin="99" end="121" isPushBackRoute="0" name="" /> + <arc begin="121" end="99" isPushBackRoute="0" name="" /> + <arc begin="99" end="260" isPushBackRoute="0" name="" /> + <arc begin="260" end="99" isPushBackRoute="0" name="" /> + <arc begin="99" end="282" isPushBackRoute="0" name="" /> + <arc begin="282" end="99" isPushBackRoute="0" name="" /> + <arc begin="100" end="101" isPushBackRoute="0" name="" /> + <arc begin="101" end="100" isPushBackRoute="0" name="" /> + <arc begin="100" end="347" isPushBackRoute="0" name="" /> + <arc begin="347" end="100" isPushBackRoute="0" name="" /> + <arc begin="101" end="107" isPushBackRoute="1" name="" /> + <arc begin="107" end="101" isPushBackRoute="1" name="" /> + <arc begin="101" end="349" isPushBackRoute="1" name="" /> + <arc begin="349" end="101" isPushBackRoute="1" name="" /> + <arc begin="102" end="106" isPushBackRoute="1" name="" /> + <arc begin="106" end="102" isPushBackRoute="1" name="" /> + <arc begin="102" end="350" isPushBackRoute="1" name="" /> + <arc begin="350" end="102" isPushBackRoute="1" name="" /> + <arc begin="102" end="352" isPushBackRoute="1" name="" /> + <arc begin="352" end="102" isPushBackRoute="1" name="" /> + <arc begin="103" end="349" isPushBackRoute="1" name="" /> + <arc begin="349" end="103" isPushBackRoute="1" name="" /> + <arc begin="104" end="348" isPushBackRoute="1" name="" /> + <arc begin="348" end="104" isPushBackRoute="1" name="" /> + <arc begin="105" end="350" isPushBackRoute="1" name="" /> + <arc begin="350" end="105" isPushBackRoute="1" name="" /> + <arc begin="108" end="351" isPushBackRoute="1" name="" /> + <arc begin="351" end="108" isPushBackRoute="1" name="" /> + <arc begin="109" end="162" isPushBackRoute="0" name="Route" /> + <arc begin="162" end="109" isPushBackRoute="0" name="Route" /> + <arc begin="110" end="159" isPushBackRoute="0" name="" /> + <arc begin="159" end="110" isPushBackRoute="0" name="" /> + <arc begin="110" end="160" isPushBackRoute="0" name="" /> + <arc begin="160" end="110" isPushBackRoute="0" name="" /> + <arc begin="110" end="300" isPushBackRoute="0" name="" /> + <arc begin="300" end="110" isPushBackRoute="0" name="" /> + <arc begin="111" end="197" isPushBackRoute="0" name="" /> + <arc begin="197" end="111" isPushBackRoute="0" name="" /> + <arc begin="111" end="200" isPushBackRoute="0" name="Route" /> + <arc begin="200" end="111" isPushBackRoute="0" name="Route" /> + <arc begin="112" end="193" isPushBackRoute="0" name="" /> + <arc begin="193" end="112" isPushBackRoute="0" name="" /> + <arc begin="112" end="196" isPushBackRoute="0" name="" /> + <arc begin="196" end="112" isPushBackRoute="0" name="" /> + <arc begin="112" end="198" isPushBackRoute="0" name="" /> + <arc begin="198" end="112" isPushBackRoute="0" name="" /> + <arc begin="113" end="130" isPushBackRoute="0" name="Route" /> + <arc begin="130" end="113" isPushBackRoute="0" name="Route" /> + <arc begin="113" end="133" isPushBackRoute="0" name="" /> + <arc begin="133" end="113" isPushBackRoute="0" name="" /> + <arc begin="113" end="137" isPushBackRoute="0" name="Route" /> + <arc begin="137" end="113" isPushBackRoute="0" name="Route" /> + <arc begin="114" end="215" isPushBackRoute="0" name="Route" /> + <arc begin="215" end="114" isPushBackRoute="0" name="Route" /> + <arc begin="114" end="218" isPushBackRoute="0" name="" /> + <arc begin="218" end="114" isPushBackRoute="0" name="" /> + <arc begin="115" end="214" isPushBackRoute="0" name="" /> + <arc begin="214" end="115" isPushBackRoute="0" name="" /> + <arc begin="115" end="220" isPushBackRoute="0" name="" /> + <arc begin="220" end="115" isPushBackRoute="0" name="" /> + <arc begin="115" end="221" isPushBackRoute="0" name="" /> + <arc begin="221" end="115" isPushBackRoute="0" name="" /> + <arc begin="116" end="215" isPushBackRoute="0" name="Route" /> + <arc begin="215" end="116" isPushBackRoute="0" name="Route" /> + <arc begin="116" end="226" isPushBackRoute="0" name="" /> + <arc begin="226" end="116" isPushBackRoute="0" name="" /> + <arc begin="116" end="231" isPushBackRoute="0" name="Route" /> + <arc begin="231" end="116" isPushBackRoute="0" name="Route" /> + <arc begin="117" end="234" isPushBackRoute="0" name="Route" /> + <arc begin="234" end="117" isPushBackRoute="0" name="Route" /> + <arc begin="117" end="389" isPushBackRoute="0" name="Route" /> + <arc begin="389" end="117" isPushBackRoute="0" name="Route" /> + <arc begin="118" end="139" isPushBackRoute="0" name="Route" /> + <arc begin="139" end="118" isPushBackRoute="0" name="Route" /> + <arc begin="118" end="141" isPushBackRoute="0" name="Route" /> + <arc begin="141" end="118" isPushBackRoute="0" name="Route" /> + <arc begin="118" end="142" isPushBackRoute="0" name="" /> + <arc begin="142" end="118" isPushBackRoute="0" name="" /> + <arc begin="119" end="170" isPushBackRoute="0" name="" /> + <arc begin="170" end="119" isPushBackRoute="0" name="" /> + <arc begin="119" end="293" isPushBackRoute="0" name="" /> + <arc begin="293" end="119" isPushBackRoute="0" name="" /> + <arc begin="120" end="286" isPushBackRoute="1" name="" /> + <arc begin="286" end="120" isPushBackRoute="1" name="" /> + <arc begin="120" end="316" isPushBackRoute="1" name="" /> + <arc begin="316" end="120" isPushBackRoute="1" name="" /> + <arc begin="121" end="212" isPushBackRoute="0" name="" /> + <arc begin="212" end="121" isPushBackRoute="0" name="" /> + <arc begin="121" end="213" isPushBackRoute="0" name="" /> + <arc begin="213" end="121" isPushBackRoute="0" name="" /> + <arc begin="122" end="291" isPushBackRoute="1" name="" /> + <arc begin="291" end="122" isPushBackRoute="1" name="" /> + <arc begin="123" end="254" isPushBackRoute="0" name="" /> + <arc begin="254" end="123" isPushBackRoute="0" name="" /> + <arc begin="123" end="257" isPushBackRoute="0" name="" /> + <arc begin="257" end="123" isPushBackRoute="0" name="" /> + <arc begin="124" end="252" isPushBackRoute="1" name="" /> + <arc begin="252" end="124" isPushBackRoute="1" name="" /> + <arc begin="124" end="254" isPushBackRoute="0" name="" /> + <arc begin="254" end="124" isPushBackRoute="0" name="" /> + <arc begin="125" end="311" isPushBackRoute="1" name="" /> + <arc begin="311" end="125" isPushBackRoute="1" name="" /> + <arc begin="126" end="137" isPushBackRoute="0" name="" /> + <arc begin="137" end="126" isPushBackRoute="0" name="" /> + <arc begin="126" end="147" isPushBackRoute="0" name="" /> + <arc begin="147" end="126" isPushBackRoute="0" name="" /> + <arc begin="127" end="128" isPushBackRoute="0" name="" /> + <arc begin="128" end="127" isPushBackRoute="0" name="" /> + <arc begin="127" end="132" isPushBackRoute="0" name="" /> + <arc begin="132" end="127" isPushBackRoute="0" name="" /> + <arc begin="127" end="136" isPushBackRoute="0" name="" /> + <arc begin="136" end="127" isPushBackRoute="0" name="" /> + <arc begin="128" end="129" isPushBackRoute="0" name="" /> + <arc begin="129" end="128" isPushBackRoute="0" name="" /> + <arc begin="130" end="135" isPushBackRoute="0" name="" /> + <arc begin="135" end="130" isPushBackRoute="0" name="" /> + <arc begin="130" end="151" isPushBackRoute="0" name="Route" /> + <arc begin="151" end="130" isPushBackRoute="0" name="Route" /> + <arc begin="131" end="132" isPushBackRoute="0" name="" /> + <arc begin="132" end="131" isPushBackRoute="0" name="" /> + <arc begin="131" end="133" isPushBackRoute="0" name="" /> + <arc begin="133" end="131" isPushBackRoute="0" name="" /> + <arc begin="134" end="135" isPushBackRoute="0" name="" /> + <arc begin="135" end="134" isPushBackRoute="0" name="" /> + <arc begin="134" end="136" isPushBackRoute="0" name="" /> + <arc begin="136" end="134" isPushBackRoute="0" name="" /> + <arc begin="137" end="138" isPushBackRoute="0" name="Route" /> + <arc begin="138" end="137" isPushBackRoute="0" name="Route" /> + <arc begin="138" end="140" isPushBackRoute="0" name="Route" /> + <arc begin="140" end="138" isPushBackRoute="0" name="Route" /> + <arc begin="141" end="392" isPushBackRoute="0" name="Route" /> + <arc begin="392" end="141" isPushBackRoute="0" name="Route" /> + <arc begin="142" end="148" isPushBackRoute="0" name="" /> + <arc begin="148" end="142" isPushBackRoute="0" name="" /> + <arc begin="143" end="148" isPushBackRoute="0" name="" /> + <arc begin="148" end="143" isPushBackRoute="0" name="" /> + <arc begin="143" end="149" isPushBackRoute="0" name="" /> + <arc begin="149" end="143" isPushBackRoute="0" name="" /> + <arc begin="144" end="145" isPushBackRoute="0" name="" /> + <arc begin="145" end="144" isPushBackRoute="0" name="" /> + <arc begin="144" end="149" isPushBackRoute="0" name="" /> + <arc begin="149" end="144" isPushBackRoute="0" name="" /> + <arc begin="145" end="146" isPushBackRoute="0" name="" /> + <arc begin="146" end="145" isPushBackRoute="0" name="" /> + <arc begin="146" end="147" isPushBackRoute="0" name="" /> + <arc begin="147" end="146" isPushBackRoute="0" name="" /> + <arc begin="150" end="190" isPushBackRoute="0" name="" /> + <arc begin="190" end="150" isPushBackRoute="0" name="" /> + <arc begin="150" end="191" isPushBackRoute="0" name="Route" /> + <arc begin="191" end="150" isPushBackRoute="0" name="Route" /> + <arc begin="151" end="188" isPushBackRoute="0" name="" /> + <arc begin="188" end="151" isPushBackRoute="0" name="" /> + <arc begin="152" end="153" isPushBackRoute="0" name="Route" /> + <arc begin="153" end="152" isPushBackRoute="0" name="Route" /> + <arc begin="152" end="179" isPushBackRoute="0" name="" /> + <arc begin="179" end="152" isPushBackRoute="0" name="" /> + <arc begin="153" end="154" isPushBackRoute="0" name="Route" /> + <arc begin="154" end="153" isPushBackRoute="0" name="Route" /> + <arc begin="154" end="155" isPushBackRoute="0" name="Route" /> + <arc begin="155" end="154" isPushBackRoute="0" name="Route" /> + <arc begin="154" end="175" isPushBackRoute="0" name="" /> + <arc begin="175" end="154" isPushBackRoute="0" name="" /> + <arc begin="155" end="161" isPushBackRoute="0" name="" /> + <arc begin="161" end="155" isPushBackRoute="0" name="" /> + <arc begin="156" end="158" isPushBackRoute="0" name="" /> + <arc begin="158" end="156" isPushBackRoute="0" name="" /> + <arc begin="156" end="160" isPushBackRoute="0" name="" /> + <arc begin="160" end="156" isPushBackRoute="0" name="" /> + <arc begin="157" end="159" isPushBackRoute="0" name="" /> + <arc begin="159" end="157" isPushBackRoute="0" name="" /> + <arc begin="157" end="161" isPushBackRoute="0" name="" /> + <arc begin="161" end="157" isPushBackRoute="0" name="" /> + <arc begin="162" end="168" isPushBackRoute="0" name="" /> + <arc begin="168" end="162" isPushBackRoute="0" name="" /> + <arc begin="162" end="169" isPushBackRoute="0" name="Route" /> + <arc begin="169" end="162" isPushBackRoute="0" name="Route" /> + <arc begin="162" end="240" isPushBackRoute="0" name="" /> + <arc begin="240" end="162" isPushBackRoute="0" name="" /> + <arc begin="162" end="385" isPushBackRoute="0" name="" /> + <arc begin="385" end="162" isPushBackRoute="0" name="" /> + <arc begin="163" end="166" isPushBackRoute="0" name="" /> + <arc begin="166" end="163" isPushBackRoute="0" name="" /> + <arc begin="163" end="240" isPushBackRoute="0" name="Route" /> + <arc begin="240" end="163" isPushBackRoute="0" name="Route" /> + <arc begin="163" end="246" isPushBackRoute="0" name="" /> + <arc begin="246" end="163" isPushBackRoute="0" name="" /> + <arc begin="164" end="166" isPushBackRoute="0" name="" /> + <arc begin="166" end="164" isPushBackRoute="0" name="" /> + <arc begin="164" end="168" isPushBackRoute="0" name="" /> + <arc begin="168" end="164" isPushBackRoute="0" name="" /> + <arc begin="165" end="167" isPushBackRoute="0" name="Route" /> + <arc begin="167" end="165" isPushBackRoute="0" name="Route" /> + <arc begin="165" end="169" isPushBackRoute="0" name="Route" /> + <arc begin="169" end="165" isPushBackRoute="0" name="Route" /> + <arc begin="170" end="173" isPushBackRoute="0" name="" /> + <arc begin="173" end="170" isPushBackRoute="0" name="" /> + <arc begin="170" end="174" isPushBackRoute="0" name="" /> + <arc begin="174" end="170" isPushBackRoute="0" name="" /> + <arc begin="171" end="172" isPushBackRoute="0" name="" /> + <arc begin="172" end="171" isPushBackRoute="0" name="" /> + <arc begin="171" end="173" isPushBackRoute="0" name="" /> + <arc begin="173" end="171" isPushBackRoute="0" name="" /> + <arc begin="174" end="175" isPushBackRoute="0" name="" /> + <arc begin="175" end="174" isPushBackRoute="0" name="" /> + <arc begin="174" end="177" isPushBackRoute="0" name="" /> + <arc begin="177" end="174" isPushBackRoute="0" name="" /> + <arc begin="174" end="178" isPushBackRoute="0" name="" /> + <arc begin="178" end="174" isPushBackRoute="0" name="" /> + <arc begin="176" end="178" isPushBackRoute="0" name="" /> + <arc begin="178" end="176" isPushBackRoute="0" name="" /> + <arc begin="176" end="179" isPushBackRoute="0" name="" /> + <arc begin="179" end="176" isPushBackRoute="0" name="" /> + <arc begin="180" end="181" isPushBackRoute="0" name="Route" /> + <arc begin="181" end="180" isPushBackRoute="0" name="Route" /> + <arc begin="180" end="185" isPushBackRoute="0" name="" /> + <arc begin="185" end="180" isPushBackRoute="0" name="" /> + <arc begin="182" end="184" isPushBackRoute="0" name="" /> + <arc begin="184" end="182" isPushBackRoute="0" name="" /> + <arc begin="182" end="192" isPushBackRoute="0" name="Route" /> + <arc begin="192" end="182" isPushBackRoute="0" name="Route" /> + <arc begin="183" end="184" isPushBackRoute="0" name="" /> + <arc begin="184" end="183" isPushBackRoute="0" name="" /> + <arc begin="183" end="185" isPushBackRoute="0" name="" /> + <arc begin="185" end="183" isPushBackRoute="0" name="" /> + <arc begin="186" end="188" isPushBackRoute="0" name="" /> + <arc begin="188" end="186" isPushBackRoute="0" name="" /> + <arc begin="186" end="190" isPushBackRoute="0" name="" /> + <arc begin="190" end="186" isPushBackRoute="0" name="" /> + <arc begin="187" end="189" isPushBackRoute="0" name="Route" /> + <arc begin="189" end="187" isPushBackRoute="0" name="Route" /> + <arc begin="187" end="191" isPushBackRoute="0" name="Route" /> + <arc begin="191" end="187" isPushBackRoute="0" name="Route" /> + <arc begin="192" end="194" isPushBackRoute="0" name="" /> + <arc begin="194" end="192" isPushBackRoute="0" name="" /> + <arc begin="193" end="194" isPushBackRoute="0" name="" /> + <arc begin="194" end="193" isPushBackRoute="0" name="" /> + <arc begin="195" end="196" isPushBackRoute="0" name="" /> + <arc begin="196" end="195" isPushBackRoute="0" name="" /> + <arc begin="195" end="197" isPushBackRoute="0" name="" /> + <arc begin="197" end="195" isPushBackRoute="0" name="" /> + <arc begin="199" end="205" isPushBackRoute="0" name="" /> + <arc begin="205" end="199" isPushBackRoute="0" name="" /> + <arc begin="199" end="206" isPushBackRoute="0" name="" /> + <arc begin="206" end="199" isPushBackRoute="0" name="" /> + <arc begin="199" end="264" isPushBackRoute="0" name="" /> + <arc begin="264" end="199" isPushBackRoute="0" name="" /> + <arc begin="200" end="203" isPushBackRoute="0" name="" /> + <arc begin="203" end="200" isPushBackRoute="0" name="" /> + <arc begin="201" end="203" isPushBackRoute="0" name="" /> + <arc begin="203" end="201" isPushBackRoute="0" name="" /> + <arc begin="201" end="205" isPushBackRoute="0" name="" /> + <arc begin="205" end="201" isPushBackRoute="0" name="" /> + <arc begin="202" end="204" isPushBackRoute="0" name="" /> + <arc begin="204" end="202" isPushBackRoute="0" name="" /> + <arc begin="202" end="206" isPushBackRoute="0" name="" /> + <arc begin="206" end="202" isPushBackRoute="0" name="" /> + <arc begin="207" end="211" isPushBackRoute="0" name="" /> + <arc begin="211" end="207" isPushBackRoute="0" name="" /> + <arc begin="208" end="210" isPushBackRoute="0" name="" /> + <arc begin="210" end="208" isPushBackRoute="0" name="" /> + <arc begin="208" end="212" isPushBackRoute="0" name="" /> + <arc begin="212" end="208" isPushBackRoute="0" name="" /> + <arc begin="209" end="211" isPushBackRoute="0" name="" /> + <arc begin="211" end="209" isPushBackRoute="0" name="" /> + <arc begin="209" end="213" isPushBackRoute="0" name="" /> + <arc begin="213" end="209" isPushBackRoute="0" name="" /> + <arc begin="215" end="219" isPushBackRoute="0" name="" /> + <arc begin="219" end="215" isPushBackRoute="0" name="" /> + <arc begin="216" end="218" isPushBackRoute="0" name="" /> + <arc begin="218" end="216" isPushBackRoute="0" name="" /> + <arc begin="216" end="220" isPushBackRoute="0" name="" /> + <arc begin="220" end="216" isPushBackRoute="0" name="" /> + <arc begin="217" end="219" isPushBackRoute="0" name="" /> + <arc begin="219" end="217" isPushBackRoute="0" name="" /> + <arc begin="217" end="221" isPushBackRoute="0" name="" /> + <arc begin="221" end="217" isPushBackRoute="0" name="" /> + <arc begin="222" end="224" isPushBackRoute="0" name="" /> + <arc begin="224" end="222" isPushBackRoute="0" name="" /> + <arc begin="222" end="229" isPushBackRoute="0" name="" /> + <arc begin="229" end="222" isPushBackRoute="0" name="" /> + <arc begin="223" end="226" isPushBackRoute="0" name="" /> + <arc begin="226" end="223" isPushBackRoute="0" name="" /> + <arc begin="223" end="227" isPushBackRoute="0" name="" /> + <arc begin="227" end="223" isPushBackRoute="0" name="" /> + <arc begin="224" end="225" isPushBackRoute="0" name="" /> + <arc begin="225" end="224" isPushBackRoute="0" name="" /> + <arc begin="225" end="227" isPushBackRoute="0" name="" /> + <arc begin="227" end="225" isPushBackRoute="0" name="" /> + <arc begin="228" end="229" isPushBackRoute="0" name="" /> + <arc begin="229" end="228" isPushBackRoute="0" name="" /> + <arc begin="228" end="230" isPushBackRoute="0" name="" /> + <arc begin="230" end="228" isPushBackRoute="0" name="" /> + <arc begin="230" end="234" isPushBackRoute="0" name="" /> + <arc begin="234" end="230" isPushBackRoute="0" name="" /> + <arc begin="231" end="232" isPushBackRoute="0" name="Route" /> + <arc begin="232" end="231" isPushBackRoute="0" name="Route" /> + <arc begin="233" end="234" isPushBackRoute="0" name="Route" /> + <arc begin="234" end="233" isPushBackRoute="0" name="Route" /> + <arc begin="235" end="248" isPushBackRoute="0" name="" /> + <arc begin="248" end="235" isPushBackRoute="0" name="" /> + <arc begin="235" end="249" isPushBackRoute="0" name="" /> + <arc begin="249" end="235" isPushBackRoute="0" name="" /> + <arc begin="236" end="237" isPushBackRoute="0" name="" /> + <arc begin="237" end="236" isPushBackRoute="0" name="" /> + <arc begin="236" end="238" isPushBackRoute="0" name="" /> + <arc begin="238" end="236" isPushBackRoute="0" name="" /> + <arc begin="237" end="240" isPushBackRoute="0" name="" /> + <arc begin="240" end="237" isPushBackRoute="0" name="" /> + <arc begin="237" end="244" isPushBackRoute="0" name="" /> + <arc begin="244" end="237" isPushBackRoute="0" name="" /> + <arc begin="237" end="245" isPushBackRoute="0" name="" /> + <arc begin="245" end="237" isPushBackRoute="0" name="" /> + <arc begin="238" end="248" isPushBackRoute="0" name="" /> + <arc begin="248" end="238" isPushBackRoute="0" name="" /> + <arc begin="239" end="249" isPushBackRoute="0" name="" /> + <arc begin="249" end="239" isPushBackRoute="0" name="" /> + <arc begin="239" end="254" isPushBackRoute="0" name="" /> + <arc begin="254" end="239" isPushBackRoute="0" name="" /> + <arc begin="240" end="241" isPushBackRoute="0" name="Route" /> + <arc begin="241" end="240" isPushBackRoute="0" name="Route" /> + <arc begin="241" end="247" isPushBackRoute="0" name="" /> + <arc begin="247" end="241" isPushBackRoute="0" name="" /> + <arc begin="242" end="244" isPushBackRoute="0" name="" /> + <arc begin="244" end="242" isPushBackRoute="0" name="" /> + <arc begin="242" end="246" isPushBackRoute="0" name="" /> + <arc begin="246" end="242" isPushBackRoute="0" name="" /> + <arc begin="243" end="245" isPushBackRoute="0" name="" /> + <arc begin="245" end="243" isPushBackRoute="0" name="" /> + <arc begin="243" end="247" isPushBackRoute="0" name="" /> + <arc begin="247" end="243" isPushBackRoute="0" name="" /> + <arc begin="250" end="252" isPushBackRoute="0" name="" /> + <arc begin="252" end="250" isPushBackRoute="0" name="" /> + <arc begin="250" end="399" isPushBackRoute="1" name="" /> + <arc begin="399" end="250" isPushBackRoute="1" name="" /> + <arc begin="251" end="253" isPushBackRoute="0" name="" /> + <arc begin="253" end="251" isPushBackRoute="0" name="" /> + <arc begin="254" end="255" isPushBackRoute="0" name="" /> + <arc begin="255" end="254" isPushBackRoute="0" name="" /> + <arc begin="255" end="292" isPushBackRoute="1" name="" /> + <arc begin="292" end="255" isPushBackRoute="1" name="" /> + <arc begin="256" end="292" isPushBackRoute="1" name="" /> + <arc begin="292" end="256" isPushBackRoute="1" name="" /> + <arc begin="257" end="258" isPushBackRoute="1" name="" /> + <arc begin="258" end="257" isPushBackRoute="1" name="" /> + <arc begin="258" end="291" isPushBackRoute="1" name="" /> + <arc begin="291" end="258" isPushBackRoute="1" name="" /> + <arc begin="259" end="260" isPushBackRoute="0" name="" /> + <arc begin="260" end="259" isPushBackRoute="0" name="" /> + <arc begin="259" end="267" isPushBackRoute="0" name="" /> + <arc begin="267" end="259" isPushBackRoute="0" name="" /> + <arc begin="260" end="279" isPushBackRoute="0" name="" /> + <arc begin="279" end="260" isPushBackRoute="0" name="" /> + <arc begin="261" end="273" isPushBackRoute="0" name="" /> + <arc begin="273" end="261" isPushBackRoute="0" name="" /> + <arc begin="261" end="280" isPushBackRoute="0" name="" /> + <arc begin="280" end="261" isPushBackRoute="0" name="" /> + <arc begin="261" end="281" isPushBackRoute="0" name="" /> + <arc begin="281" end="261" isPushBackRoute="0" name="" /> + <arc begin="261" end="327" isPushBackRoute="0" name="" /> + <arc begin="327" end="261" isPushBackRoute="0" name="" /> + <arc begin="262" end="263" isPushBackRoute="1" name="" /> + <arc begin="263" end="262" isPushBackRoute="1" name="" /> + <arc begin="263" end="264" isPushBackRoute="0" name="" /> + <arc begin="264" end="263" isPushBackRoute="0" name="" /> + <arc begin="263" end="271" isPushBackRoute="1" name="" /> + <arc begin="271" end="263" isPushBackRoute="1" name="" /> + <arc begin="264" end="269" isPushBackRoute="0" name="" /> + <arc begin="269" end="264" isPushBackRoute="0" name="" /> + <arc begin="264" end="271" isPushBackRoute="0" name="" /> + <arc begin="271" end="264" isPushBackRoute="0" name="" /> + <arc begin="265" end="270" isPushBackRoute="0" name="" /> + <arc begin="270" end="265" isPushBackRoute="0" name="" /> + <arc begin="265" end="271" isPushBackRoute="1" name="" /> + <arc begin="271" end="265" isPushBackRoute="1" name="" /> + <arc begin="265" end="276" isPushBackRoute="0" name="" /> + <arc begin="276" end="265" isPushBackRoute="0" name="" /> + <arc begin="265" end="345" isPushBackRoute="1" name="" /> + <arc begin="345" end="265" isPushBackRoute="1" name="" /> + <arc begin="266" end="267" isPushBackRoute="0" name="" /> + <arc begin="267" end="266" isPushBackRoute="0" name="" /> + <arc begin="266" end="289" isPushBackRoute="0" name="" /> + <arc begin="289" end="266" isPushBackRoute="0" name="" /> + <arc begin="268" end="269" isPushBackRoute="0" name="" /> + <arc begin="269" end="268" isPushBackRoute="0" name="" /> + <arc begin="268" end="270" isPushBackRoute="0" name="" /> + <arc begin="270" end="268" isPushBackRoute="0" name="" /> + <arc begin="272" end="274" isPushBackRoute="0" name="" /> + <arc begin="274" end="272" isPushBackRoute="0" name="" /> + <arc begin="272" end="275" isPushBackRoute="0" name="" /> + <arc begin="275" end="272" isPushBackRoute="0" name="" /> + <arc begin="272" end="332" isPushBackRoute="0" name="" /> + <arc begin="332" end="272" isPushBackRoute="0" name="" /> + <arc begin="273" end="275" isPushBackRoute="0" name="" /> + <arc begin="275" end="273" isPushBackRoute="0" name="" /> + <arc begin="273" end="330" isPushBackRoute="0" name="" /> + <arc begin="330" end="273" isPushBackRoute="0" name="" /> + <arc begin="274" end="276" isPushBackRoute="0" name="" /> + <arc begin="276" end="274" isPushBackRoute="0" name="" /> + <arc begin="274" end="333" isPushBackRoute="0" name="" /> + <arc begin="333" end="274" isPushBackRoute="0" name="" /> + <arc begin="275" end="331" isPushBackRoute="0" name="" /> + <arc begin="331" end="275" isPushBackRoute="0" name="" /> + <arc begin="276" end="334" isPushBackRoute="0" name="" /> + <arc begin="334" end="276" isPushBackRoute="0" name="" /> + <arc begin="277" end="279" isPushBackRoute="0" name="" /> + <arc begin="279" end="277" isPushBackRoute="0" name="" /> + <arc begin="277" end="281" isPushBackRoute="0" name="" /> + <arc begin="281" end="277" isPushBackRoute="0" name="" /> + <arc begin="278" end="280" isPushBackRoute="0" name="" /> + <arc begin="280" end="278" isPushBackRoute="0" name="" /> + <arc begin="278" end="282" isPushBackRoute="0" name="" /> + <arc begin="282" end="278" isPushBackRoute="0" name="" /> + <arc begin="283" end="287" isPushBackRoute="0" name="" /> + <arc begin="287" end="283" isPushBackRoute="0" name="" /> + <arc begin="283" end="320" isPushBackRoute="1" name="" /> + <arc begin="320" end="283" isPushBackRoute="1" name="" /> + <arc begin="283" end="321" isPushBackRoute="1" name="" /> + <arc begin="321" end="283" isPushBackRoute="1" name="" /> + <arc begin="284" end="287" isPushBackRoute="1" name="" /> + <arc begin="287" end="284" isPushBackRoute="1" name="" /> + <arc begin="284" end="315" isPushBackRoute="0" name="" /> + <arc begin="315" end="284" isPushBackRoute="0" name="" /> + <arc begin="284" end="318" isPushBackRoute="1" name="" /> + <arc begin="318" end="284" isPushBackRoute="1" name="" /> + <arc begin="285" end="288" isPushBackRoute="0" name="" /> + <arc begin="288" end="285" isPushBackRoute="0" name="" /> + <arc begin="285" end="290" isPushBackRoute="0" name="" /> + <arc begin="290" end="285" isPushBackRoute="0" name="" /> + <arc begin="285" end="323" isPushBackRoute="1" name="" /> + <arc begin="323" end="285" isPushBackRoute="1" name="" /> + <arc begin="286" end="315" isPushBackRoute="1" name="" /> + <arc begin="315" end="286" isPushBackRoute="1" name="" /> + <arc begin="288" end="289" isPushBackRoute="1" name="" /> + <arc begin="289" end="288" isPushBackRoute="1" name="" /> + <arc begin="288" end="325" isPushBackRoute="1" name="" /> + <arc begin="325" end="288" isPushBackRoute="1" name="" /> + <arc begin="290" end="320" isPushBackRoute="1" name="" /> + <arc begin="320" end="290" isPushBackRoute="1" name="" /> + <arc begin="296" end="297" isPushBackRoute="1" name="" /> + <arc begin="297" end="296" isPushBackRoute="1" name="" /> + <arc begin="298" end="299" isPushBackRoute="1" name="" /> + <arc begin="299" end="298" isPushBackRoute="1" name="" /> + <arc begin="300" end="301" isPushBackRoute="0" name="" /> + <arc begin="301" end="300" isPushBackRoute="0" name="" /> + <arc begin="300" end="302" isPushBackRoute="0" name="" /> + <arc begin="302" end="300" isPushBackRoute="0" name="" /> + <arc begin="303" end="304" isPushBackRoute="1" name="" /> + <arc begin="304" end="303" isPushBackRoute="1" name="" /> + <arc begin="305" end="306" isPushBackRoute="1" name="" /> + <arc begin="306" end="305" isPushBackRoute="1" name="" /> + <arc begin="307" end="308" isPushBackRoute="1" name="" /> + <arc begin="308" end="307" isPushBackRoute="1" name="" /> + <arc begin="309" end="310" isPushBackRoute="1" name="" /> + <arc begin="310" end="309" isPushBackRoute="1" name="" /> + <arc begin="311" end="312" isPushBackRoute="1" name="" /> + <arc begin="312" end="311" isPushBackRoute="1" name="" /> + <arc begin="313" end="314" isPushBackRoute="1" name="" /> + <arc begin="314" end="313" isPushBackRoute="1" name="" /> + <arc begin="316" end="317" isPushBackRoute="1" name="" /> + <arc begin="317" end="316" isPushBackRoute="1" name="" /> + <arc begin="318" end="319" isPushBackRoute="1" name="" /> + <arc begin="319" end="318" isPushBackRoute="1" name="" /> + <arc begin="321" end="322" isPushBackRoute="1" name="" /> + <arc begin="322" end="321" isPushBackRoute="1" name="" /> + <arc begin="323" end="324" isPushBackRoute="1" name="" /> + <arc begin="324" end="323" isPushBackRoute="1" name="" /> + <arc begin="325" end="326" isPushBackRoute="1" name="" /> + <arc begin="326" end="325" isPushBackRoute="1" name="" /> + <arc begin="327" end="328" isPushBackRoute="1" name="" /> + <arc begin="328" end="327" isPushBackRoute="1" name="" /> + <arc begin="328" end="329" isPushBackRoute="1" name="" /> + <arc begin="329" end="328" isPushBackRoute="1" name="" /> + <arc begin="330" end="335" isPushBackRoute="1" name="" /> + <arc begin="335" end="330" isPushBackRoute="1" name="" /> + <arc begin="331" end="337" isPushBackRoute="1" name="" /> + <arc begin="337" end="331" isPushBackRoute="1" name="" /> + <arc begin="332" end="339" isPushBackRoute="1" name="" /> + <arc begin="339" end="332" isPushBackRoute="1" name="" /> + <arc begin="333" end="341" isPushBackRoute="1" name="" /> + <arc begin="341" end="333" isPushBackRoute="1" name="" /> + <arc begin="334" end="343" isPushBackRoute="1" name="" /> + <arc begin="343" end="334" isPushBackRoute="1" name="" /> + <arc begin="335" end="336" isPushBackRoute="1" name="" /> + <arc begin="336" end="335" isPushBackRoute="1" name="" /> + <arc begin="337" end="338" isPushBackRoute="1" name="" /> + <arc begin="338" end="337" isPushBackRoute="1" name="" /> + <arc begin="339" end="340" isPushBackRoute="1" name="" /> + <arc begin="340" end="339" isPushBackRoute="1" name="" /> + <arc begin="341" end="342" isPushBackRoute="1" name="" /> + <arc begin="342" end="341" isPushBackRoute="1" name="" /> + <arc begin="343" end="344" isPushBackRoute="1" name="" /> + <arc begin="344" end="343" isPushBackRoute="1" name="" /> + <arc begin="345" end="346" isPushBackRoute="1" name="" /> + <arc begin="346" end="345" isPushBackRoute="1" name="" /> + <arc begin="347" end="364" isPushBackRoute="0" name="" /> + <arc begin="364" end="347" isPushBackRoute="0" name="" /> + <arc begin="348" end="350" isPushBackRoute="0" name="" /> + <arc begin="350" end="348" isPushBackRoute="0" name="" /> + <arc begin="348" end="351" isPushBackRoute="1" name="" /> + <arc begin="351" end="348" isPushBackRoute="1" name="" /> + <arc begin="348" end="354" isPushBackRoute="1" name="" /> + <arc begin="354" end="348" isPushBackRoute="1" name="" /> + <arc begin="349" end="351" isPushBackRoute="0" name="" /> + <arc begin="351" end="349" isPushBackRoute="0" name="" /> + <arc begin="349" end="356" isPushBackRoute="1" name="" /> + <arc begin="356" end="349" isPushBackRoute="1" name="" /> + <arc begin="352" end="353" isPushBackRoute="1" name="" /> + <arc begin="353" end="352" isPushBackRoute="1" name="" /> + <arc begin="354" end="355" isPushBackRoute="1" name="" /> + <arc begin="355" end="354" isPushBackRoute="1" name="" /> + <arc begin="356" end="357" isPushBackRoute="1" name="" /> + <arc begin="357" end="356" isPushBackRoute="1" name="" /> + <arc begin="358" end="359" isPushBackRoute="0" name="" /> + <arc begin="359" end="358" isPushBackRoute="0" name="" /> + <arc begin="358" end="364" isPushBackRoute="0" name="" /> + <arc begin="364" end="358" isPushBackRoute="0" name="" /> + <arc begin="358" end="370" isPushBackRoute="1" name="" /> + <arc begin="370" end="358" isPushBackRoute="1" name="" /> + <arc begin="359" end="360" isPushBackRoute="0" name="" /> + <arc begin="360" end="359" isPushBackRoute="0" name="" /> + <arc begin="359" end="368" isPushBackRoute="1" name="" /> + <arc begin="368" end="359" isPushBackRoute="1" name="" /> + <arc begin="360" end="361" isPushBackRoute="0" name="" /> + <arc begin="361" end="360" isPushBackRoute="0" name="" /> + <arc begin="360" end="366" isPushBackRoute="1" name="" /> + <arc begin="366" end="360" isPushBackRoute="1" name="" /> + <arc begin="361" end="362" isPushBackRoute="1" name="" /> + <arc begin="362" end="361" isPushBackRoute="1" name="" /> + <arc begin="362" end="363" isPushBackRoute="1" name="" /> + <arc begin="363" end="362" isPushBackRoute="1" name="" /> + <arc begin="363" end="365" isPushBackRoute="1" name="" /> + <arc begin="365" end="363" isPushBackRoute="1" name="" /> + <arc begin="366" end="367" isPushBackRoute="1" name="" /> + <arc begin="367" end="366" isPushBackRoute="1" name="" /> + <arc begin="368" end="369" isPushBackRoute="1" name="" /> + <arc begin="369" end="368" isPushBackRoute="1" name="" /> + <arc begin="370" end="371" isPushBackRoute="1" name="" /> + <arc begin="371" end="370" isPushBackRoute="1" name="" /> + <arc begin="372" end="377" isPushBackRoute="0" name="" /> + <arc begin="377" end="372" isPushBackRoute="0" name="" /> + <arc begin="373" end="374" isPushBackRoute="0" name="Route" /> + <arc begin="374" end="373" isPushBackRoute="0" name="Route" /> + <arc begin="373" end="376" isPushBackRoute="0" name="Route" /> + <arc begin="376" end="373" isPushBackRoute="0" name="Route" /> + <arc begin="375" end="377" isPushBackRoute="0" name="" /> + <arc begin="377" end="375" isPushBackRoute="0" name="" /> + <arc begin="378" end="379" isPushBackRoute="0" name="" /> + <arc begin="379" end="378" isPushBackRoute="0" name="" /> + <arc begin="379" end="380" isPushBackRoute="0" name="" /> + <arc begin="380" end="379" isPushBackRoute="0" name="" /> + <arc begin="380" end="381" isPushBackRoute="0" name="" /> + <arc begin="381" end="380" isPushBackRoute="0" name="" /> + <arc begin="381" end="382" isPushBackRoute="0" name="" /> + <arc begin="382" end="381" isPushBackRoute="0" name="" /> + <arc begin="382" end="383" isPushBackRoute="0" name="" /> + <arc begin="383" end="382" isPushBackRoute="0" name="" /> + <arc begin="383" end="384" isPushBackRoute="0" name="" /> + <arc begin="384" end="383" isPushBackRoute="0" name="" /> + <arc begin="385" end="386" isPushBackRoute="0" name="" /> + <arc begin="386" end="385" isPushBackRoute="0" name="" /> + <arc begin="386" end="387" isPushBackRoute="0" name="" /> + <arc begin="387" end="386" isPushBackRoute="0" name="" /> + <arc begin="387" end="388" isPushBackRoute="0" name="" /> + <arc begin="388" end="387" isPushBackRoute="0" name="" /> + <arc begin="389" end="390" isPushBackRoute="0" name="Route" /> + <arc begin="390" end="389" isPushBackRoute="0" name="Route" /> + <arc begin="391" end="392" isPushBackRoute="0" name="Route" /> + <arc begin="392" end="391" isPushBackRoute="0" name="Route" /> + <arc begin="396" end="251" isPushBackRoute="1" name="" /> + <arc begin="251" end="396" isPushBackRoute="1" name="" /> + <arc begin="396" end="397" isPushBackRoute="1" name="" /> + <arc begin="397" end="396" isPushBackRoute="1" name="" /> + <arc begin="294" end="398" isPushBackRoute="1" name="" /> + <arc begin="398" end="294" isPushBackRoute="1" name="" /> + <arc begin="399" end="253" isPushBackRoute="1" name="" /> + <arc begin="253" end="399" isPushBackRoute="1" name="" /> + <arc begin="399" end="400" isPushBackRoute="1" name="" /> + <arc begin="400" end="399" isPushBackRoute="1" name="" /> + <arc begin="124" end="401" isPushBackRoute="1" name="" /> + <arc begin="401" end="124" isPushBackRoute="1" name="" /> + </TaxiWaySegments> +</groundnet> diff --git a/test_suite/unit_tests/AI/test_traffic.cxx b/test_suite/unit_tests/AI/test_traffic.cxx index d5d8e6266..3c43f5dc2 100644 --- a/test_suite/unit_tests/AI/test_traffic.cxx +++ b/test_suite/unit_tests/AI/test_traffic.cxx @@ -17,6 +17,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" + #include "test_traffic.hxx" #include <cstring> @@ -26,6 +28,18 @@ #include "test_suite/FGTestApi/TestDataLogger.hxx" #include "test_suite/FGTestApi/testGlobals.hxx" +#include <AIModel/AIAircraft.hxx> +#include <AIModel/AIFlightPlan.hxx> +#include <AIModel/AIManager.hxx> +#include <AIModel/performancedb.hxx> +#include <Airports/airport.hxx> +#include <Airports/airportdynamicsmanager.hxx> +#include <Traffic/TrafficMgr.hxx> + +#include <ATC/atc_mgr.hxx> + +#include <Main/globals.hxx> + ///////////////////////////////////////////////////////////////////////////// // Set up function for each test. @@ -33,6 +47,27 @@ void TrafficTests::setUp() { FGTestApi::setUp::initTestGlobals("Traffic"); FGTestApi::setUp::initNavDataCache(); + + + auto props = globals->get_props(); + props->setBoolValue("sim/ai/enabled", true); + props->setBoolValue("sim/signals/fdm-initialized", false); + + + // ensure EDDF has a valid ground net for parking testing + FGAirport::clearAirportsCache(); + FGAirportRef egph = FGAirport::getByIdent("EGPH"); + egph->testSuiteInjectGroundnetXML(SGPath::fromUtf8(FG_TEST_SUITE_DATA) / "EGPH.groundnet.xml"); + + + globals->add_new_subsystem<PerformanceDB>(); + globals->add_new_subsystem<FGATCManager>(); + globals->add_new_subsystem<FGAIManager>(); + globals->add_new_subsystem<flightgear::AirportDynamicsManager>(); + + globals->get_subsystem_mgr()->bind(); + globals->get_subsystem_mgr()->init(); + globals->get_subsystem_mgr()->postinit(); } // Clean up after each test. @@ -41,6 +76,61 @@ void TrafficTests::tearDown() FGTestApi::tearDown::shutdownTestGlobals(); } -void TrafficTests::testBasic() +void TrafficTests::testPushback() { + FGAirportRef egph = FGAirport::getByIdent("EGPH"); + FGAirportRef lfbd = FGAirport::getByIdent("LFBD"); + + FGAISchedule* schedule = new FGAISchedule; + + FGAIAircraft* aiAircraft = new FGAIAircraft{schedule}; + + // TODO: select a parking stand? or ... + const SGGeod position = egph->geod(); + + aiAircraft->setPerformance("jet_transport", ""); + aiAircraft->setCompany("KLM"); + aiAircraft->setAcType("B737"); + // aiAircraft->setPath(modelPath.c_str()); + //aircraft->setFlightPlan(flightPlanName); + aiAircraft->setLatitude(position.getLatitudeDeg()); + aiAircraft->setLongitude(position.getLongitudeDeg()); + //aiAircraft->setAltitude(flight->getCruiseAlt()*100); // convert from FL to feet + aiAircraft->setSpeed(0); + aiAircraft->setBank(0); + + const string flightPlanName = egph->getId() + "-" + lfbd->getId() + ".xml"; + + const int radius = 18.0; + const int cruiseAltFt = 32000; + const int cruiseSpeedKnots = 285; + + const double crs = SGGeodesy::courseDeg(egph->geod(), lfbd->geod()); // direct course + time_t departureTime; + time(&departureTime); // now + + std::unique_ptr<FGAIFlightPlan> fp(new FGAIFlightPlan(aiAircraft, + flightPlanName, crs, departureTime, + egph, lfbd, true, radius, + cruiseAltFt, // cruise alt + position.getLatitudeDeg(), + position.getLongitudeDeg(), + cruiseSpeedKnots, "gate", + aiAircraft->getAcType(), + aiAircraft->getCompany())); + + if (fp->isValidPlan()) { + aiAircraft->FGAIBase::setFlightPlan(std::move(fp)); + globals->get_subsystem<FGAIManager>()->attach(aiAircraft); + } +} + +void TrafficTests::testTrafficManager() +{ + auto tfc = globals->add_new_subsystem<FGTrafficManager>(); + + // specify traffic files to read + + tfc->bind(); + tfc->init(); } diff --git a/test_suite/unit_tests/AI/test_traffic.hxx b/test_suite/unit_tests/AI/test_traffic.hxx index 8d9aa8902..3e7f5e4b5 100644 --- a/test_suite/unit_tests/AI/test_traffic.hxx +++ b/test_suite/unit_tests/AI/test_traffic.hxx @@ -33,7 +33,8 @@ class TrafficTests : public CppUnit::TestFixture { // Set up the test suite. CPPUNIT_TEST_SUITE(TrafficTests); - CPPUNIT_TEST(testBasic); + CPPUNIT_TEST(testTrafficManager); + CPPUNIT_TEST(testPushback); CPPUNIT_TEST_SUITE_END(); @@ -45,5 +46,6 @@ public: void tearDown(); // The tests. - void testBasic(); + void testTrafficManager(); + void testPushback(); };