(function(){return function(e,r,a){var t=Scanner.fromMessage(e);t.setLocale(r);var i,p,n,o,s,m,u,l,d,g,h,v,c,$,C,N,b,y,S=[],f={};if(p=t.getSpan().innerCapture(regExpFormatted(/\1\s+(.*)/,a.reservationId),1),i=t.getSpan().innerCapture(regExpFormatted(/\1\s+(.*)/,a.ticketNumber),1),s=t.getSpan().allInnerCapture(regExpFormatted(/\1\s+(.*)/,a.name),1),s.length)for(var T=0;T<s.length;T++)o=s[T],f[o]={name:o,seats:{},seatingType:{}};if(!Object.keys(f).length)return CONTINUE;for(m=t.getSpan().allInnerCapture(regExpFormatted(/(.*\S+\s+\1[\s\S]+?\2)/,a.depart,a.duration),1),m.length<1&&(m=t.getSpan().allInnerCapture(regExpFormatted(/(.*\S+\s+\1[\s\S]+?\2)/,a.depart,a.kilo),1)),N=0;N<m.length;N++)b=m[N],y=b.innerCapture(/($<airline>.+?)\s{2,}($<airlineCode>\D+)($<flightNumber>\d+)\s{2,}($<seatingType>.+?)\s{2,}/),y.$airline,l=y.$airlineCode,u=y.$flightNumber,C=y.$seatingType,d=b.innerCapture(regExpFormatted(/\1\s+($<departureDate>.+?)\s+($<departureAirport>.+?)\s{2,}($<departureHour>\d{2})($<departureMinute>\d{2})/,a.depart)),h=d.$departureAirport,g=t.getDetachedSpan(d.$departureDate+" "+d.$departureHour+":"+d.$departureMinute).innerDate(),v=b.innerCapture(regExpFormatted(/\1\s+($<arrivalDate>.+?)\s+($<arrivalAirport>.+?)\s{2,}($<arrivalHour>\d{2})($<arrivalMinute>\d{2})/,a.arrival)),$=v.$arrivalAirport,c=t.getDetachedSpan(v.$arrivalDate+" "+v.$arrivalHour+":"+v.$arrivalMinute).innerDate(),ASSERT(l,u,g,h,c,$)&&S.push({airlineCode:l,flightNumber:u,departureAirport:h,departureTime:g,arrivalAirport:$,arrivalTime:c,passengers:f,seatingType:C});var F,A;(F=t.getSpan().innerCapture(regExpFormatted(/\1\s+(.*?)\s+([\d.]+)/,a.price)))&&(A=F[1],F=F[2]);var E=[];for(N=0;N<S.length;N++)for(var k=S[N],x=Object.keys(k.passengers),D=0;D<x.length;D++){var M=k.passengers[x[D]],z={"@context":"http://schema.org","@type":"http://schema.org/FlightReservation",reservationFor:{"@type":"http://apple.com/FuzzyFlight",airlineName:k.airlineName,airlineCode:k.airlineCode,flightNumber:k.flightNumber,departureAirportFuzzy:k.departureAirport,departureAirportCode:k.departureCode,departureTime:k.departureTime,arrivalAirportFuzzy:k.arrivalAirport,arrivalAirportCode:k.arrivalCode,arrivalTime:k.arrivalTime},underName:{"@type":"http://schema.org/Person",name:M.name},checkinUrl:n,reservationId:p,reservationStatus:"http://schema.org/ReservationConfirmed",totalPrice:F,priceCurrency:A,reservedTicket:{"@type":"http://schema.org/Ticket",ticketNumber:i,ticketedSeat:{"@type":"http://schema.org/Seat",seatNumber:M.seats[k.airlineCode+""+k.flightNumber],seatingType:k.seatingType}}};valid(M.membershipNumber,M.programName)&&(z.programMembershipUsed={"@type":"http://schema.org/ProgramMembership",membershipNumber:M.membershipNumber,programName:M.programName}),E.push(z)}return E.length?E:void 0}}).call();