PageSourceSearch

https://cdn.centreforaviation.com/client/41356452a5ea4475244a.js

js centreforaviation.com collected 2026-09-24 17:15:32 UTC 58,881 bytes, 1 lines download raw bytes

1(self.webpackChunkcapa_frontend=self.webpackChunkcapa_frontend||[]).push([[4158],{95300:function(e,t,r){"use strict";var n,i,a,o=r(25602),s=r(66413),l=r(31518),d=r(74302),u=r.n(d),c=r(4496),p=r.n(c);function h(e,t,r,n){a||(a="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=n;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&i)for(var d in i)void 0===t[d]&&(t[d]=i[d]);else t||(t=i||{});return{$$typeof:a,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function f(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}function g(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class y extends o.Component{constructor(e){var t,r={};super(e),t=this,g(this,"submit",function(e){f(this,r),e&&e.preventDefault(),t._form&&t._form.submit()}.bind(r))}render(){var e=this;const{filename:t,data:r}=this.props;let a;const d=[p().csv];if(this.props.className&&d.push(this.props.className),this.props.isTrial)return n||(n=h("div",{}));if(this.props.source)return h("div",{className:d.join(" ")},void 0,h("input",{type:"image",src:l.A,height:"32",width:"32",title:"Download as Excel spreadsheet",onClick:this.props.source}));{this.props.children||(a=i||(i=h("input",{type:"image",src:l.A,height:"32",width:"32",title:"Download as CSV spreadsheet"})));const n=o.createElement("form",{ref:function(t){return f(this,e),this._form=t}.bind(this),className:d.join(" "),encType:"application/x-www-form-urlencoded",method:"post",action:s.y0+"/export/csv"},h("input",{type:"hidden",name:"filename",value:t}),h("input",{type:"hidden",name:"data",value:JSON.stringify(r)}),a);return this.props.children?h("div",{},void 0,n,o.cloneElement(this.props.children,{makeCSV:this.submit})):n}}}t.A=u()(p())(y)},78300:function(e,t,r){"use strict";var n,i,a,o,s=r(25602),l=r(20766),d=r(74302),u=r.n(d),c=r(36848),p=r.n(c);function h(e,t,r,n){o||(o="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,a=arguments.length-3;if(t||0===a||(t={children:void 0}),1===a)t.children=n;else if(a>1){for(var s=Array(a),l=0;l<a;l++)s[l]=arguments[l+3];t.children=s}if(t&&i)for(var d in i)void 0===t[d]&&(t[d]=i[d]);else t||(t=i||{});return{$$typeof:o,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}class f extends s.Component{render(){return h(l.A,{onClick:this.props.onClick},void 0,h("div",{className:p().cargoHelp},void 0,h("a",{className:p().modalClose,onClick:this.cancel},void 0,"×"),n||(n=h("h1",{},void 0,"Cargo Capacity Estimation")),i||(i=h("p",{},void 0,"CAPA uses the following assumptions to estimate overall cargo capacity.")),a||(a=h("ol",{},void 0,h("li",{},void 0,"A quick-change aircraft with little or no standard passenger capacity (<20) has no payload capacity."),h("li",{},void 0,"Narrowbody Jet, Regional Jet or Turboprop passenger aircraft use the belly payload, minus the cargo space required for each passenger (assuming 22.545kg required for each person)."),h("li",{},void 0,"Widebody Jet passenger aircraft use the belly payload, minus the cargo space required for each passenger (assuming 30.06kg required for each person)."),h("li",{},void 0,"Passenger aircraft not already covered use the belly payload, minus the cargo space required for each passenger (assuming 30.06kg required for each person, calculated separately by seat class, rounding up)."),h("li",{},void 0,"Regional Jet or Turboprop combination aircraft use the combination of the belly payload and the deck volume, minus the cargo space required for each passenger (assuming 22.545kg required for each person)."),h("li",{},void 0,"Other combination aircraft use the combination of the belly payload and the deck volume, minus the cargo space required for each passenger (assuming 30.06kg required for each person)."),h("li",{},void 0,"If the aircraft is not a Freighter, then the payload is calculated from the aircraft type's total payload minus the cargo space required for each passenger (assuming 80kg required for each person)."),h("li",{},void 0,"All other aircraft use the aircraft type's total payload without modification."),h("li",{},void 0,"Any final values that are less than zero are updated to zero.")))))}}t.A=u()(p())(f)},4158:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return xe}});
1var n,i,a=r(25602),o=r(92517),s=r(89754),l=r(1822),d=r(12734),u=r(8207),c=r(56243),p=r(41003),h=r(92369),f=r(65290),g=r(61829),y=r(7581),b=r(18911),v=r(86832),m=r(74302),w=r.n(m),k=r(77358),C=r.n(k),A=r(152),N=r(27192),D=r(95300),M=r(7391),x=r(47546);function _(e,t,r,n){i||(i="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var a=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=n;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&a)for(var d in a)void 0===t[d]&&(t[d]=a[d]);else t||(t=a||{});return{$$typeof:i,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function q(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}function E(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class W extends a.Component{constructor(e){var t,r={},n={},i={};super(e),t=this,E(this,"buildGraphData",function(){q(this,r);const{routechanges:e}=t.props,n={},i={};e.forEach(function(e){n[e.id]||(n[e.id]={name:e.name,weeks:{}});let t=n[e.id].weeks;e.routes.forEach(function(e){e.weeks.forEach(function(e,r){t[e.week]||(t[e.week]=""),r>0&&(i[e.week]||(i[e.week]={id:e.week,name:(0,o.GP)((0,p.D5)(e.week),"dd-MMM-yyyy")}),t[e.week]||(t[e.week]={change:0,current:0}),t[e.week].current+=e.frequency.new,(e.hasFlight||e.frequency.new!=e.frequency.old)&&(t[e.week].change+=e.frequency.new-e.frequency.old))})})});const a=[],s=[];for(const e in i)a.push(i[e].id),s.push(i[e].name);const l=[];for(const e in n){let t={name:n[e].name,data:[]},r=!1;if(a.forEach(function(i){n[e].weeks[i]&&(t.data.push({y:n[e].weeks[i].change,percentage:0,current:n[e].weeks[i].current,currentpercentage:0}),n[e].weeks[i].change&&0!=n[e].weeks[i].change&&(r=!0))}),1==r){for(const e in t.data)if(e>0){let r=t.data[e-1],n=t.data[e];t.data[e].percentage=0!=r.y?(n.y-r.y)/Math.abs(r.y)*100:0,t.data[e].currentpercentage=0!=n.current?(n.current-r.current)/Math.abs(r.current)*100:0}l.push(t)}}return{categories:s,series:l}}.bind(r)),E(this,"setDisplayOptions",function(){q(this,n);const e=t.buildGraphData();return{graph:{chart:{type:"line"},xAxis:{title:{text:"Week"},categories:e.categories},yAxis:{title:{text:"Route Change (frequency)"}},plotOptions:{line:{connectNulls:!1}},tooltip:{formatter:function(){let e="0",t="0",r="";return r+="<strong>"+this.series.name+":</strong> "+this.key+"<br/>",0!=this.point.options.currentpercentage&&(t=(0,A.ZV)(this.point.options.currentpercentage)),r+="Frequency: "+(0,A.ZV)(this.point.options.current,{useGrouping:!0})+" flights ("+t+"% W-o-W change)<br/>",0!=this.point.options.percentage&&(e=(0,A.ZV)(this.point.options.percentage)),r+="Route Change: "+(this.y>=0?"+":"")+(0,A.ZV)(this.y,{useGrouping:!0})+" flights ("+e+"% W-o-W change)",r},followPointer:!0},legend:{enabled:!0},lang:{noData:"Select different country, airline, route and/or date options"},series:e.series},csv:t.buildCSVData(e)}}.bind(n)),E(this,"buildCSVData",function(e){q(this,i);const{csvHeader:r}=t.props;if(!e.series)return[];const n=[["Airline"].concat(e.categories)],a=[];e.series.forEach(function(e){const t=[e.name];e.data.forEach(function(e){t.push(e)}),a.push(t)}),a.push([""]),r.forEach(function(e){a.push([e])});return n.concat(a)}.bind(i)),this.setField=x.x.bind(this)}componentDidMount(){this.buildGraphData()}componentDidUpdate(e,t){const r=this.props;e.routechanges.length!=r.routechanges.length&&this.buildGraphData()}render(){const{countryname:e,countrytype:t,rangetype:r,datestart:i,dateend:a}=this.props,o=this.setDisplayOptions(),s=_("div",{},void 0,"Route changes for"," ","airline"==t?"airlines based in":"routes departing from"," ",e," ","weekly"==r?"for the weeks within":"between the weeks starting"," ",i," and ",a),l=n||(n=_(M.Md,{}));return _(D.A,{filename:"Airline Route Changes",data:o.csv},void 0,_(N.A,{config:o.graph,watermark:["capa","oag"],className:"graph",header:s,footer:l,isTrial:this.props.isTrial}))}}var T,L,S=(0,h.Ng)(function(e){return{loading:e.loading,profiles:e.data.profiles[2]||{}}})(W),F=r(4429),P=r(39856);function O(e,t,r,n){L||(L="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,a=arguments.length-3;if(t||0===a||(t={children:void 0}),1===a)t.children=n;else if(a>1){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+3];t.children=o}if(t&&i)for(var l in i)void 0===t[l]&&(t[l]=i[l]);else t||(t=i||{});return{$$typeof:L,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function j(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class R extends a.Component{constructor(e){var t,r={};super(e),t=this,j(this,"buildTableData",function(){!function(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}(this,r);const{csvHeader:e,rangetype:n,routechanges:i,aircraftid:a,datestart:s,dateend:l,ordercolumn:d}=t.props,u=[],c=[];"comp"==n?c.push(["Airline","Aircraft Deployed","Departing Airport","Arrival Airport","Frequency of Week Starting "+s,"Frequency of Week Starting "+l,"Frequency Change"]):c.push(["Airline","Aircraft Deployed","Departing Airport","Arrival Airport","Week Starting","Date of change","Previous Week's Frequency","Current Week's Frequency","Frequency Change"]),i.forEac
1h(function(e){e.aircraft.forEach(function(t){a&&0!=a&&t.id!=a||t.routes.forEach(function(r){if("comp"==n){let n=r.weeks[0].frequency.new,i=r.weeks[r.weeks.length-1].frequency.new;n-i!=0&&u.push({airline:e.name,airlineURL:e.url,aircraft:t.name,departureAirport:r.dep.name,depURL:r.dep.url,arrivalAirport:r.arr.name,arrURL:r.arr.url,prevFreq:n,curFreq:i,freqChange:i-n,change:r.weeks[r.weeks.length-1].change})}else r.weeks.forEach(function(n,i){n.frequency.new-n.frequency.old!=0&&i>0&&u.push({airline:e.name,airlineURL:e.url,aircraft:t.name,departureAirport:r.dep.name,depURL:r.dep.url,arrivalAirport:r.arr.name,arrURL:r.arr.url,curWeek:n.week,prevFreq:n.frequency.old,curFreq:n.frequency.new,freqChange:n.frequency.new-n.frequency.old,change:n.change||n.week})})})})}),u.sort(function(e,t){switch(d){case"dep":if(e.departureAirport.toLowerCase()>t.departureAirport.toLowerCase())return 1;if(e.departureAirport.toLowerCase()<t.departureAirport.toLowerCase())return-1;break;case"arr":if(e.arrivalAirport.toLowerCase()>t.arrivalAirport.toLowerCase())return 1;if(e.arrivalAirport.toLowerCase()<t.arrivalAirport.toLowerCase())return-1;break;case"week":if(e.curWeek>t.curWeek)return 1;if(e.curWeek<t.curWeek)return-1;break;case"start":if(e.prevFreq>t.prevFreq)return 1;if(e.prevFreq<t.prevFreq)return-1;break;case"stop":if(e.curFreq>t.curFreq)return 1;if(e.curFreq<t.curFreq)return-1;break;case"change":if(e.freqChange>t.freqChange)return 1;if(e.freqChange<t.freqChange)return-1;break;case"changedate":if(e.change>t.change)return 1;if(e.change<t.change)return-1;break;default:if(e.airline.toLowerCase()>t.airline.toLowerCase())return 1;if(e.airline.toLowerCase()<t.airline.toLowerCase())return-1}return 0});const h=u.map(function(e){let t=[];t.push(e.airline,e.aircraft,e.departureAirport,e.arrivalAirport),"weekly"==n&&t.push(e.curWeek,e.change),t.push(e.prevFreq,e.curFreq,e.freqChange),c.push(t);const r=[{data:O(F.A,{to:e.airlineURL},void 0,e.airline)},{data:e.aircraft},{data:O(F.A,{to:e.depURL},void 0,e.departureAirport)},{data:O(F.A,{to:e.arrURL},void 0,e.arrivalAirport)}];return"weekly"==n&&(r.push({data:(0,o.GP)((0,p.D5)(e.curWeek),"dd-MMM-yyyy"),className:C().noBreak}),r.push({data:(0,o.GP)((0,p.D5)(e.change),"dd-MMM-yyyy"),className:C().noBreak})),r.push({className:"number",data:e.prevFreq}),r.push({className:"number",data:e.curFreq}),r.push({className:"number "+(0!=e.freqChange?e.freqChange>0?C().positive:C().negative:""),data:e.freqChange}),{data:r}}),f=[{data:"Airline"},{data:"Aircraft Deployed"},{data:"Departing Airport"},{data:"Arrival Airport"}];"comp"==n?(f.push({className:"number",data:"Frequency of Week Starting "+s}),f.push({className:"number",data:"Frequency of Week Starting "+l})):(f.push({data:"Week Starting"}),f.push({data:"Change Commencing"}),f.push({className:"number",data:"Previous Week's Frequency"}),f.push({className:"number",data:"Current Week's Frequency"})),f.push({className:"number",data:"Frequency Change"});const g={head:[{data:f}],body:h};return c.push([""]),e.forEach(function(e){c.push([e])}),{table:g,csv:c}}.bind(r)),this.setField=x.x.bind(this)}render(){const{countrytype:e,countryname:t,rangetype:r,datestart:n,dateend:i}=this.props;let{table:a,csv:o}=this.buildTableData();a.body.length||(a.body=[{data:[{data:"No route changes found.",className:C().noBreak}]}]);const s=T||(T=O(M.Md,{})),l=O("div",{},void 0,O(D.A,{className:"csv",filename:"Airline Route Changes",data:o,isTrial:this.props.isTrial}),O("div",{},void 0,"Route changes for"," ","airline"==e?"airlines based in":"routes departing from"," ",t," ","weekly"==r?"for the weeks within":"between the weeks starting"," ",n," and ",i));return O(P.A,{header:l,footer:s,table:a,results:100})}}var Y,G,Z,z=w()(C())(R),I=r(112),X=r(67349),H=r(78696),V=r.n(H),B=void 0;function U(){return U=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},U.apply(null,arguments)}function K(e,t,r,n){Z||(Z="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,a=arguments.length-3;if(t||0===a||(t={children:void 0}),1===a)t.children=n;else if(a>1){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+3];t.children=o}if(t&&i)for(var l in i)void 0===t[l]&&(t[l]=i[l]);else t||(t=i||{});return{$$typeof:Z,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function J(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}const Q=function(e){return J(this,B),e>0?V().green:e<0?V().red:null}.bind(void 0),$=function(e){return J(this,B),e>0?C().positive:e<0?C().negative:""}.bind(void 0),ee=function(e,t){var r=this;return J(this,B),e.length?{prevFreq:e[0].prevFreq,curFreq:e[e.length-1].curFreq,freqChange:e.reduce(function(e,t){return J(this,r),e+t.freqChange}.bind(this),0)}:{prevFreq:t.prevFreq,curFreq:t.curFreq,freqChange:t.freqChange}}.bind(void 0),te=function(e){var t=this;return J(this,B),e.map(function(e){var r=this;J(this,t);const n=e.airlines.map(function(e){var t=this;J(this,r);const n=(e.weeklyChanges||[]).map(function(e){return J(this,t),{...e,changeClassName:$(e.freqChange)}}.bind(this)),i=ee(n,e);return{...e,...i,flight:e.flight||null,changeClassName:$(i.freqChange),weeklyChanges:n}}.bind(this)),i=n.reduce(function(e,t){return J(this,r),e+t.freqChange}.bind(this),0);return{...e,strokeColor:Q(i),airlines:n,types:e.types||[]}}.bind(this))}.bind(void 0);class re extends a.Component{render(){const{routes:e,countrytype:t,countryname:r,rangetype:n,datestart:i,dateend:o}=this.props;if(!e)return Y||(Y=K(I.A,{text:"Loading map"}));if(!e.length)return null;const s=K("div",{},void 0,"Route changes for"," ","airline"==t?"airlines based in":"routes departing from"," ",r," ","weekly"==n?"for the weeks within":"between the weeks starting"," ",i," and ",o),l=te(e),d=G||(G=K(M.Md,{}));return a.createElement(X.p,U({},this.props,{routes:l,header:s,footer:d}))}}var ne,ie,ae,oe,se,le,de,ue,ce,pe,he,fe,ge,ye,be=w()(V(),C())((0,h.Ng)(b.A)(re)),ve=r(96155),me=void 0;function we(e,t,r,n){ye||(ye="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,a=arguments.length-3;if(t||0===a||(t={children:void 0}),1===a)t.children=n;else if(a>1){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+3];t.children=o}if(t&&i)for(var l in i)void 0===t[l]&&(t[l]=i[l]);else t||(t=i||{});return{$$typeof:ye,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function ke(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ce(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}const Ae={countrytype:"airline",country:0,aircraftid:0,depid:0,arrid:0,airline:0,rangetype:"weekly",ordercolumn:"airline",outputtype:"table",datestart:(0,o.GP)((0,s.b)(new Date),"dd-MMM-yyyy"),dateend:(0,o.GP)((0,l.f)((0,s.b)(new Date),21),"dd-MMM-yyyy")},Ne=function(e,t){Ce(this,me);const r=e.weeks||[];if(!r.length)return{prevFreq:0,curFreq:0,freqChange:0};const n=r[0],i=r[r.length-1],a="comp"==t?n.frequency.new:n.frequency.old,o=i.frequency.new;return{prevFreq:a,curFreq:o,freqChange:o-a}}.bind(void 0),De=function(e){var t=this;Ce(this,me);const r=e.weeks||[],n={};return r.forEach(function(e,r){Ce(this,t);const i=e.frequency.new-e.frequency.old;r<1||0==i||(n[e.week]||(n[e.week]={week:e.week,change:e.change||e.week,prevFreq:0,curFreq:0,freqChange:0}),n[e.week].prevFreq+=e.frequency.old,n[e.week].curFreq+=e.frequency.new,n[e.week].freqChange+=i)}.bind(this)),n}.bind(void 0);class Me extends a.Component{constructor(e){var t,r={},n={},i={},a={},c={},h={},b={},v={},m={},w={},k={},C={},A={},N={},D={},M={},x={},_={},q={},E={},W={},T={},L={};super(e),t=this,ke(this,"getCountries",function(){var e=this;Ce(this,r);const{dispatch:n,countrytype:i,country:a,setPersistent:o,settingKey:s}=t.props;let l="route-changes-countries";s&&(l+="-"+s),n((0,f.vL)(l,"Loading countries and territories")),(0,y.Jt)({loadID:l,url:"/site/cities"}).then(function(r){Ce(this,e),r.data&&(t.setState({countries:r.data}),o({country:a||r.data[0].id}),t.getDepAirports(a||r.data[0].id,i),t.getAirlines(a||r.data[0].id,i)
1),n((0,f.xv)(l))}.bind(this))}.bind(r)),ke(this,"getDepAirports",function(e,r,i=0,a=0){var o=this;Ce(this,n);const{dispatch:s,datestart:l,dateend:d,rangetype:u,outputtype:c,country:p,depid:h,settingKey:g}=t.props,{initialload:b}=t.state;let v="route-changes-departures";g&&(v+="-"+g),s((0,f.vL)(v,"Loading origin airports")),(0,y.Jt)({loadID:v,url:"/data/changes/airports",data:{countrytype:r,country:e,airporttype:"dep",rangetype:"graph"==c?"weekly":u,datestart:i||l,dateend:a||d}}).then(function(e){Ce(this,o),s((0,f.xv)(v)),e.data&&(t.setState({depairports:e.data}),1==b&&t.getArrAirports(p,h||0))}.bind(this))}.bind(n)),ke(this,"getArrAirports",function(e,r,n=0,a=0){var o=this;Ce(this,i);const{dispatch:s,countrytype:l,datestart:d,dateend:u,rangetype:c,outputtype:p,settingKey:h}=t.props;let g="route-changes-arrivals";h&&(g+="-"+h),s((0,f.vL)(g,"Loading arrival airports")),(0,y.Jt)({loadID:g,url:"/data/changes/airports",data:{countrytype:l,country:e,depid:r,airporttype:"arr",rangetype:"graph"==p?"weekly":c,datestart:n||d,dateend:a||u}}).then(function(e){Ce(this,o),s((0,f.xv)(g)),e.data&&t.setState({arrairports:e.data}),t.buildArrAirportOption()}.bind(this))}.bind(i)),ke(this,"getAirlines",function(e,r,n=0,i=0){var o=this;Ce(this,a);const{dispatch:s,datestart:l,dateend:d,rangetype:u,outputtype:c,settingKey:p}=t.props;let h="route-changes-airlines";p&&(h+="-"+p),s((0,f.vL)(h,"Loading airlines")),(0,y.Jt)({loadID:h,url:"/data/changes/airlines",data:{countrytype:r,country:e,rangetype:"graph"==c?"weekly":u,datestart:n||l,dateend:i||d}}).then(function(e){Ce(this,o),s((0,f.xv)(h)),e.data&&t.setState({airlines:e.data})}.bind(this))}.bind(a)),ke(this,"getChanges",function(){var e=this;Ce(this,c);const{dispatch:r,countrytype:n,country:i,arrid:a,depid:o,airline:s,rangetype:l,outputtype:d,datestart:u,dateend:p,settingKey:h}=t.props;let g="route-changes";h&&(g+="-"+h),r((0,f.vL)(g,"Loading route changes")),(0,y.Jt)({loadID:g,url:"/data/changes",data:{countrytype:n,rangetype:"graph"==d?"weekly":l,country:i,depid:o,arrid:a,airline:s,datestart:u,dateend:p}}).then(function(n){Ce(this,e),r((0,f.xv)(g)),t.setState({routechanges:n.data,initialload:!1})}.bind(this))}.bind(c)),ke(this,"buildCountryOption",function(){Ce(this,h);const{countries:e}=t.state;e.sort(function(e,t){return e.name>t.name?1:e.name<t.name?-1:0});return e.map(function(e,t){return we("option",{value:e.id},"coun-"+e.id,e.name)})}.bind(h)),ke(this,"buildDepAirportOption",function(){Ce(this,b);const{depairports:e}=t.state;if(!e.length)return ne||(ne=we("option",{},void 0,"[select a country/territory]"));const r=e.map(function(e,t){return we("option",{value:e.id},"dep-air-"+e.id,e.name)});return r.unshift(ie||(ie=we("option",{value:"0"},"dep-air-0","all departure airports"))),r}.bind(b)),ke(this,"buildArrAirportOption",function(){Ce(this,v);const{arrairports:e}=t.state;if(!e.length)return ae||(ae=we("option",{},void 0,"all arrival airports"));const r=e.map(function(e,t){return we("option",{value:e.id},"arr-air-"+e.id,e.name)});return r.unshift(oe||(oe=we("option",{value:"0"},"arr-air-0","all arrival airports"))),r}.bind(v)),ke(this,"buildAirlinesOption",function(){Ce(this,m);const{airlines:e}=t.state;let r=e;r.sort(function(e,t){return e.name>t.name?1:e.name<t.name?-1:0});const n=r.map(function(e,t){return we("option",{value:e.id},"airline-"+e.id,e.name)});return n.unshift(se||(se=we("option",{value:"0"},"airline-0","all airlines"))),n}.bind(m)),ke(this,"buildAircraftOption",function(){Ce(this,w);const{arrid:e,depid:r,airline:n}=t.props,{routechanges:i}=t.state;let a={};i.forEach(function(t){n&&0!=n&&t.id!=n||t.aircraft.forEach(function(t){t.routes.forEach(function(n){r&&n.dep.id!=r||e&&n.arr.id!=e||(a[t.id]||(a[t.id]={id:t.id,name:t.name,routes:{}}),a[t.id].routes[n.dep.id+"-"+n.arr.id]||(a[t.id].routes[n.dep.id+"-"+n.arr.id]={}),n.weeks.forEach(function(e){a[t.id].routes[n.dep.id+"-"+n.arr.id][e.week]||(a[t.id].routes[n.dep.id+"-"+n.arr.id][e.week]={old:0,new:0}),a[t.id].routes[n.dep.id+"-"+n.arr.id][e.week].old+=e.frequency.old,a[t.id].routes[n.dep.id+"-"+n.arr.id][e.week].new+=e.frequency.new}))})})});const o=[];for(const e in a){let t=!1;for(const r in a[e].routes){let n=!0;for(const i in a[e].routes[r])0==n&&a[e].routes[r][i].old!=a[e].routes[r][i].new&&(t=!0),n=!1}1==t&&o.push(a[e])}o.sort(function(e,t){return e.name>t.name?1:e.name<t.name?-1:0});const s=o.map(function(e,t){return we("option",{value:e.id},"aircraft-"+e.id,e.name)});return s.unshift(le||(le=we("option",{value:"0"},"aircraft-0","all aircraft"))),s}.bind(w)),ke(this,"buildOrderOptions",function(){Ce(this,k);const{rangetype:e}=t.props,r=[];r.push({id:"airline",name:"airline"},{id:"dep",name:"departing airport"},{id:"arr",name:"arrival airport"}),"weekly"==e&&r.push({id:"week",name:"week starting"}),r.push({id:"start",name:"weekly"==e?"previous week's frequency":"selected start frequency"},{id:"stop",name:"weekly"==e?"current week's frequency":"selected finish frequency"},{id:"change",name:"frequency change"},{id:"changedate",name:"date of change"});return r.map(function(e){return we("option",{value:e.id},"order-"+e.id,e.name)})}.bind(k)),ke(this,"setValue",function(e){var r=this;return Ce(this,C),function(n){Ce(this,r),t.setState({[e]:n||{}})}.bind(this)}.bind(C)),ke(this,"updateDateRanges",function(e=0,r=0){Ce(this,A),t.getDepAirports(t.props.country,t.props.countrytype,e,r),t.getArrAirports(t.props.country,t.props.depid,e,r),t.getAirlines(t.props.country,t.props.countrytype,e,r)}.bind(A)),ke(this,"onChangeCountry",function(e){Ce(this,N);const{setPersistent:r,countrytype:n}=t.props,i=e.target.value,a=e.target.id;r({[a]:i}),r({depid:0,arrid:0,airline:0}),t.getDepAirports(i,n),t.getAirlines(i,n)}.bind(N)),ke(this,"onChangeCountryType",function(e){Ce(this,D);const{setPersistent:r,country:n}=t.props,i=e.target.value,a=e.target.id;r({[a]:i}),t.getDepAirports(n,i),t.getAirlines(n,i)}.bind(D)),ke(this,"onChangeDeparture",function(e){Ce(this,M);const{setPersistent:r}=t.props,n=e.target.value,i=e.target.id;r({[i]:n}
1),t.getArrAirports(t.props.country,n)}.bind(M)),ke(this,"setStartDate",function(e){Ce(this,x);const{dateend:r,setPersistent:n,rangetype:i}=t.props;n({datestart:(0,o.GP)(e,"dd-MMM-yyyy")},t.updateDateRanges((0,o.GP)(e,"dd-MMM-yyyy"))),((0,p.D5)(r,"dd-MMM-yyyy")<e||"weekly"==i&&(0,p.D5)(r,"dd-MMM-yyyy")>=(0,l.f)(new Date(e),43))&&n({dateend:(0,o.GP)((0,s.b)((0,l.f)(new Date(e),43)),"dd-MMM-yyyy")},t.updateDateRanges((0,o.GP)(e,"dd-MMM-yyyy"),(0,o.GP)((0,s.b)((0,l.f)(new Date(e),43)),"dd-MMM-yyyy")))}.bind(x)),ke(this,"setEndDate",function(e){Ce(this,_);const{setPersistent:r}=t.props;r({dateend:(0,o.GP)(e,"dd-MMM-yyyy")},t.updateDateRanges(0,(0,o.GP)(e,"dd-MMM-yyyy")))}.bind(_)),ke(this,"validFromDate",function(e){Ce(this,q);const{daterangestart:r,daterangeend:n}=t.state;let i=1==(0,d.P)(e);return(e<=r||e>=n)&&(i=!1),i}.bind(q)),ke(this,"validToDate",function(e){Ce(this,E);const{datestart:r,rangetype:n}=t.props,{daterangeend:i}=t.state;let a=1==(0,d.P)(e);return(e<=(0,s.b)((0,p.D5)(r,"dd-MMM-yyyy"))||"weekly"==n&&e>=(0,l.f)((0,s.b)((0,p.D5)(r,"dd-MMM-yyyy")),43)||"comp"==n&&e>=i)&&(a=!1),a}.bind(E)),ke(this,"setOutputType",function(e){Ce(this,W);const r=e.target.value,{setPersistent:n,datestart:i,dateend:a}=t.props;n({outputtype:r}),"graph"==r&&(n({rangetype:"weekly"}),n({ordercolumn:"airline"}),(0,p.D5)(a,"dd-MMM-yyyy")>=(0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43)&&n({dateend:(0,s.b)((0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43))},t.updateDateRanges(0,(0,s.b)((0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43)))))}.bind(W)),ke(this,"setRangeType",function(e){Ce(this,T);const r=e.target.value,{setPersistent:n,datestart:i,dateend:a}=t.props;n({rangetype:r}),"weekly"==r&&(0,p.D5)(a,"dd-MMM-yyyy")>=(0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43)&&n({dateend:(0,s.b)((0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43))},t.updateDateRanges(0,(0,s.b)((0,l.f)((0,p.D5)(i,"dd-MMM-yyyy"),43))))}.bind(T)),ke(this,"buildChanges",function(){Ce(this,L);const{aircraftid:e,countrytype:r,rangetype:n,datestart:i,dateend:a,outputtype:o,ordercolumn:s}=t.props,{initialload:l,countryname:d,routechanges:u}=t.state;if(l)return"";{const l=(t.routeOptions?(0,g.A)(t.routeOptions):"").split("Show"),c=[];let h={};const f=[];if(l.forEach(function(e){e&&c.push("Showing "+e)}),"table"!=o){u.forEach(function(t){h[t.id]={id:t.id,name:t.name,url:t.url,routes:{}},t.aircraft.forEach(function(r){e&&0!=e&&r.id!=e||r.routes.forEach(function(e){h[t.id].routes[e.dep.id+"-"+e.arr.id]||(h[t.id].routes[e.dep.id+"-"+e.arr.id]={arr:e.arr,dep:e.dep,weeks:{}}),e.weeks.forEach(function(r){h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week]||(h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week]={change:r.change,frequency:{new:0,old:0},hasFlight:r.change,week:r.week}),h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week].frequency.old+=r.frequency.old,h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week].frequency.new+=r.frequency.new,(0,p.D5)(h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week].change,"yyyy-MM-dd")<(0,p.D5)(r.change,"yyyy-MM-dd")&&(h[t.id].routes[e.dep.id+"-"+e.arr.id].weeks[r.week].change=r.change)})})})});for(const e in h){for(const t in h[e].routes){let r=h[e].routes[t].weeks;const n=[];for(const e in r)n.push(r[e]);n.sort(function(e,t){return(0,p.D5)(e.change,"yyyy-MM-dd")<(0,p.D5)(t.change,"yyyy-MM-dd")?-1:(0,p.D5)(e.change,"yyyy-MM-dd")>(0,p.D5)(t.change,"yyyy-MM-dd")?1:0}),h[e].routes[t].weeks=n}let t=h[e].routes;const r=[];for(const e in t)r.push(t[e]);h[e].routes=r,f.push(h[e])}}if("table"==o)return we(z,{countrytype:r,rangetype:n,countryname:d,csvHeader:c,routechanges:u,aircraftid:e,datestart:i,dateend:a,ordercolumn:s,isTrial:t.props.isTrial});if("map"==o){let e={};const o=[];f.forEach(function(t){t.routes.forEach(function(r){const i=Ne(r,n),a="weekly"==n?De(r):{},o=e[r.dep.id+"-"+r.arr.id]?r.dep.id+"-"+r.arr.id:r.arr.id+"-"+r.dep.id;e[o]||(e[o]={airlines:{},arr:{id:r.arr.id,name:r.arr.name,url:r.arr.url,iata:r.arr.iata,location:r.arr.location},dep:{id:r.dep.id,name:r.dep.name,url:r.dep.url,iata:r.dep.iata,location:r.dep.location},prevFreq:0,curFreq:0,freqChange:0}),e[o].prevFreq+=i.prevFreq,e[o].curFreq+=i.curFreq,e[o].freqChange+=i.freqChange,e[o].airlines[t.id]||(e[o].airlines[t.id]={id:t.id,name:t.name,url:t.url,prevFreq:0,curFreq:0,freqChange:0,weeklyChanges:{}}
1),e[o].airlines[t.id].prevFreq+=i.prevFreq,e[o].airlines[t.id].curFreq+=i.curFreq,e[o].airlines[t.id].freqChange+=i.freqChange;for(const r in a)e[o].airlines[t.id].weeklyChanges[r]?(e[o].airlines[t.id].weeklyChanges[r].prevFreq+=a[r].prevFreq,e[o].airlines[t.id].weeklyChanges[r].curFreq+=a[r].curFreq,e[o].airlines[t.id].weeklyChanges[r].freqChange+=a[r].freqChange):e[o].airlines[t.id].weeklyChanges[r]={...a[r]}})});for(const t in e){let r=e[t];const n=[];for(const e in r.airlines)r.airlines[e].weeklyChanges=Object.values(r.airlines[e].weeklyChanges).sort(function(e,t){return(0,p.D5)(e.change,"yyyy-MM-dd")<(0,p.D5)(t.change,"yyyy-MM-dd")?-1:(0,p.D5)(e.change,"yyyy-MM-dd")>(0,p.D5)(t.change,"yyyy-MM-dd")?1:0}),n.push(r.airlines[e]);r.airlines=n,o.push(r)}return o.sort(function(e,t){return e.airlines.length>t.airlines.length?-1:e.airlines.length<t.airlines.length?1:0}),we(be,{countrytype:r,rangetype:n,countryname:d,routes:o,datestart:i,dateend:a,isTrial:t.props.isTrial})}return we(S,{countrytype:r,rangetype:n,countryname:d,csvHeader:c,routechanges:f,datestart:i,dateend:a,isTrial:t.props.isTrial})}}.bind(L)),this.state={initialload:!0,daterangestart:(0,u.e)((0,s.b)(new Date),8),daterangeend:(0,l.f)((0,s.b)(new Date),169),countries:[],depairports:[],arrairports:[],airlines:[],aircraftList:[],routechanges:[]},this.getCountries()}componentDidMount(){var e=this;const{dispatch:t,settingKey:r}=this.props;let n="route-changes-dates";r&&(n+="-"+r),t((0,f.vL)(n,"Loading date range")),(0,y.Jt)({loadID:n,url:"/data/changes/dates"}).then(function(r){Ce(this,e),t((0,f.xv)(n)),r.data&&this.setState({daterangestart:(0,c.W)((0,p.D5)(r.data.from)),daterangeend:(0,c.W)((0,p.D5)(r.data.to))})}.bind(this))}render(){var e=this;const{setField:t}=this.props,{routechanges:r}=this.state,n=this.buildChanges(),i=this.buildCountryOption(),o=this.buildDepAirportOption(),s=this.buildArrAirportOption(),l=this.buildAirlinesOption(),d=this.buildAircraftOption(),u=this.buildOrderOptions();let c;return r.length&&(c=we("div",{className:C().header},void 0,we("p",{},void 0,we("label",{},void 0,"Show flights flown using"," ",we("select",{value:this.props.aircraftid,onChange:t("aircraftid")},void 0,d))))),we("div",{},void 0,a.createElement("div",{ref:function(t){return Ce(this,e),this.routeOptions=t}.bind(this)},we("p",{},void 0,we("label",{},void 0,"Show changes for"," ",we("select",{id:"countrytype",value:this.props.countrytype,onChange:this.onChangeCountryType},void 0,de||(de=we("option",{value:"airline"},void 0,"airlines based in ")),ue||(ue=we("option",{value:"route"},void 0,"routes departing from"))))," ",we("label",{},void 0,we("select",{id:"country",value:this.props.country,onChange:this.onChangeCountry},void 0,i))),we("p",{},void 0,we("label",{},void 0,"Show flights departing from"," ",we("select",{id:"depid",value:this.props.depid,onChange:this.onChangeDeparture,disabled:!this.state.depairports.length},void 0,o))," ",we("label",{},void 0,"arriving at"," ",we("select",{value:this.props.arrid,onChange:t("arrid"),disabled:!this.state.arrairports.length},void 0,s))),we("p",{},void 0,we("label",{},void 0,"Show flights operated by"," ",we("select",{value:this.props.airline,onChange:t("airline")},void 0,l))),we("div",{},void 0,we("label",{},void 0,"Show"," ",we("select",{value:this.props.rangetype,onChange:this.setRangeType,disabled:"graph"==this.props.outputtype},void 0,ce||(ce=we("option",{value:"weekly"},void 0,"all weeks in date range")),pe||(pe=we("option",{value:"comp"},void 0,"comparison between weeks"))))," ",we("label",{},void 0,"as a"," ",we("select",{value:this.props.outputtype,onCh
1ange:this.setOutputType},void 0,he||(he=we("option",{value:"table"},void 0,"table")),fe||(fe=we("option",{value:"graph"},void 0,"graph")),ge||(ge=we("option",{value:"map"},void 0,"map"))))," ","from"," ",we("label",{},void 0,we(ve.A,{className:C().week,shouldCloseOnSelect:!0,filterDate:this.validFromDate,dateFormat:"dd-MMM-yyyy",selected:(0,p.D5)(this.props.datestart),onChange:this.setStartDate}))," ","to"," ",we("label",{},void 0,we(ve.A,{className:C().week,shouldCloseOnSelect:!0,filterDate:this.validToDate,dateFormat:"dd-MMM-yyyy",selected:(0,p.D5)(this.props.dateend),onChange:this.setEndDate}))," ",we("label",{},void 0,"ordered by"," ",we("select",{value:this.props.ordercolumn,onChange:t("ordercolumn"),disabled:"graph"==this.props.outputtype},void 0,u))),we("p",{className:C().submit},void 0,we("input",{type:"submit",value:"Search",className:C().button,onClick:this.getChanges}))),c,n)}}var xe=(0,v.A)(w()(C())((0,h.Ng)(b.A)(Me)),Ae)},27192:function(e,t,r){"use strict";var n,i,a=r(25602),o=r(72976),s=r(74302),l=r.n(s),d=r(93652),u=r.n(d),c=r(10626),p=r(4728);function h(e,t,r,n){i||(i="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var a=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=n;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&a)for(var d in a)void 0===t[d]&&(t[d]=a[d]);else t||(t=a||{});return{$$typeof:i,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function f(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}function g(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const y="Marketing assigns capacity to the airline whose code the flight is sold under. Operating assigns it to the airline flying the service, including wet-lease partners.";class b extends a.Component{constructor(e){var t,r={},n={};super(e),t=this,g(this,"toggleHelp",function(e){f(this,r),e.preventDefault(),t.setState({showHelp:!t.state.showHelp})}.bind(r)),g(this,"renderHelp",function(){let e;return f(this,n),t.state.showHelp&&(e=h("div",{className:u().helpContent},void 0,h("div",{},void 0,t.props.help))),h("div",{className:u().help},void 0,e,h("a",{onClick:t.toggleHelp,className:u().button},void 0,"More Info"))}.bind(n)),this.state={showHelp:!1}}render(){let e,t,r,i;const a=this.context;this.props.header&&(e=h("div",{className:u().header},void 0,h("div",{"data-export-role":"header"},void 0,this.props.header),a&&a.show&&h("div",{className:u().capacityAttribution,role:"radiogroup","aria-label":"Carrier grouping"},void 0,"Carrier grouping:"," ",h("label",{},void 0,h("input",{type:"radio",name:a.name,value:"marketing",checked:"marketing"===a.attribution,onChange:a.onChange}),"marketing")," ",h("label",{},void 0,h("input",{type:"radio",name:a.name,value:"operating",checked:"operating"===a.attribution,onChange:a.onChange}),"operating")," ",h("span",{className:u().capacityAttributionHelp,title:y,"aria-label":y,tabIndex:"0"},void 0,"?")))),this.props.footer&&(t=h("div",{"data-export-role":"footer",className:u().footer},void 0,this.props.footer)),this.props.note&&(i=h("div",{"data-export-role":"note",className:u().note},void 0,this.props.note));const s=h("div",{"data-export-role":"glossary",className:u().glossary},void 0,n||(n=h(c.jr,{})));this.props.help&&(r=this.renderHelp());const l=h(o.A,{hcRef:this.props.hcRef,onLoad:this.props.onLoad,watermark:this.props.watermark,exportable:!this.props.noExport,makeCSV:this.props.makeCSV,className:this.props.className,style:this.props.style,chartType:this.props.chartType,config:this.props.config,watermarks:this.props.watermark,isTrial:this.props.isTrial});return h("figure",{"data-exportable":"true",className:u().graph},void 0,e,l,r,t,i,s,h("div",{className:u().clearRight}))}}g(b,"contextType",p.v),t.A=l()(u())(b)},10626:function(e,t,r){"use strict";r.d(t,{CW:function(){return h},WJ:function(){return c},Xy:function(){return g},jr:function(){return p},ww:function(){return f}});
1var n,i,a,o=r(25602),s=r(4429),l=r(78300);function d(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}function u(e,t,r,n){a||(a="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=n;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&i)for(var d in i)void 0===t[d]&&(t[d]=i[d]);else t||(t=i||{});return{$$typeof:a,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function c(e){return 1!=e.type?null:u("div",{},void 0,"Orders include those placed directly by the operator ",n||(n=u("em",{},void 0,"and"))," by lessors assigned to the operator, from ",e.date," onwards.")}function p(e){return u("div",{},void 0,"Details on terms used within this ",e.table?"table":"graph"," can be found in the ",i||(i=u(s.A,{routeName:"about.glossary"},void 0,"glossary")))}function h(e){var t=this;const[r,n]=(0,o.useState)(!1),i=function(e){d(this,t),e.preventDefault(),n(!r)}.bind(this);let a;return r&&(a=u(l.A,{onClick:i})),u("div",{},void 0,a,u("a",{onClick:i},void 0,"More information")," on how cargo payload values are calculated.")}function f(e){return u("div",{},void 0,"Please note that this ",e.table?"table":"graph"," only tracks projects that have been identified by CAPA and should not be considered to be an absolute report of all airport related construction projects.")}function g(e){var t=this;const{name:r,subsidiaries:n}=e;if(!n||!n.length)return null;const i=n.filter(function(e){return d(this,t),e.majority}.bind(this)),a=i.length;if(0===a)return null;const l=i.map(function(e,r){return d(this,t),u(o.Fragment,{},"airline-"+e.id,u(s.A,{to:e.url},void 0,e.name),r===a-1?null:r===a-2?" and ":", ")}.bind(this));return u("div",{},void 0,"This graph includes aircraft from the following airlines that are majority owned by ",r,": ",l)}},57e3:function(e,t,r){"use strict";var n,i=r(25602),a=r(74302),o=r.n(a),s=r(4436),l=r.n(s);function d(e,t,r,i){n||(n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var a=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=i;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&a)for(var d in a)void 0===t[d]&&(t[d]=a[d]);else t||(t=a||{});return{$$typeof:n,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}function u(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class c extends i.Component{constructor(e){var t,r={};super(e),t=this,u(this,"showMore",function(){!function(e,t){if(e!==t)throw new TypeError("Cannot instantiate an arrow function")}(this,r),t.setState({showResults:t.state.showResults+t.props.results})}.bind(r)),this.state={showResults:e.results}}render(){const e=this.props.table,t={head:[],body:[],foot:[]};for(var r in e)e[r].forEach(function(e,n){const i=e.data.map(function(e,t){if("head"==r){let r;return e.sup&&(r=d("sup",{},void 0,e.sup)),d("th",{style:e.style,className:e.className},"hcell-"+t,e.data,r)}return d("td",{style:e.style,className:e.className},"cell-"+t,e.data)});t[r].push(d("tr",{style:e.style,className:e.className},"row-"+n,i))});var n,i,a;if(t.head.length&&(n=d("thead",{},void 0,t.head)),t.body.length){if(this.props.results&&t.body.length>this.state.showResults){let r=this.props.results;t.body.length-this.state.showResults<this.props.results&&(r=t.body.length-this.state.showResults),t.body=t.body.slice(0,this.state.showResults),t.body.push(d("tr",{},"showmore",d("td",{colSpan:e.body[0].data.length,onClick:this.showMore,className:l().showMore},void 0,"Show ",r," more")))}i=d("tbody",{},void 0,t.body)}return t.foot.length&&(a=d("tfoot",{},void 0,t.foot)),d("table",{"data-export-role":"table",className:l().basicTable},void 0,n,i,a)}}t.A=o()(l())(c)},39856:function(e,t,r){"use strict";var n,i=r(25602),a=r(57e3),o=r(74302),s=r.n(o),l=r(4436),d=r.n(l);
1function u(e,t,r,i){n||(n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var a=e&&e.defaultProps,o=arguments.length-3;if(t||0===o||(t={children:void 0}),1===o)t.children=i;else if(o>1){for(var s=Array(o),l=0;l<o;l++)s[l]=arguments[l+3];t.children=s}if(t&&a)for(var d in a)void 0===t[d]&&(t[d]=a[d]);else t||(t=a||{});return{$$typeof:n,type:e,key:void 0===r?null:""+r,ref:null,props:t,_owner:null}}class c extends i.Component{render(){let e,t,r;this.props.header&&(e=u("div",{"data-export-role":"header",className:d().header},void 0,this.props.header)),this.props.footer&&(t=u("div",{"data-export-role":"footer",className:d().footer},void 0,this.props.footer)),this.props.note&&(r=u("div",{"data-export-role":"note",className:d().note},void 0,this.props.note));let n=u(a.A,{table:this.props.table,results:this.props.results});return this.props.scroll&&(n=u("div",{className:d().scrollBox},void 0,u(a.A,{table:this.props.table,results:this.props.results}))),u("figure",{"data-exportable":"true",className:d().table+(this.props.className?" "+this.props.className:"")},void 0,e,n,t,r)}}t.A=s()(d())(c)},61829:function(e,t,r){"use strict";function n(e){let t="";for(let r=0;r<e.childNodes.length;r++){const i=e.childNodes[r];switch(i.nodeType){case 3:t+=i.nodeValue;break;default:if("SELECT"==i.tagName){if(!i.options[i.selectedIndex])break;t+=i.options[i.selectedIndex].text.replace(/\[|\]/g,"")}else if("INPUT"==i.tagName&&"text"==i.getAttribute("type"))t+=i.value;else if(!("chartType"==i.className||i.classList&&i.classList.contains("react-datepicker-popper"))){const a=1===i.nodeType&&"DIV"===i.tagName;if("week"!=i.className&&"subheading"!=i.className||(t+="\n"),t+=n(i),a)for(let n=r+1;n<e.childNodes.length;n++){const r=e.childNodes[n];if(1===r.nodeType){"DIV"!==r.tagName||"week"==r.className||"subheading"==r.className||t.endsWith("\n")||(t+="\n");break}if(3===r.nodeType&&/\S/.test(r.nodeValue))break}}}}return t.replace(/  +/g," ")}r.d(t,{A:function(){return n}})},78018:function(e,t,r){var n=r(89547),i=r(38532)(n);i.push([e.id,".csv_button_LhO{background-color:#e61e26;border:0;color:#fff;cursor:pointer;display:inline-block;font-family:Roboto,sans-serif;font-weight:700;padding:16px;text-align:center;width:120px}.csv_button_LhO:hover{background-color:#e9353c;color:#fff;-webkit-text-decoration:none;text-decoration:none}.csv_button_LhO:disabled{background-color:#e1e1e1;cursor:default}.csv_videoWrapper_WGe{padding:56.25% 0 0;position:relative}.csv_videoWrapper_WGe iframe{height:100%;left:0;position:absolute;top:0;width:100%}.csv_helpCursor_Rlv{cursor:help}",""]),i.locals={button:"csv_button_LhO",videoWrapper:"csv_videoWrapper_WGe",helpCursor:"csv_helpCursor_Rlv"},e.exports=i},29612:function(e,t,r){var n=r(89547),i=r(38532)(n);i.push([e.id,'.routeChanges_button_Elg{background-color:#e61e26;border:0;color:#fff;cursor:pointer;display:inline-block;font-family:Roboto,sans-serif;font-weight:700;padding:16px;text-align:center;width:120px}.routeChanges_button_Elg:hover{background-color:#e9353c;color:#fff;-webkit-text-decoration:none;text-decoration:none}.routeChanges_button_Elg:disabled{background-color:#e1e1e1;cursor:default}.routeChanges_videoWrapper_CYj{padding:56.25% 0 0;position:relative}.routeChanges_videoWrapper_CYj iframe{height:100%;left:0;position:absolute;top:0;width:100%}.routeChanges_helpCursor_Sgu{cursor:help}.routeChanges_positive_KYn:after{color:#19b504;content:"▲"}.routeChanges_negative_N4u:after{color:#e61e26;content:"▼"}.routeChanges_week_UKE{display:inline-block}.routeChanges_week_UKE input{width:100px}.routeChanges_noBreak_djb{white-space:nowrap}.routeChanges_header_Qwg{color:#0d2c6c;font-weight:700;padding-left:16px}.routeChanges_header_Qwg :is(input,select){color:#0d2c6c;font-weight:700;margin-bottom:4px}',""]),i.locals={button:"routeChanges_button_Elg",videoWrapper:"routeChanges_videoWrapper_CYj",helpCursor:"routeChanges_helpCursor_Sgu",positive:"routeChanges_positive_KYn",negative:"routeChanges_negative_N4u",week:"routeChanges_week_UKE",noBreak:"routeChanges_noBreak_djb",header:"routeChanges_header_Qwg"},e.exports=i},75446:function(e,t,r){var n=r(89547),i=r(38532)(n);
1i.push([e.id,".table_button_XDM{background-color:#e61e26;border:0;color:#fff;cursor:pointer;display:inline-block;font-family:Roboto,sans-serif;font-weight:700;padding:16px;text-align:center;width:120px}.table_button_XDM:hover{background-color:#e9353c;color:#fff;-webkit-text-decoration:none;text-decoration:none}.table_button_XDM:disabled{background-color:#e1e1e1;cursor:default}.table_videoWrapper_BUH{padding:56.25% 0 0;position:relative}.table_videoWrapper_BUH iframe{height:100%;left:0;position:absolute;top:0;width:100%}.table_helpCursor_xul{cursor:help}.table_table_kLO{background-color:#fff;margin:16px 0;padding:16px}@media(max-width:768px){.table_table_kLO{max-width:100%;overflow:auto}}.table_table_kLO :is(.table_footer_Sru,.table_header_P3E){color:#0d2c6c}.table_table_kLO .table_header_P3E{font-weight:700;margin-bottom:16px}.table_table_kLO .table_header_P3E :is(input,select){color:#0d2c6c;font-weight:700;margin-bottom:4px}.table_table_kLO .table_header_P3E .table_week_U1x,.table_table_kLO .table_header_P3E .week{font-size:14px;font-weight:700}.table_table_kLO :is(.table_footer_Sru,.table_help_PLu,.table_note_Bm3){color:#0d2c6c;font-size:12px}.table_table_kLO :is(.table_footer_Sru,.table_note_Bm3) a{-webkit-text-decoration:underline;text-decoration:underline}.table_table_kLO .csv{float:right}tr.table_stripe_Ed0{background-color:#f3f3f3!important}.table_basicTable_Lir{border-collapse:collapse;width:100%}.table_basicTable_Lir :is(td,th){padding:4px}.table_basicTable_Lir .table_number_LzT,.table_basicTable_Lir .number,.table_basicTable_Lir .right{text-align:right}.table_basicTable_Lir>tbody>tr:nth-child(2n){background-color:#f3f3f3}.table_basicTable_Lir>tfoot td{background-color:#e1e1e1;font-weight:700;text-align:right}.table_basicTable_Lir th{background-color:#0d2c6c;color:#fff;font-weight:700;text-align:left}.table_wrapTable_F3I{overflow:auto;table-layout:fixed;word-break:break-all}.table_scrollBox_av6{overflow-x:scroll;width:100%}.table_showMore_r4z{cursor:pointer;display:table-cell;font-weight:700;padding:8px!important;text-align:center;text-transform:uppercase;width:auto}",""]),i.locals={button:"table_button_XDM",videoWrapper:"table_videoWrapper_BUH",helpCursor:"table_helpCursor_xul",table:"table_table_kLO",footer:"table_footer_Sru",header:"table_header_P3E",week:"table_week_U1x",help:"table_help_PLu",note:"table_note_Bm3",stripe:"table_stripe_Ed0",basicTable:"table_basicTable_Lir",number:"table_number_LzT",wrapTable:"table_wrapTable_F3I",scrollBox:"table_scrollBox_av6",showMore:"table_showMore_r4z table_button_XDM"},e.exports=i},37686:function(e,t,r){var n=r(89547),i=r(38532)(n);i.push([e.id,".cargoHelp_button_DAC{background-color:#e61e26;border:0;color:#fff;cursor:pointer;display:inline-block;font-family:Roboto,sans-serif;font-weight:700;padding:16px;text-align:center;width:120px}.cargoHelp_button_DAC:hover{background-color:#e9353c;color:#fff;-webkit-text-decoration:none;text-decoration:none}.cargoHelp_button_DAC:disabled{background-color:#e1e1e1;cursor:default}.cargoHelp_videoWrapper_WKj{padding:56.25% 0 0;position:relative}
1.cargoHelp_videoWrapper_WKj iframe{height:100%;left:0;position:absolute;top:0;width:100%}.cargoHelp_helpCursor_G8a{cursor:help}.cargoHelp_modalClose_SjF{color:#0d2c6c;font-size:28px;font-weight:700;position:absolute;right:16px;top:0}.cargoHelp_modalClose_SjF,.cargoHelp_modalClose_SjF:hover{-webkit-text-decoration:none;text-decoration:none}.cargoHelp_modalClose_SjF:hover{color:#103583}.cargoHelp_cargoHelp_efV{background-color:#fff;border-radius:16px;color:#000;font-size:16px;font-weight:400;padding:16px;position:relative;width:50%}.cargoHelp_cargoHelp_efV>h1{color:#0d2c6c;font-size:22px;margin:0;padding:0}",""]),i.locals={button:"cargoHelp_button_DAC",videoWrapper:"cargoHelp_videoWrapper_WKj",helpCursor:"cargoHelp_helpCursor_G8a",modalClose:"cargoHelp_modalClose_SjF",cargoHelp:"cargoHelp_cargoHelp_efV"},e.exports=i},4496:function(e,t,r){var n=r(78018),i=r(61352),a="string"==typeof n?[[e.id,n,""]]:n;(t=e.exports=n.locals||{})._getContent=function(){return a},t._getCss=function(){return""+n},t._insertCss=function(e){return i(a,e)}},77358:function(e,t,r){var n=r(29612),i=r(61352),a="string"==typeof n?[[e.id,n,""]]:n;(t=e.exports=n.locals||{})._getContent=function(){return a},t._getCss=function(){return""+n},t._insertCss=function(e){return i(a,e)}},4436:function(e,t,r){var n=r(75446),i=r(61352),a="string"==typeof n?[[e.id,n,""]]:n;(t=e.exports=n.locals||{})._getContent=function(){return a},t._getCss=function(){return""+n},t._insertCss=function(e){return i(a,e)}},36848:function(e,t,r){var n=r(37686),i=r(61352),a="string"==typeof n?[[e.id,n,""]]:n;(t=e.exports=n.locals||{})._getContent=function(){return a},t._getCss=function(){return""+n},t._insertCss=function(e){return i(a,e)}},31518:function(e,t){"use strict";t.A="data:image/png;base64,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"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.