{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.core.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.plugin.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.utils.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","addToJquery","$","Plugin","rtl","GetYoDigits","transitionend","RegExpEscape","onLoad","window","FOUNDATION_VERSION","version","_plugins","_uuids","plugin","name","className","functionName","attrName","hyphenate","registerPlugin","pluginName","constructor","toLowerCase","uuid","$element","attr","data","trigger","push","unregisterPlugin","splice","indexOf","removeAttr","removeData","prop","reInit","plugins","isJQ","each","_init","type","_this","fns","plgs","forEach","p","foundation","Object","keys","err","console","error","reflow","elem","i","$elem","find","addBack","filter","$el","opts","split","option","_index","opt","map","el","trim","parseValue","er","getFnName","method","$noJS","length","removeClass","MediaQuery","args","Array","prototype","slice","call","arguments","plugClass","apply","ReferenceError","TypeError","fn","util","throttle","func","delay","timer","context","setTimeout","Date","now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","callback","nextTime","Math","max","clearTimeout","performance","start","Function","bind","oThis","aArgs","fToBind","fNOP","fBound","concat","funcNameRegex","results","exec","toString","str","isNaN","parseFloat","replace","element","options","_setup","getPluginName","_destroy","obj","namespace","chars","charsLength","floor","random","transitions","document","createElement","end","transition","style","triggerHandler","handler","didLoad","readyState","eventType","cb","one","ignoreMousedisappear","ignoreLeaveWindow","ignoreReappear","leaveEventHandler","eLeave","rest","relatedTarget","leaveEventDebouncer","hasFocus","reenterEventHandler","eReenter","currentTarget","has","target","defaultQueries","landscape","portrait","retina","matchMedia","styleMedia","media","script","getElementsByTagName","info","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","self","$meta","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","bpSize","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","matched","off","on","newSize","currentSize","styleObject","reduce","ret","param","val","decodeURIComponent","isArray"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEAA,2DAAU,CAACC,WAAX,CAAuBC,6CAAvB,E,CAEA;AACA;;AACAF,2DAAU,CAACG,MAAX,GAAoBA,8DAApB,C,CAEA;AACA;AACA;;AACAH,2DAAU,CAACI,GAAX,GAAiBA,0DAAjB;AACAJ,2DAAU,CAACK,WAAX,GAAyBA,kEAAzB;AACAL,2DAAU,CAACM,aAAX,GAA2BA,oEAA3B;AACAN,2DAAU,CAACO,YAAX,GAA0BA,mEAA1B;AACAP,2DAAU,CAACQ,MAAX,GAAoBA,6DAApB;AAEAC,MAAM,CAACT,UAAP,GAAoBA,2DAApB,C,CAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC9BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;AAEb;AACA;AACA;AAEA,IAAIU,kBAAkB,GAAG,OAAzB,C,CAEA;AACA;;AACA,IAAIV,UAAU,GAAG;AACfW,SAAO,EAAED,kBADM;;AAGf;;;AAGAE,UAAQ,EAAE,EANK;;AAQf;;;AAGAC,QAAM,EAAE,EAXO;;AAaf;;;;AAIAC,QAAM,EAAE,gBAASA,OAAT,EAAiBC,IAAjB,EAAuB;AAC7B;AACA;AACA,QAAIC,SAAS,GAAID,IAAI,IAAIE,YAAY,CAACH,OAAD,CAArC,CAH6B,CAI7B;AACA;;AACA,QAAII,QAAQ,GAAIC,SAAS,CAACH,SAAD,CAAzB,CAN6B,CAQ7B;;AACA,SAAKJ,QAAL,CAAcM,QAAd,IAA0B,KAAKF,SAAL,IAAkBF,OAA5C;AACD,GA3Bc;;AA4Bf;;;;;;;;;AASAM,gBAAc,EAAE,wBAASN,MAAT,EAAiBC,IAAjB,EAAsB;AACpC,QAAIM,UAAU,GAAGN,IAAI,GAAGI,SAAS,CAACJ,IAAD,CAAZ,GAAqBE,YAAY,CAACH,MAAM,CAACQ,WAAR,CAAZ,CAAiCC,WAAjC,EAA1C;AACAT,UAAM,CAACU,IAAP,GAAcnB,0EAAW,CAAC,CAAD,EAAIgB,UAAJ,CAAzB;;AAEA,QAAG,CAACP,MAAM,CAACW,QAAP,CAAgBC,IAAhB,gBAA6BL,UAA7B,EAAJ,EAA+C;AAAEP,YAAM,CAACW,QAAP,CAAgBC,IAAhB,gBAA6BL,UAA7B,GAA2CP,MAAM,CAACU,IAAlD;AAA0D;;AAC3G,QAAG,CAACV,MAAM,CAACW,QAAP,CAAgBE,IAAhB,CAAqB,UAArB,CAAJ,EAAqC;AAAEb,YAAM,CAACW,QAAP,CAAgBE,IAAhB,CAAqB,UAArB,EAAiCb,MAAjC;AAA2C;AAC5E;;;;;;AAINA,UAAM,CAACW,QAAP,CAAgBG,OAAhB,mBAAmCP,UAAnC;;AAEA,SAAKR,MAAL,CAAYgB,IAAZ,CAAiBf,MAAM,CAACU,IAAxB;;AAEA;AACD,GApDc;;AAqDf;;;;;;;;AAQAM,kBAAgB,EAAE,0BAAShB,MAAT,EAAgB;AAChC,QAAIO,UAAU,GAAGF,SAAS,CAACF,YAAY,CAACH,MAAM,CAACW,QAAP,CAAgBE,IAAhB,CAAqB,UAArB,EAAiCL,WAAlC,CAAb,CAA1B;;AAEA,SAAKT,MAAL,CAAYkB,MAAZ,CAAmB,KAAKlB,MAAL,CAAYmB,OAAZ,CAAoBlB,MAAM,CAACU,IAA3B,CAAnB,EAAqD,CAArD;;AACAV,UAAM,CAACW,QAAP,CAAgBQ,UAAhB,gBAAmCZ,UAAnC,GAAiDa,UAAjD,CAA4D,UAA5D;AACM;;;;AADN,KAKON,OALP,wBAK+BP,UAL/B;;AAMA,SAAI,IAAIc,IAAR,IAAgBrB,MAAhB,EAAuB;AACrBA,YAAM,CAACqB,IAAD,CAAN,GAAe,IAAf,CADqB,CACD;AACrB;;AACD;AACD,GA3Ec;;AA6Ef;;;;;;AAMCC,QAAM,EAAE,gBAASC,OAAT,EAAiB;AACvB,QAAIC,IAAI,GAAGD,OAAO,YAAYnC,6CAA9B;;AACA,QAAG;AACD,UAAGoC,IAAH,EAAQ;AACND,eAAO,CAACE,IAAR,CAAa,YAAU;AACrBrC,uDAAC,CAAC,IAAD,CAAD,CAAQyB,IAAR,CAAa,UAAb,EAAyBa,KAAzB;AACD,SAFD;AAGD,OAJD,MAIK;AACH,YAAIC,IAAI,WAAUJ,OAAV,CAAR;AAAA,YACAK,KAAK,GAAG,IADR;AAAA,YAEAC,GAAG,GAAG;AACJ,oBAAU,gBAASC,IAAT,EAAc;AACtBA,gBAAI,CAACC,OAAL,CAAa,UAASC,CAAT,EAAW;AACtBA,eAAC,GAAG3B,SAAS,CAAC2B,CAAD,CAAb;AACA5C,2DAAC,CAAC,WAAU4C,CAAV,GAAa,GAAd,CAAD,CAAoBC,UAApB,CAA+B,OAA/B;AACD,aAHD;AAID,WANG;AAOJ,oBAAU,kBAAU;AAClBV,mBAAO,GAAGlB,SAAS,CAACkB,OAAD,CAAnB;AACAnC,yDAAC,CAAC,WAAUmC,OAAV,GAAmB,GAApB,CAAD,CAA0BU,UAA1B,CAAqC,OAArC;AACD,WAVG;AAWJ,uBAAa,qBAAU;AACrB,iBAAK,QAAL,EAAeC,MAAM,CAACC,IAAP,CAAYP,KAAK,CAAC9B,QAAlB,CAAf;AACD;AAbG,SAFN;;AAiBA+B,WAAG,CAACF,IAAD,CAAH,CAAUJ,OAAV;AACD;AACF,KAzBD,CAyBC,OAAMa,GAAN,EAAU;AACTC,aAAO,CAACC,KAAR,CAAcF,GAAd;AACD,KA3BD,SA2BQ;AACN,aAAOb,OAAP;AACD;AACF,GAnHa;;AAqHf;;;;;AAKAgB,QAAM,EAAE,gBAASC,IAAT,EAAejB,OAAf,EAAwB;AAE9B;AACA,QAAI,OAAOA,OAAP,KAAmB,WAAvB,EAAoC;AAClCA,aAAO,GAAGW,MAAM,CAACC,IAAP,CAAY,KAAKrC,QAAjB,CAAV;AACD,KAFD,CAGA;AAHA,SAIK,IAAI,OAAOyB,OAAP,KAAmB,QAAvB,EAAiC;AACpCA,eAAO,GAAG,CAACA,OAAD,CAAV;AACD;;AAED,QAAIK,KAAK,GAAG,IAAZ,CAX8B,CAa9B;;;AACAxC,iDAAC,CAACqC,IAAF,CAAOF,OAAP,EAAgB,UAASkB,CAAT,EAAYxC,IAAZ,EAAkB;AAChC;AACA,UAAID,MAAM,GAAG4B,KAAK,CAAC9B,QAAN,CAAeG,IAAf,CAAb,CAFgC,CAIhC;;AACA,UAAIyC,KAAK,GAAGtD,6CAAC,CAACoD,IAAD,CAAD,CAAQG,IAAR,CAAa,WAAS1C,IAAT,GAAc,GAA3B,EAAgC2C,OAAhC,CAAwC,WAAS3C,IAAT,GAAc,GAAtD,EAA2D4C,MAA3D,CAAkE,YAAY;AACxF,eAAO,OAAOzD,6CAAC,CAAC,IAAD,CAAD,CAAQyB,IAAR,CAAa,UAAb,CAAP,KAAoC,WAA3C;AACD,OAFW,CAAZ,CALgC,CAShC;;AACA6B,WAAK,CAACjB,IAAN,CAAW,YAAW;AACpB,YAAIqB,GAAG,GAAG1D,6CAAC,CAAC,IAAD,CAAX;AAAA,YACI2D,IAAI,GAAG;AAAER,gBAAM,EAAE;AAAV,SADX;;AAGA,YAAGO,GAAG,CAAClC,IAAJ,CAAS,cAAT,CAAH,EAA4B;AAC1BkC,aAAG,CAAClC,IAAJ,CAAS,cAAT,EAAyBoC,KAAzB,CAA+B,GAA/B,EAAoCjB,OAApC,CAA4C,UAASkB,MAAT,EAAiBC,MAAjB,EAAwB;AAClE,gBAAIC,GAAG,GAAGF,MAAM,CAACD,KAAP,CAAa,GAAb,EAAkBI,GAAlB,CAAsB,UAASC,EAAT,EAAY;AAAE,qBAAOA,EAAE,CAACC,IAAH,EAAP;AAAmB,aAAvD,CAAV;AACA,gBAAGH,GAAG,CAAC,CAAD,CAAN,EAAWJ,IAAI,CAACI,GAAG,CAAC,CAAD,CAAJ,CAAJ,GAAeI,UAAU,CAACJ,GAAG,CAAC,CAAD,CAAJ,CAAzB;AACZ,WAHD;AAID;;AACD,YAAG;AACDL,aAAG,CAACjC,IAAJ,CAAS,UAAT,EAAqB,IAAIb,MAAJ,CAAWZ,6CAAC,CAAC,IAAD,CAAZ,EAAoB2D,IAApB,CAArB;AACD,SAFD,CAEC,OAAMS,EAAN,EAAS;AACRnB,iBAAO,CAACC,KAAR,CAAckB,EAAd;AACD,SAJD,SAIQ;AACN;AACD;AACF,OAjBD;AAkBD,KA5BD;AA6BD,GArKc;AAsKfC,WAAS,EAAEtD,YAtKI;AAwKfhB,aAAW,EAAE,qBAASC,CAAT,EAAY;AACvB;AACA;;AACA;;;;AAIA,QAAI6C,UAAU,GAAG,SAAbA,UAAa,CAASyB,MAAT,EAAiB;AAChC,UAAI/B,IAAI,WAAU+B,MAAV,CAAR;AAAA,UACIC,KAAK,GAAGvE,CAAC,CAAC,QAAD,CADb;;AAGA,UAAGuE,KAAK,CAACC,MAAT,EAAgB;AACdD,aAAK,CAACE,WAAN,CAAkB,OAAlB;AACD;;AAED,UAAGlC,IAAI,KAAK,WAAZ,EAAwB;AAAC;AACvBmC,8EAAU,CAACpC,KAAX;;AACAxC,kBAAU,CAACqD,MAAX,CAAkB,IAAlB;AACD,OAHD,MAGM,IAAGZ,IAAI,KAAK,QAAZ,EAAqB;AAAC;AAC1B,YAAIoC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAX,CADyB,CAC2B;;AACpD,YAAIC,SAAS,GAAG,KAAKxD,IAAL,CAAU,UAAV,CAAhB,CAFyB,CAEa;;AAEtC,YAAG,OAAOwD,SAAP,KAAqB,WAArB,IAAoC,OAAOA,SAAS,CAACX,MAAD,CAAhB,KAA6B,WAApE,EAAgF;AAAC;AAC/E,cAAG,KAAKE,MAAL,KAAgB,CAAnB,EAAqB;AAAC;AAClBS,qBAAS,CAACX,MAAD,CAAT,CAAkBY,KAAlB,CAAwBD,SAAxB,EAAmCN,IAAnC;AACH,WAFD,MAEK;AACH,iBAAKtC,IAAL,CAAU,UAASgB,CAAT,EAAYY,EAAZ,EAAe;AAAC;AACxBgB,uBAAS,CAACX,MAAD,CAAT,CAAkBY,KAAlB,CAAwBlF,CAAC,CAACiE,EAAD,CAAD,CAAMxC,IAAN,CAAW,UAAX,CAAxB,EAAgDkD,IAAhD;AACD,aAFD;AAGD;AACF,SARD,MAQK;AAAC;AACJ,gBAAM,IAAIQ,cAAJ,CAAmB,mBAAmBb,MAAnB,GAA4B,mCAA5B,IAAmEW,SAAS,GAAGlE,YAAY,CAACkE,SAAD,CAAf,GAA6B,cAAzG,IAA2H,GAA9I,CAAN;AACD;AACF,OAfK,MAeD;AAAC;AACJ,cAAM,IAAIG,SAAJ,wBAA8B7C,IAA9B,kGAAN;AACD;;AACD,aAAO,IAAP;AACD,KA9BD;;AA+BAvC,KAAC,CAACqF,EAAF,CAAKxC,UAAL,GAAkBA,UAAlB;AACA,WAAO7C,CAAP;AACD;AAhNc,CAAjB;AAmNAF,UAAU,CAACwF,IAAX,GAAkB;AAChB;;;;;;;AAOAC,UAAQ,EAAE,kBAAUC,IAAV,EAAgBC,KAAhB,EAAuB;AAC/B,QAAIC,KAAK,GAAG,IAAZ;AAEA,WAAO,YAAY;AACjB,UAAIC,OAAO,GAAG,IAAd;AAAA,UAAoBhB,IAAI,GAAGK,SAA3B;;AAEA,UAAIU,KAAK,KAAK,IAAd,EAAoB;AAClBA,aAAK,GAAGE,UAAU,CAAC,YAAY;AAC7BJ,cAAI,CAACN,KAAL,CAAWS,OAAX,EAAoBhB,IAApB;AACAe,eAAK,GAAG,IAAR;AACD,SAHiB,EAGfD,KAHe,CAAlB;AAID;AACF,KATD;AAUD;AArBe,CAAlB;AAwBAlF,MAAM,CAACT,UAAP,GAAoBA,UAApB,C,CAEA;;AACA,CAAC,YAAW;AACV,MAAI,CAAC+F,IAAI,CAACC,GAAN,IAAa,CAACvF,MAAM,CAACsF,IAAP,CAAYC,GAA9B,EACEvF,MAAM,CAACsF,IAAP,CAAYC,GAAZ,GAAkBD,IAAI,CAACC,GAAL,GAAW,YAAW;AAAE,WAAO,IAAID,IAAJ,GAAWE,OAAX,EAAP;AAA8B,GAAxE;AAEF,MAAIC,OAAO,GAAG,CAAC,QAAD,EAAW,KAAX,CAAd;;AACA,OAAK,IAAI3C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2C,OAAO,CAACxB,MAAZ,IAAsB,CAACjE,MAAM,CAAC0F,qBAA9C,EAAqE,EAAE5C,CAAvE,EAA0E;AACtE,QAAI6C,EAAE,GAAGF,OAAO,CAAC3C,CAAD,CAAhB;AACA9C,UAAM,CAAC0F,qBAAP,GAA+B1F,MAAM,CAAC2F,EAAE,GAAC,uBAAJ,CAArC;AACA3F,UAAM,CAAC4F,oBAAP,GAA+B5F,MAAM,CAAC2F,EAAE,GAAC,sBAAJ,CAAN,IACD3F,MAAM,CAAC2F,EAAE,GAAC,6BAAJ,CADpC;AAEH;;AACD,MAAI,uBAAuBE,IAAvB,CAA4B7F,MAAM,CAAC8F,SAAP,CAAiBC,SAA7C,KACC,CAAC/F,MAAM,CAAC0F,qBADT,IACkC,CAAC1F,MAAM,CAAC4F,oBAD9C,EACoE;AAClE,QAAII,QAAQ,GAAG,CAAf;;AACAhG,UAAM,CAAC0F,qBAAP,GAA+B,UAASO,QAAT,EAAmB;AAC9C,UAAIV,GAAG,GAAGD,IAAI,CAACC,GAAL,EAAV;AACA,UAAIW,QAAQ,GAAGC,IAAI,CAACC,GAAL,CAASJ,QAAQ,GAAG,EAApB,EAAwBT,GAAxB,CAAf;AACA,aAAOF,UAAU,CAAC,YAAW;AAAEY,gBAAQ,CAACD,QAAQ,GAAGE,QAAZ,CAAR;AAAgC,OAA9C,EACCA,QAAQ,GAAGX,GADZ,CAAjB;AAEH,KALD;;AAMAvF,UAAM,CAAC4F,oBAAP,GAA8BS,YAA9B;AACD;AACD;;;;;AAGA,MAAG,CAACrG,MAAM,CAACsG,WAAR,IAAuB,CAACtG,MAAM,CAACsG,WAAP,CAAmBf,GAA9C,EAAkD;AAChDvF,UAAM,CAACsG,WAAP,GAAqB;AACnBC,WAAK,EAAEjB,IAAI,CAACC,GAAL,EADY;AAEnBA,SAAG,EAAE,eAAU;AAAE,eAAOD,IAAI,CAACC,GAAL,KAAa,KAAKgB,KAAzB;AAAiC;AAF/B,KAArB;AAID;AACF,CA/BD;;AAgCA,IAAI,CAACC,QAAQ,CAAClC,SAAT,CAAmBmC,IAAxB,EAA8B;AAC5BD,UAAQ,CAAClC,SAAT,CAAmBmC,IAAnB,GAA0B,UAASC,KAAT,EAAgB;AACxC,QAAI,OAAO,IAAP,KAAgB,UAApB,EAAgC;AAC9B;AACA;AACA,YAAM,IAAI7B,SAAJ,CAAc,sEAAd,CAAN;AACD;;AAED,QAAI8B,KAAK,GAAKtC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAd;AAAA,QACImC,OAAO,GAAG,IADd;AAAA,QAEIC,IAAI,GAAM,SAAVA,IAAU,GAAW,CAAE,CAF3B;AAAA,QAGIC,MAAM,GAAI,SAAVA,MAAU,GAAW;AACnB,aAAOF,OAAO,CAACjC,KAAR,CAAc,gBAAgBkC,IAAhB,GACZ,IADY,GAEZH,KAFF,EAGAC,KAAK,CAACI,MAAN,CAAa1C,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,CAAb,CAHA,CAAP;AAID,KARL;;AAUA,QAAI,KAAKH,SAAT,EAAoB;AAClB;AACAuC,UAAI,CAACvC,SAAL,GAAiB,KAAKA,SAAtB;AACD;;AACDwC,UAAM,CAACxC,SAAP,GAAmB,IAAIuC,IAAJ,EAAnB;AAEA,WAAOC,MAAP;AACD,GAxBD;AAyBD,C,CACD;;;AACA,SAAStG,YAAT,CAAsBsE,EAAtB,EAA0B;AACxB,MAAI,OAAO0B,QAAQ,CAAClC,SAAT,CAAmBhE,IAA1B,KAAmC,WAAvC,EAAoD;AAClD,QAAI0G,aAAa,GAAG,wBAApB;AACA,QAAIC,OAAO,GAAID,aAAD,CAAgBE,IAAhB,CAAsBpC,EAAD,CAAKqC,QAAL,EAArB,CAAd;AACA,WAAQF,OAAO,IAAIA,OAAO,CAAChD,MAAR,GAAiB,CAA7B,GAAkCgD,OAAO,CAAC,CAAD,CAAP,CAAWtD,IAAX,EAAlC,GAAsD,EAA7D;AACD,GAJD,MAKK,IAAI,OAAOmB,EAAE,CAACR,SAAV,KAAwB,WAA5B,EAAyC;AAC5C,WAAOQ,EAAE,CAACjE,WAAH,CAAeP,IAAtB;AACD,GAFI,MAGA;AACH,WAAOwE,EAAE,CAACR,SAAH,CAAazD,WAAb,CAAyBP,IAAhC;AACD;AACF;;AACD,SAASsD,UAAT,CAAoBwD,GAApB,EAAwB;AACtB,MAAI,WAAWA,GAAf,EAAoB,OAAO,IAAP,CAApB,KACK,IAAI,YAAYA,GAAhB,EAAqB,OAAO,KAAP,CAArB,KACA,IAAI,CAACC,KAAK,CAACD,GAAG,GAAG,CAAP,CAAV,EAAqB,OAAOE,UAAU,CAACF,GAAD,CAAjB;AAC1B,SAAOA,GAAP;AACD,C,CACD;AACA;;;AACA,SAAS1G,SAAT,CAAmB0G,GAAnB,EAAwB;AACtB,SAAOA,GAAG,CAACG,OAAJ,CAAY,iBAAZ,EAA+B,OAA/B,EAAwCzG,WAAxC,EAAP;AACD;;;;;;;;;;;;;;AC3UD;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;AAEb;CAGA;AACA;AACA;;IACMpB,M;;;AAEJ,kBAAY8H,OAAZ,EAAqBC,OAArB,EAA8B;AAAA;;AAC5B,SAAKC,MAAL,CAAYF,OAAZ,EAAqBC,OAArB;;AACA,QAAI7G,UAAU,GAAG+G,aAAa,CAAC,IAAD,CAA9B;AACA,SAAK5G,IAAL,GAAYnB,0EAAW,CAAC,CAAD,EAAIgB,UAAJ,CAAvB;;AAEA,QAAG,CAAC,KAAKI,QAAL,CAAcC,IAAd,gBAA2BL,UAA3B,EAAJ,EAA6C;AAAE,WAAKI,QAAL,CAAcC,IAAd,gBAA2BL,UAA3B,GAAyC,KAAKG,IAA9C;AAAsD;;AACrG,QAAG,CAAC,KAAKC,QAAL,CAAcE,IAAd,CAAmB,UAAnB,CAAJ,EAAmC;AAAE,WAAKF,QAAL,CAAcE,IAAd,CAAmB,UAAnB,EAA+B,IAA/B;AAAuC;AAC5E;;;;;;AAIA,SAAKF,QAAL,CAAcG,OAAd,mBAAiCP,UAAjC;AACD;;;;8BAES;AACR,WAAKgH,QAAL;;AACA,UAAIhH,UAAU,GAAG+G,aAAa,CAAC,IAAD,CAA9B;AACA,WAAK3G,QAAL,CAAcQ,UAAd,gBAAiCZ,UAAjC,GAA+Ca,UAA/C,CAA0D,UAA1D;AACI;;;;AADJ,OAKKN,OALL,wBAK6BP,UAL7B;;AAMA,WAAI,IAAIc,IAAR,IAAgB,IAAhB,EAAqB;AACnB,aAAKA,IAAL,IAAa,IAAb,CADmB,CACD;AACnB;AACF;;;;KAGH;AACA;;;AACA,SAAShB,SAAT,CAAmB0G,GAAnB,EAAwB;AACtB,SAAOA,GAAG,CAACG,OAAJ,CAAY,iBAAZ,EAA+B,OAA/B,EAAwCzG,WAAxC,EAAP;AACD;;AAED,SAAS6G,aAAT,CAAuBE,GAAvB,EAA4B;AAC1B,SAAOnH,SAAS,CAACmH,GAAG,CAACtH,SAAL,CAAhB;AACD;;;;;;;;;;;;;;AC/CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;CAIb;;AAEE;;;;AAGF,SAASZ,GAAT,GAAe;AACb,SAAOF,6CAAC,CAAC,MAAD,CAAD,CAAUwB,IAAV,CAAe,KAAf,MAA0B,KAAjC;AACD;AAED;;;;;;;;;;AAQA,SAASrB,WAAT,GAA2C;AAAA,MAAtBqE,MAAsB,uEAAb,CAAa;AAAA,MAAV6D,SAAU;AACzC,MAAIV,GAAG,GAAG,EAAV;AACA,MAAMW,KAAK,GAAG,sCAAd;AACA,MAAMC,WAAW,GAAGD,KAAK,CAAC9D,MAA1B;;AACA,OAAK,IAAInB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmB,MAApB,EAA4BnB,CAAC,EAA7B,EAAiC;AAC/BsE,OAAG,IAAIW,KAAK,CAAC5B,IAAI,CAAC8B,KAAL,CAAW9B,IAAI,CAAC+B,MAAL,KAAgBF,WAA3B,CAAD,CAAZ;AACD;;AACD,SAAOF,SAAS,aAAMV,GAAN,cAAaU,SAAb,IAA2BV,GAA3C;AACD;AAED;;;;;;;;;;AAQA,SAAStH,YAAT,CAAsBsH,GAAtB,EAA0B;AACxB,SAAOA,GAAG,CAACG,OAAJ,CAAY,0BAAZ,EAAwC,MAAxC,CAAP;AACD;;AAED,SAAS1H,aAAT,CAAuBkD,KAAvB,EAA6B;AAC3B,MAAIoF,WAAW,GAAG;AAChB,kBAAc,eADE;AAEhB,wBAAoB,qBAFJ;AAGhB,qBAAiB,eAHD;AAIhB,mBAAe;AAJC,GAAlB;AAMA,MAAItF,IAAI,GAAGuF,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AAAA,MACIC,GADJ;;AAGA,OAAK,IAAIC,UAAT,IAAuBJ,WAAvB,EAAmC;AACjC,QAAI,OAAOtF,IAAI,CAAC2F,KAAL,CAAWD,UAAX,CAAP,KAAkC,WAAtC,EAAkD;AAChDD,SAAG,GAAGH,WAAW,CAACI,UAAD,CAAjB;AACD;AACF;;AACD,MAAID,GAAJ,EAAS;AACP,WAAOA,GAAP;AACD,GAFD,MAEO;AACLjD,cAAU,CAAC,YAAU;AACnBtC,WAAK,CAAC0F,cAAN,CAAqB,eAArB,EAAsC,CAAC1F,KAAD,CAAtC;AACD,KAFS,EAEP,CAFO,CAAV;AAGA,WAAO,eAAP;AACD;AACF;AAED;;;;;;;;;;;;;;AAYA,SAAShD,MAAT,CAAgBgD,KAAhB,EAAuB2F,OAAvB,EAAgC;AAC9B,MAAMC,OAAO,GAAGP,QAAQ,CAACQ,UAAT,KAAwB,UAAxC;AACA,MAAMC,SAAS,GAAG,CAACF,OAAO,GAAG,UAAH,GAAgB,MAAxB,IAAkC,iBAApD;;AACA,MAAMG,EAAE,GAAG,SAALA,EAAK;AAAA,WAAM/F,KAAK,CAAC0F,cAAN,CAAqBI,SAArB,CAAN;AAAA,GAAX;;AAEA,MAAI9F,KAAJ,EAAW;AACT,QAAI2F,OAAJ,EAAa3F,KAAK,CAACgG,GAAN,CAAUF,SAAV,EAAqBH,OAArB;AAEb,QAAIC,OAAJ,EACEtD,UAAU,CAACyD,EAAD,CAAV,CADF,KAGErJ,6CAAC,CAACO,MAAD,CAAD,CAAU+I,GAAV,CAAc,MAAd,EAAsBD,EAAtB;AACH;;AAED,SAAOD,SAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;AAkBA,SAASG,oBAAT,CAA8BN,OAA9B,EAAmG;AAAA,iFAAJ,EAAI;AAAA,mCAA1DO,iBAA0D;AAAA,MAA1DA,iBAA0D,sCAAtC,KAAsC;AAAA,iCAA/BC,cAA+B;AAAA,MAA/BA,cAA+B,oCAAd,KAAc;;AACjG,SAAO,SAASC,iBAAT,CAA2BC,MAA3B,EAA4C;AAAA,sCAANC,IAAM;AAANA,UAAM;AAAA;;AACjD,QAAMpD,QAAQ,GAAGyC,OAAO,CAACjC,IAAR,OAAAiC,OAAO,GAAM,IAAN,EAAYU,MAAZ,SAAuBC,IAAvB,EAAxB,CADiD,CAGjD;;AACA,QAAID,MAAM,CAACE,aAAP,KAAyB,IAA7B,EAAmC;AACjC,aAAOrD,QAAQ,EAAf;AACD,KANgD,CAQjD;AACA;AACA;;;AACAZ,cAAU,CAAC,SAASkE,mBAAT,GAA+B;AACxC,UAAI,CAACN,iBAAD,IAAsBb,QAAQ,CAACoB,QAA/B,IAA2C,CAACpB,QAAQ,CAACoB,QAAT,EAAhD,EAAqE;AACnE,eAAOvD,QAAQ,EAAf;AACD,OAHuC,CAKxC;;;AACA,UAAI,CAACiD,cAAL,EAAqB;AACnBzJ,qDAAC,CAAC2I,QAAD,CAAD,CAAYW,GAAZ,CAAgB,YAAhB,EAA8B,SAASU,mBAAT,CAA6BC,QAA7B,EAAuC;AACnE,cAAI,CAACjK,6CAAC,CAAC2J,MAAM,CAACO,aAAR,CAAD,CAAwBC,GAAxB,CAA4BF,QAAQ,CAACG,MAArC,EAA6C5F,MAAlD,EAA0D;AACxD;AACAmF,kBAAM,CAACE,aAAP,GAAuBI,QAAQ,CAACG,MAAhC;AACA5D,oBAAQ;AACT;AACF,SAND;AAOD;AAEF,KAhBS,EAgBP,CAhBO,CAAV;AAiBD,GA5BD;AA6BD;;;;;;;;;;;;;;ACjJD;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;CAIb;;AACA,IAAM6D,cAAc,GAAG;AACrB,aAAY,aADS;AAErBC,WAAS,EAAG,0CAFS;AAGrBC,UAAQ,EAAG,yCAHU;AAIrBC,QAAM,EAAG,yDACP,mDADO,GAEP,mDAFO,GAGP,8CAHO,GAIP,2CAJO,GAKP;AATmB,CAAvB,C,CAaA;AACA;;AACA;;AACAjK,MAAM,CAACkK,UAAP,KAAsBlK,MAAM,CAACkK,UAAP,GAAqB,YAAY;AACrD,eADqD,CAGrD;;AACA,MAAIC,UAAU,GAAInK,MAAM,CAACmK,UAAP,IAAqBnK,MAAM,CAACoK,KAA9C,CAJqD,CAMrD;;AACA,MAAI,CAACD,UAAL,EAAiB;AACf,QAAI3B,KAAK,GAAKJ,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAd;AAAA,QACAgC,MAAM,GAAQjC,QAAQ,CAACkC,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,CADd;AAAA,QAEAC,IAAI,GAAU,IAFd;AAIA/B,SAAK,CAACxG,IAAN,GAAc,UAAd;AACAwG,SAAK,CAACgC,EAAN,GAAc,mBAAd;;AAEA,QAAI,CAACH,MAAL,EAAa;AACXjC,cAAQ,CAACqC,IAAT,CAAcC,WAAd,CAA0BlC,KAA1B;AACD,KAFD,MAEO;AACL6B,YAAM,CAACM,UAAP,CAAkBC,YAAlB,CAA+BpC,KAA/B,EAAsC6B,MAAtC;AACD,KAZc,CAcf;;;AACAE,QAAI,GAAI,sBAAsBvK,MAAvB,IAAkCA,MAAM,CAAC6K,gBAAP,CAAwBrC,KAAxB,EAA+B,IAA/B,CAAlC,IAA0EA,KAAK,CAACsC,YAAvF;AAEAX,cAAU,GAAG;AACXY,iBAAW,EAAE,qBAAUX,KAAV,EAAiB;AAC5B,YAAIY,IAAI,GAAG,YAAYZ,KAAZ,GAAoB,wCAA/B,CAD4B,CAG5B;;AACA,YAAI5B,KAAK,CAACyC,UAAV,EAAsB;AACpBzC,eAAK,CAACyC,UAAN,CAAiBC,OAAjB,GAA2BF,IAA3B;AACD,SAFD,MAEO;AACLxC,eAAK,CAAC2C,WAAN,GAAoBH,IAApB;AACD,SAR2B,CAU5B;;;AACA,eAAOT,IAAI,CAACa,KAAL,KAAe,KAAtB;AACD;AAbU,KAAb;AAeD;;AAED,SAAO,UAAShB,KAAT,EAAgB;AACrB,WAAO;AACLiB,aAAO,EAAElB,UAAU,CAACY,WAAX,CAAuBX,KAAK,IAAI,KAAhC,CADJ;AAELA,WAAK,EAAEA,KAAK,IAAI;AAFX,KAAP;AAID,GALD;AAMD,CA/CyC,EAA1C;AAgDA;;AAEA,IAAIjG,UAAU,GAAG;AACfmH,SAAO,EAAE,EADM;AAGfC,SAAO,EAAE,EAHM;;AAKf;;;;;AAKAxJ,OAVe,mBAUP;AAEN;AACA,QAAI,KAAKyJ,aAAL,KAAuB,IAA3B,EAAiC;AAC/B;AACD,KAFD,MAEO;AACL,WAAKA,aAAL,GAAqB,IAArB;AACD;;AAED,QAAIC,IAAI,GAAG,IAAX;AACA,QAAIC,KAAK,GAAGjM,6CAAC,CAAC,oBAAD,CAAb;;AACA,QAAG,CAACiM,KAAK,CAACzH,MAAV,EAAiB;AACfxE,mDAAC,CAAC,8BAAD,CAAD,CAAkCkM,QAAlC,CAA2CvD,QAAQ,CAACqC,IAApD;AACD;;AAED,QAAImB,eAAe,GAAGnM,6CAAC,CAAC,gBAAD,CAAD,CAAoBoM,GAApB,CAAwB,aAAxB,CAAtB;AACA,QAAIC,YAAJ;AAEAA,gBAAY,GAAGC,kBAAkB,CAACH,eAAD,CAAjC;AAEAH,QAAI,CAACH,OAAL,GAAe,EAAf,CApBM,CAoBa;;AAEnB,SAAK,IAAIU,GAAT,IAAgBF,YAAhB,EAA8B;AAC5B,UAAGA,YAAY,CAACG,cAAb,CAA4BD,GAA5B,CAAH,EAAqC;AACnCP,YAAI,CAACH,OAAL,CAAalK,IAAb,CAAkB;AAChBd,cAAI,EAAE0L,GADU;AAEhBE,eAAK,wCAAiCJ,YAAY,CAACE,GAAD,CAA7C;AAFW,SAAlB;AAID;AACF;;AAED,SAAKT,OAAL,GAAe,KAAKY,eAAL,EAAf;;AAEA,SAAKC,QAAL;AACD,GA5Cc;;AA8Cf;;;;;;AAMAC,SApDe,qBAoDL;AACR,SAAKb,aAAL,GAAqB,KAArB;;AACA,SAAKzJ,KAAL;AACD,GAvDc;;AAyDf;;;;;;AAMAuK,SA/De,mBA+DPC,IA/DO,EA+DD;AACZ,QAAIC,KAAK,GAAG,KAAKC,GAAL,CAASF,IAAT,CAAZ;;AAEA,QAAIC,KAAJ,EAAW;AACT,aAAOxM,MAAM,CAACkK,UAAP,CAAkBsC,KAAlB,EAAyBnB,OAAhC;AACD;;AAED,WAAO,KAAP;AACD,GAvEc;;AAyEf;;;;;;;AAOAqB,MAhFe,gBAgFVH,IAhFU,EAgFJ;AACT,WAAOA,IAAI,KAAK,KAAKJ,eAAL,EAAhB;AACD,GAlFc;;AAoFf;;;;;;AAMAQ,MA1Fe,gBA0FVJ,IA1FU,EA0FJ;AACT,QAAMK,QAAQ,GAAG,KAAKC,IAAL,CAAUN,IAAV,CAAjB,CADS,CAGT;AACA;;AACA,QAAIK,QAAJ,EAAc;AACZ,aAAO,CAAC,KAAKN,OAAL,CAAaM,QAAb,CAAR;AACD,KAPQ,CAST;AACA;;;AACA,WAAO,IAAP;AACD,GAtGc;;AAwGf;;;;;;AAMAE,IA9Ge,cA8GZP,IA9GY,EA8GN;AACP,QAAMQ,KAAK,GAAGR,IAAI,CAAC5I,IAAL,GAAYN,KAAZ,CAAkB,GAAlB,EAAuBH,MAAvB,CAA8B,UAAAb,CAAC;AAAA,aAAI,CAAC,CAACA,CAAC,CAAC4B,MAAR;AAAA,KAA/B,CAAd;;AADO,gCAE2B8I,KAF3B;AAAA,QAEAC,MAFA;AAAA;AAAA,QAEQC,UAFR,wBAEqB,EAFrB,YAIP;;;AACA,QAAIA,UAAU,KAAK,MAAnB,EAA2B;AACzB,aAAO,KAAKP,IAAL,CAAUM,MAAV,CAAP;AACD,KAPM,CAQP;;;AACA,QAAI,CAACC,UAAD,IAAeA,UAAU,KAAK,IAAlC,EAAwC;AACtC,aAAO,KAAKX,OAAL,CAAaU,MAAb,CAAP;AACD,KAXM,CAYP;;;AACA,QAAIC,UAAU,KAAK,MAAnB,EAA2B;AACzB,aAAO,KAAKN,IAAL,CAAUK,MAAV,CAAP;AACD;;AAED,UAAM,IAAIE,KAAJ,+IAEkEX,IAFlE,eAAN;AAID,GAnIc;;AAqIf;;;;;;AAMAE,KA3Ie,eA2IXF,IA3IW,EA2IL;AACR,SAAK,IAAIzJ,CAAT,IAAc,KAAKwI,OAAnB,EAA4B;AAC1B,UAAG,KAAKA,OAAL,CAAaW,cAAb,CAA4BnJ,CAA5B,CAAH,EAAmC;AACjC,YAAI0J,KAAK,GAAG,KAAKlB,OAAL,CAAaxI,CAAb,CAAZ;AACA,YAAIyJ,IAAI,KAAKC,KAAK,CAAClM,IAAnB,EAAyB,OAAOkM,KAAK,CAACN,KAAb;AAC1B;AACF;;AAED,WAAO,IAAP;AACD,GApJc;;AAsJf;;;;;;AAMAW,MA5Je,gBA4JVN,IA5JU,EA4JJ;AAAA;;AACT,QAAMY,UAAU,GAAG,KAAK7B,OAAL,CAAa8B,SAAb,CAAuB,UAACC,CAAD;AAAA,aAAO,KAAI,CAACC,aAAL,CAAmBD,CAAnB,MAA0Bd,IAAjC;AAAA,KAAvB,CAAnB;;AACA,QAAIY,UAAU,KAAK,CAAC,CAApB,EAAuB;AACrB,YAAM,IAAID,KAAJ,0CACkBX,IADlB,kHAAN;AAID;;AAED,QAAMgB,SAAS,GAAG,KAAKjC,OAAL,CAAa6B,UAAU,GAAG,CAA1B,CAAlB;AACA,WAAOI,SAAS,GAAGA,SAAS,CAACjN,IAAb,GAAoB,IAApC;AACD,GAvKc;;AAyKf;;;;;;;AAOAgN,eAhLe,yBAgLDpB,KAhLC,EAgLM;AACnB,QAAI,OAAOA,KAAP,KAAiB,QAArB,EACE,OAAOA,KAAP;AACF,QAAI,QAAOA,KAAP,MAAiB,QAArB,EACE,OAAOA,KAAK,CAAC5L,IAAb;AACF,UAAM,IAAIuE,SAAJ,wJAEuEqH,KAFvE,yBAEyFA,KAFzF,cAAN;AAID,GAzLc;;AA2Lf;;;;;;AAMAC,iBAjMe,6BAiMG;AAChB,QAAIqB,OAAJ;;AAEA,SAAK,IAAI1K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwI,OAAL,CAAarH,MAAjC,EAAyCnB,CAAC,EAA1C,EAA8C;AAC5C,UAAI0J,KAAK,GAAG,KAAKlB,OAAL,CAAaxI,CAAb,CAAZ;;AAEA,UAAI9C,MAAM,CAACkK,UAAP,CAAkBsC,KAAK,CAACN,KAAxB,EAA+Bb,OAAnC,EAA4C;AAC1CmC,eAAO,GAAGhB,KAAV;AACD;AACF;;AAED,WAAOgB,OAAO,IAAI,KAAKF,aAAL,CAAmBE,OAAnB,CAAlB;AACD,GA7Mc;;AA+Mf;;;;;AAKApB,UApNe,sBAoNJ;AAAA;;AACT3M,iDAAC,CAACO,MAAD,CAAD,CAAUyN,GAAV,CAAc,sBAAd,EAAsCC,EAAtC,CAAyC,sBAAzC,EAAiE,YAAM;AACrE,UAAIC,OAAO,GAAG,MAAI,CAACxB,eAAL,EAAd;AAAA,UAAsCyB,WAAW,GAAG,MAAI,CAACrC,OAAzD;;AAEA,UAAIoC,OAAO,KAAKC,WAAhB,EAA6B;AAC3B;AACA,cAAI,CAACrC,OAAL,GAAeoC,OAAf,CAF2B,CAI3B;;AACAlO,qDAAC,CAACO,MAAD,CAAD,CAAUmB,OAAV,CAAkB,uBAAlB,EAA2C,CAACwM,OAAD,EAAUC,WAAV,CAA3C;AACD;AACF,KAVD;AAWD;AAhOc,CAAjB,C,CAqOA;;AACA,SAAS7B,kBAAT,CAA4B3E,GAA5B,EAAiC;AAC/B,MAAIyG,WAAW,GAAG,EAAlB;;AAEA,MAAI,OAAOzG,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAOyG,WAAP;AACD;;AAEDzG,KAAG,GAAGA,GAAG,CAACzD,IAAJ,GAAWY,KAAX,CAAiB,CAAjB,EAAoB,CAAC,CAArB,CAAN,CAP+B,CAOA;;AAE/B,MAAI,CAAC6C,GAAL,EAAU;AACR,WAAOyG,WAAP;AACD;;AAEDA,aAAW,GAAGzG,GAAG,CAAC/D,KAAJ,CAAU,GAAV,EAAeyK,MAAf,CAAsB,UAASC,GAAT,EAAcC,KAAd,EAAqB;AACvD,QAAIjB,KAAK,GAAGiB,KAAK,CAACzG,OAAN,CAAc,KAAd,EAAqB,GAArB,EAA0BlE,KAA1B,CAAgC,GAAhC,CAAZ;AACA,QAAI2I,GAAG,GAAGe,KAAK,CAAC,CAAD,CAAf;AACA,QAAIkB,GAAG,GAAGlB,KAAK,CAAC,CAAD,CAAf;AACAf,OAAG,GAAGkC,kBAAkB,CAAClC,GAAD,CAAxB,CAJuD,CAMvD;AACA;;AACAiC,OAAG,GAAG,OAAOA,GAAP,KAAe,WAAf,GAA6B,IAA7B,GAAoCC,kBAAkB,CAACD,GAAD,CAA5D;;AAEA,QAAI,CAACF,GAAG,CAAC9B,cAAJ,CAAmBD,GAAnB,CAAL,EAA8B;AAC5B+B,SAAG,CAAC/B,GAAD,CAAH,GAAWiC,GAAX;AACD,KAFD,MAEO,IAAI5J,KAAK,CAAC8J,OAAN,CAAcJ,GAAG,CAAC/B,GAAD,CAAjB,CAAJ,EAA6B;AAClC+B,SAAG,CAAC/B,GAAD,CAAH,CAAS5K,IAAT,CAAc6M,GAAd;AACD,KAFM,MAEA;AACLF,SAAG,CAAC/B,GAAD,CAAH,GAAW,CAAC+B,GAAG,CAAC/B,GAAD,CAAJ,EAAWiC,GAAX,CAAX;AACD;;AACD,WAAOF,GAAP;AACD,GAlBa,EAkBX,EAlBW,CAAd;AAoBA,SAAOF,WAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;AC/UD,oD","file":"foundation.core.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.core\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","// --- Foundation Core API ---\n// Initialize Foundation and add some utilities to its public API for backward compatibility.\n// Please note that every utility do not have to be added to the core API.\nimport $ from 'jquery';\nimport { Foundation } from '../../foundation.core';\nimport { Plugin } from '../../foundation.core.plugin';\nimport { rtl, GetYoDigits, transitionend, RegExpEscape, onLoad } from '../../foundation.core.utils';\n\nFoundation.addToJquery($);\n\n// Every plugin depends on plugin now, we can include that on the core for the\n// script inclusion path.\nFoundation.Plugin = Plugin;\n\n// These are now separated out, but historically were a part of this module,\n// and since this is here for backwards compatibility we include them in\n// this entry.\nFoundation.rtl = rtl;\nFoundation.GetYoDigits = GetYoDigits;\nFoundation.transitionend = transitionend;\nFoundation.RegExpEscape = RegExpEscape;\nFoundation.onLoad = onLoad;\n\nwindow.Foundation = Foundation;\n\n// --- Foundation Core exports ---\n// Export \"Plugin\" and all core utilities, since the `foundation.core` entry plays the role of\n// all core source files.\n\nexport { Foundation };\nexport * from '../../foundation.core.plugin';\nexport * from '../../foundation.core.utils';\n","\"use strict\";\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nvar FOUNDATION_VERSION = '6.6.3';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n  version: FOUNDATION_VERSION,\n\n  /**\n   * Stores initialized plugins.\n   */\n  _plugins: {},\n\n  /**\n   * Stores generated unique ids for plugin instances\n   */\n  _uuids: [],\n\n  /**\n   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n   * @param {Object} plugin - The constructor of the plugin.\n   */\n  plugin: function(plugin, name) {\n    // Object key to use when adding to global Foundation object\n    // Examples: Foundation.Reveal, Foundation.OffCanvas\n    var className = (name || functionName(plugin));\n    // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n    // Examples: data-reveal, data-off-canvas\n    var attrName  = hyphenate(className);\n\n    // Add to the Foundation object and the plugins list (for reflowing)\n    this._plugins[attrName] = this[className] = plugin;\n  },\n  /**\n   * @function\n   * Populates the _uuids array with pointers to each individual plugin instance.\n   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n   * Also fires the initialization event for each plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @param {String} name - the name of the plugin, passed as a camelCased string.\n   * @fires Plugin#init\n   */\n  registerPlugin: function(plugin, name){\n    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n    plugin.uuid = GetYoDigits(6, pluginName);\n\n    if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }\n    if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }\n          /**\n           * Fires when the plugin has initialized.\n           * @event Plugin#init\n           */\n    plugin.$element.trigger(`init.zf.${pluginName}`);\n\n    this._uuids.push(plugin.uuid);\n\n    return;\n  },\n  /**\n   * @function\n   * Removes the plugins uuid from the _uuids array.\n   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n   * Also fires the destroyed event for the plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @fires Plugin#destroyed\n   */\n  unregisterPlugin: function(plugin){\n    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n    plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n          /**\n           * Fires when the plugin has been destroyed.\n           * @event Plugin#destroyed\n           */\n          .trigger(`destroyed.zf.${pluginName}`);\n    for(var prop in plugin){\n      plugin[prop] = null;//clean up script to prep for garbage collection.\n    }\n    return;\n  },\n\n  /**\n   * @function\n   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n   * @default If no argument is passed, reflow all currently active plugins.\n   */\n   reInit: function(plugins){\n     var isJQ = plugins instanceof $;\n     try{\n       if(isJQ){\n         plugins.each(function(){\n           $(this).data('zfPlugin')._init();\n         });\n       }else{\n         var type = typeof plugins,\n         _this = this,\n         fns = {\n           'object': function(plgs){\n             plgs.forEach(function(p){\n               p = hyphenate(p);\n               $('[data-'+ p +']').foundation('_init');\n             });\n           },\n           'string': function(){\n             plugins = hyphenate(plugins);\n             $('[data-'+ plugins +']').foundation('_init');\n           },\n           'undefined': function(){\n             this['object'](Object.keys(_this._plugins));\n           }\n         };\n         fns[type](plugins);\n       }\n     }catch(err){\n       console.error(err);\n     }finally{\n       return plugins;\n     }\n   },\n\n  /**\n   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n   */\n  reflow: function(elem, plugins) {\n\n    // If plugins is undefined, just grab everything\n    if (typeof plugins === 'undefined') {\n      plugins = Object.keys(this._plugins);\n    }\n    // If plugins is a string, convert it to an array with one item\n    else if (typeof plugins === 'string') {\n      plugins = [plugins];\n    }\n\n    var _this = this;\n\n    // Iterate through each plugin\n    $.each(plugins, function(i, name) {\n      // Get the current plugin\n      var plugin = _this._plugins[name];\n\n      // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n      var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function () {\n        return typeof $(this).data(\"zfPlugin\") === 'undefined';\n      });\n\n      // For each plugin found, initialize it\n      $elem.each(function() {\n        var $el = $(this),\n            opts = { reflow: true };\n\n        if($el.attr('data-options')){\n          $el.attr('data-options').split(';').forEach(function(option, _index){\n            var opt = option.split(':').map(function(el){ return el.trim(); });\n            if(opt[0]) opts[opt[0]] = parseValue(opt[1]);\n          });\n        }\n        try{\n          $el.data('zfPlugin', new plugin($(this), opts));\n        }catch(er){\n          console.error(er);\n        }finally{\n          return;\n        }\n      });\n    });\n  },\n  getFnName: functionName,\n\n  addToJquery: function($) {\n    // TODO: consider not making this a jQuery function\n    // TODO: need way to reflow vs. re-initialize\n    /**\n     * The Foundation jQuery method.\n     * @param {String|Array} method - An action to perform on the current jQuery object.\n     */\n    var foundation = function(method) {\n      var type = typeof method,\n          $noJS = $('.no-js');\n\n      if($noJS.length){\n        $noJS.removeClass('no-js');\n      }\n\n      if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.\n        MediaQuery._init();\n        Foundation.reflow(this);\n      }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins\n        var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary\n        var plugClass = this.data('zfPlugin');//determine the class of plugin\n\n        if(typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined'){//make sure both the class and method exist\n          if(this.length === 1){//if there's only one, call it directly.\n              plugClass[method].apply(plugClass, args);\n          }else{\n            this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each\n              plugClass[method].apply($(el).data('zfPlugin'), args);\n            });\n          }\n        }else{//error for no class or no method\n          throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n        }\n      }else{//error for invalid argument type\n        throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);\n      }\n      return this;\n    };\n    $.fn.foundation = foundation;\n    return $;\n  }\n};\n\nFoundation.util = {\n  /**\n   * Function for applying a debounce effect to a function call.\n   * @function\n   * @param {Function} func - Function to be called at end of timeout.\n   * @param {Number} delay - Time in ms to delay the call of `func`.\n   * @returns function\n   */\n  throttle: function (func, delay) {\n    var timer = null;\n\n    return function () {\n      var context = this, args = arguments;\n\n      if (timer === null) {\n        timer = setTimeout(function () {\n          func.apply(context, args);\n          timer = null;\n        }, delay);\n      }\n    };\n  }\n};\n\nwindow.Foundation = Foundation;\n\n// Polyfill for requestAnimationFrame\n(function() {\n  if (!Date.now || !window.Date.now)\n    window.Date.now = Date.now = function() { return new Date().getTime(); };\n\n  var vendors = ['webkit', 'moz'];\n  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n      window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n                                 || window[vp+'CancelRequestAnimationFrame']);\n  }\n  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n    || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n    var lastTime = 0;\n    window.requestAnimationFrame = function(callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function() { callback(lastTime = nextTime); },\n                          nextTime - now);\n    };\n    window.cancelAnimationFrame = clearTimeout;\n  }\n  /**\n   * Polyfill for performance.now, required by rAF\n   */\n  if(!window.performance || !window.performance.now){\n    window.performance = {\n      start: Date.now(),\n      now: function(){ return Date.now() - this.start; }\n    };\n  }\n})();\nif (!Function.prototype.bind) {\n  Function.prototype.bind = function(oThis) {\n    if (typeof this !== 'function') {\n      // closest thing possible to the ECMAScript 5\n      // internal IsCallable function\n      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n    }\n\n    var aArgs   = Array.prototype.slice.call(arguments, 1),\n        fToBind = this,\n        fNOP    = function() {},\n        fBound  = function() {\n          return fToBind.apply(this instanceof fNOP\n                 ? this\n                 : oThis,\n                 aArgs.concat(Array.prototype.slice.call(arguments)));\n        };\n\n    if (this.prototype) {\n      // native functions don't have a prototype\n      fNOP.prototype = this.prototype;\n    }\n    fBound.prototype = new fNOP();\n\n    return fBound;\n  };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n  if (typeof Function.prototype.name === 'undefined') {\n    var funcNameRegex = /function\\s([^(]{1,})\\(/;\n    var results = (funcNameRegex).exec((fn).toString());\n    return (results && results.length > 1) ? results[1].trim() : \"\";\n  }\n  else if (typeof fn.prototype === 'undefined') {\n    return fn.constructor.name;\n  }\n  else {\n    return fn.prototype.constructor.name;\n  }\n}\nfunction parseValue(str){\n  if ('true' === str) return true;\n  else if ('false' === str) return false;\n  else if (!isNaN(str * 1)) return parseFloat(str);\n  return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport {Foundation};\n","'use strict';\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nclass Plugin {\n\n  constructor(element, options) {\n    this._setup(element, options);\n    var pluginName = getPluginName(this);\n    this.uuid = GetYoDigits(6, pluginName);\n\n    if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }\n    if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }\n    /**\n     * Fires when the plugin has initialized.\n     * @event Plugin#init\n     */\n    this.$element.trigger(`init.zf.${pluginName}`);\n  }\n\n  destroy() {\n    this._destroy();\n    var pluginName = getPluginName(this);\n    this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n        /**\n         * Fires when the plugin has been destroyed.\n         * @event Plugin#destroyed\n         */\n        .trigger(`destroyed.zf.${pluginName}`);\n    for(var prop in this){\n      this[prop] = null;//clean up script to prep for garbage collection.\n    }\n  }\n}\n\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n  return hyphenate(obj.className);\n}\n\nexport {Plugin};\n","\"use strict\";\n\nimport $ from 'jquery';\n\n// Core Foundation Utilities, utilized in a number of places.\n\n  /**\n   * Returns a boolean for RTL support\n   */\nfunction rtl() {\n  return $('html').attr('dir') === 'rtl';\n}\n\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\nfunction GetYoDigits(length = 6, namespace){\n  let str = '';\n  const chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n  const charsLength = chars.length;\n  for (let i = 0; i < length; i++) {\n    str += chars[Math.floor(Math.random() * charsLength)];\n  }\n  return namespace ? `${str}-${namespace}` : str;\n}\n\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\nfunction RegExpEscape(str){\n  return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem){\n  var transitions = {\n    'transition': 'transitionend',\n    'WebkitTransition': 'webkitTransitionEnd',\n    'MozTransition': 'transitionend',\n    'OTransition': 'otransitionend'\n  };\n  var elem = document.createElement('div'),\n      end;\n\n  for (let transition in transitions){\n    if (typeof elem.style[transition] !== 'undefined'){\n      end = transitions[transition];\n    }\n  }\n  if (end) {\n    return end;\n  } else {\n    setTimeout(function(){\n      $elem.triggerHandler('transitionend', [$elem]);\n    }, 1);\n    return 'transitionend';\n  }\n}\n\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\nfunction onLoad($elem, handler) {\n  const didLoad = document.readyState === 'complete';\n  const eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n  const cb = () => $elem.triggerHandler(eventType);\n\n  if ($elem) {\n    if (handler) $elem.one(eventType, handler);\n\n    if (didLoad)\n      setTimeout(cb);\n    else\n      $(window).one('load', cb);\n  }\n\n  return eventType;\n}\n\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n *   (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n *   outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\nfunction ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappear = false } = {}) {\n  return function leaveEventHandler(eLeave, ...rest) {\n    const callback = handler.bind(this, eLeave, ...rest);\n\n    // The mouse left: call the given callback if the mouse entered elsewhere\n    if (eLeave.relatedTarget !== null) {\n      return callback();\n    }\n\n    // Otherwise, check if the mouse actually left the window.\n    // In firefox if the user switched between windows, the window sill have the focus by the time\n    // the event is triggered. We have to debounce the event to test this case.\n    setTimeout(function leaveEventDebouncer() {\n      if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n        return callback();\n      }\n\n      // Otherwise, wait for the mouse to reeapear outside of the element,\n      if (!ignoreReappear) {\n        $(document).one('mouseenter', function reenterEventHandler(eReenter) {\n          if (!$(eLeave.currentTarget).has(eReenter.target).length) {\n            // Fill where the mouse finally entered.\n            eLeave.relatedTarget = eReenter.target;\n            callback();\n          }\n        });\n      }\n\n    }, 0);\n  };\n}\n\n\nexport { rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n  'default' : 'only screen',\n  landscape : 'only screen and (orientation: landscape)',\n  portrait : 'only screen and (orientation: portrait)',\n  retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n    'only screen and (min--moz-device-pixel-ratio: 2),' +\n    'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n    'only screen and (min-device-pixel-ratio: 2),' +\n    'only screen and (min-resolution: 192dpi),' +\n    'only screen and (min-resolution: 2dppx)'\n  };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n  \"use strict\";\n\n  // For browsers that support matchMedium api such as IE 9 and webkit\n  var styleMedia = (window.styleMedia || window.media);\n\n  // For those that don't support matchMedium\n  if (!styleMedia) {\n    var style   = document.createElement('style'),\n    script      = document.getElementsByTagName('script')[0],\n    info        = null;\n\n    style.type  = 'text/css';\n    style.id    = 'matchmediajs-test';\n\n    if (!script) {\n      document.head.appendChild(style);\n    } else {\n      script.parentNode.insertBefore(style, script);\n    }\n\n    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n    info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n    styleMedia = {\n      matchMedium: function (media) {\n        var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n        // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n        if (style.styleSheet) {\n          style.styleSheet.cssText = text;\n        } else {\n          style.textContent = text;\n        }\n\n        // Test if media query is true or false\n        return info.width === '1px';\n      }\n    };\n  }\n\n  return function(media) {\n    return {\n      matches: styleMedia.matchMedium(media || 'all'),\n      media: media || 'all'\n    };\n  };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n  queries: [],\n\n  current: '',\n\n  /**\n   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n   * @function\n   * @private\n   */\n  _init() {\n\n    // make sure the initialization is only done once when calling _init() several times\n    if (this.isInitialized === true) {\n      return;\n    } else {\n      this.isInitialized = true;\n    }\n\n    var self = this;\n    var $meta = $('meta.foundation-mq');\n    if(!$meta.length){\n      $('<meta class=\"foundation-mq\">').appendTo(document.head);\n    }\n\n    var extractedStyles = $('.foundation-mq').css('font-family');\n    var namedQueries;\n\n    namedQueries = parseStyleToObject(extractedStyles);\n\n    self.queries = []; // reset\n\n    for (var key in namedQueries) {\n      if(namedQueries.hasOwnProperty(key)) {\n        self.queries.push({\n          name: key,\n          value: `only screen and (min-width: ${namedQueries[key]})`\n        });\n      }\n    }\n\n    this.current = this._getCurrentSize();\n\n    this._watcher();\n  },\n\n  /**\n   * Reinitializes the media query helper.\n   * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n   * @function\n   * @private\n   */\n  _reInit() {\n    this.isInitialized = false;\n    this._init();\n  },\n\n  /**\n   * Checks if the screen is at least as wide as a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n   */\n  atLeast(size) {\n    var query = this.get(size);\n\n    if (query) {\n      return window.matchMedia(query).matches;\n    }\n\n    return false;\n  },\n\n  /**\n   * Checks if the screen is within the given breakpoint.\n   * If smaller than the breakpoint of larger than its upper limit it returns false.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n   */\n  only(size) {\n    return size === this._getCurrentSize();\n  },\n\n  /**\n   * Checks if the screen is within a breakpoint or smaller.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n   */\n  upTo(size) {\n    const nextSize = this.next(size);\n\n    // If the next breakpoint does not match, the screen is smaller than\n    // the upper limit of this breakpoint.\n    if (nextSize) {\n      return !this.atLeast(nextSize);\n    }\n\n    // If there is no next breakpoint, the \"size\" breakpoint does not have\n    // an upper limit and the screen will always be within it or smaller.\n    return true;\n  },\n\n  /**\n   * Checks if the screen matches to a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n   */\n  is(size) {\n    const parts = size.trim().split(' ').filter(p => !!p.length);\n    const [bpSize, bpModifier = ''] = parts;\n\n    // Only the breakpont\n    if (bpModifier === 'only') {\n      return this.only(bpSize);\n    }\n    // At least the breakpoint (included)\n    if (!bpModifier || bpModifier === 'up') {\n      return this.atLeast(bpSize);\n    }\n    // Up to the breakpoint (included)\n    if (bpModifier === 'down') {\n      return this.upTo(bpSize);\n    }\n\n    throw new Error(`\n      Invalid breakpoint passed to MediaQuery.is().\n      Expected a breakpoint name formatted like \"<size> <modifier>\", got \"${size}\".\n    `);\n  },\n\n  /**\n   * Gets the media query of a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to get.\n   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n   */\n  get(size) {\n    for (var i in this.queries) {\n      if(this.queries.hasOwnProperty(i)) {\n        var query = this.queries[i];\n        if (size === query.name) return query.value;\n      }\n    }\n\n    return null;\n  },\n\n  /**\n   * Get the breakpoint following the given breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint.\n   * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n   */\n  next(size) {\n    const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n    if (queryIndex === -1) {\n      throw new Error(`\n        Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n        Ensure it is present in your Sass \"$breakpoints\" setting.\n      `);\n    }\n\n    const nextQuery = this.queries[queryIndex + 1];\n    return nextQuery ? nextQuery.name : null;\n  },\n\n  /**\n   * Returns the name of the breakpoint related to the given value.\n   * @function\n   * @private\n   * @param {String|Object} value - Breakpoint name or query object.\n   * @returns {String} Name of the breakpoint.\n   */\n  _getQueryName(value) {\n    if (typeof value === 'string')\n      return value;\n    if (typeof value === 'object')\n      return value.name;\n    throw new TypeError(`\n      Invalid value passed to MediaQuery._getQueryName().\n      Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n    `);\n  },\n\n  /**\n   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n   * @function\n   * @private\n   * @returns {String} Name of the current breakpoint.\n   */\n  _getCurrentSize() {\n    var matched;\n\n    for (var i = 0; i < this.queries.length; i++) {\n      var query = this.queries[i];\n\n      if (window.matchMedia(query.value).matches) {\n        matched = query;\n      }\n    }\n\n    return matched && this._getQueryName(matched);\n  },\n\n  /**\n   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n   * @function\n   * @private\n   */\n  _watcher() {\n    $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n      var newSize = this._getCurrentSize(), currentSize = this.current;\n\n      if (newSize !== currentSize) {\n        // Change the current media query\n        this.current = newSize;\n\n        // Broadcast the media query change on the window\n        $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n      }\n    });\n  }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n  var styleObject = {};\n\n  if (typeof str !== 'string') {\n    return styleObject;\n  }\n\n  str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n  if (!str) {\n    return styleObject;\n  }\n\n  styleObject = str.split('&').reduce(function(ret, param) {\n    var parts = param.replace(/\\+/g, ' ').split('=');\n    var key = parts[0];\n    var val = parts[1];\n    key = decodeURIComponent(key);\n\n    // missing `=` should be `null`:\n    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n    val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n    if (!ret.hasOwnProperty(key)) {\n      ret[key] = val;\n    } else if (Array.isArray(ret[key])) {\n      ret[key].push(val);\n    } else {\n      ret[key] = [ret[key], val];\n    }\n    return ret;\n  }, {});\n\n  return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}