(function(){return function(e,r,t){var a=Scanner.fromMessage(e);a.setLocale(r);var i,n,p,m,o,g,l,d=[],u=[];for(i=a.getSpan().innerCapture(regExpFormatted(/\1(.*)/,t.booking),1).trim(),n=a.getSpan().next(t.checkIn).nextLink(),p=a.getSpan().next(t.where);p.nextTag("table4").next(t.seat).exists();){var h,s,c=p.nextTag("table4"),v={},T=a.getSpan().withInterval(p.getEnd(),c.getStart());v.airlineName=T.innerCapture(regExpFormatted(/\1(.*)/,t.operated),1).trim(),v.airlineName.exists()||(v.airlineName=a.getDetachedSpan("Virgin Atlantic")),h=T.innerCapture(regExpFormatted(/\1 ($<code>[A-Z]{2,3})($<num>\d+)/,t.flight)),h&&(v.airlineCode=h.$code,v.flightNumber=h.$num),s=T.trim().innerCapture(regExpFormatted(/\w+ ($<dep>.*) \1 ($<arrival>.*)\//,t.to)),s&&(v.departureAirport=s.$dep,v.arrivalAirport=s.$arrival),v.departureTime=c.innerTag("tr4").nextTag("tr4").innerDate(),v.arrivalTime=v.departureTime.nextDate(),ASSERT(v.departureAirport,v.arrivalAirport,v.departureTime,v.arrivalTime,v.flightNumber)&&d.push(v),p=c.collapseToEnd()}m=a.getSpan().nextTag("table4").allInnerTags("tr4");for(var x=1;x<m.length;x++){var b={};b.name=m[x].innerTag("td4").tagContents(),ASSERT(b.name)&&u.push(b)}o=a.getSpan().next(t.total).nextTag("td4").tagContents(),g=o.innerCapture(/([\d\.,]+)/,1),l=o.innerCapture(/([A-Z]{3})/,1);for(var C=[],x=0;x<d.length;x++)for(var N=d[x],S=0;S<u.length;S++){var A=u[S],f={"@context":"http://schema.org","@type":"http://schema.org/FlightReservation",reservationFor:{"@type":"http://apple.com/FuzzyFlight",airlineName:N.airlineName,airlineCode:N.airlineCode,flightNumber:N.flightNumber,departureAirportFuzzy:N.departureAirport,departureAirportCode:N.departureCode,departureTime:N.departureTime,arrivalAirportFuzzy:N.arrivalAirport,arrivalAirportCode:N.arrivalCode,arrivalTime:N.arrivalTime},underName:{"@type":"http://schema.org/Person",name:A.name,email:A.email},checkinUrl:n,reservationId:i,reservationStatus:"http://schema.org/ReservationConfirmed",totalPrice:g,priceCurrency:l,reservedTicket:{"@type":"http://schema.org/Ticket",ticketedSeat:{"@type":"http://schema.org/Seat",seatNumber:"",seatingType:""}}};A.membershipNumber&&A.programName&&(f.programMembershipUsed={"@type":"http://schema.org/ProgramMembership",membershipNumber:A.membershipNumber,programName:A.programName}),C.push(f)}if(C.length)return C}}).call();