{"version":3,"sources":["webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://QuickSense/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://QuickSense/./src/components/Blog/blogArticle.js","webpack://QuickSense/./src/components/Breadcrumb/breadcrumb.js","webpack://QuickSense/./src/components/GetStarted/getStarted.js","webpack://QuickSense/./src/components/SEO/seo.js","webpack://QuickSense/./src/components/Section/section.js","webpack://QuickSense/./src/pages/resources/index.js","webpack://QuickSense/./node_modules/katex/dist/contrib/auto-render.mjs"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_slicedToArray","arr","Array","isArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","push","value","err","unsupportedIterableToArray","BlogArticle","render","regex","RegExp","className","this","thumbnail","src","width","height","alt","title","createdDate","topic","Link","to","slug","topicName","toLowerCase","replace","topicCategory","description","React","Breadcrumb","aria-label","hideHomeLink","listItemClasses","linkClasses","links","map","link","index","last","aria-current","style","textTransform","name","destination","GetStarted","background","center","lg","superImage","data-srcset","superImageWebp","type","superImageWidth","superImageHeight","data-src","loading","superImageClass","superImageAlt","dangerouslySetInnerHTML","__html","classes","href","event","eventValues","buttonText","bookButton","secondary","secondaryButton","isInternal","secondaryButtonType","secondaryButtonDestination","secondaryButtonEvent","secondaryButtonText","defaultProps","buttonVariant","location","SEO","lang","meta","keywords","ldJsonData","children","StaticQuery","query","detailsQuery","data","metaDescription","site","siteMetadata","htmlAttributes","titleTemplate","content","property","author","concat","join","JSON","stringify","Section","ref","refProp","spacing","containerClasses","data-sal","animation","animationType","data-sal-duration","animationDuration","data-sal-delay","animationDelay","data-sal-easing","animationEasing","fluid","rowClasses","as","breadcrumbs","superTitle","titleClasses","listContent","contentImage","contentImageWebp","contentImageWidth","contentImageHeight","contentImageClass","contentImageAlt","BlogPage","_renderLatex","renderMathInElement","katexField","state","searchText","filterValue","componentDidMount","componentDidUpdate","notes","allContentfulNotes","nodes","categories","allContentfulTopicCategory","xs","onKeyUp","e","setState","currentTarget","onChange","unselectable","hidden","node","id","onClick","filter","includes","NOTES_SLUG","topicImageSource","createdAt","findEndOfMath","delimiter","text","startIndex","braceLevel","delimLength","character","slice","amsRegex","renderMathInText","optionsCopy","delimiters","regexLeft","x","left","search","findIndex","delim","startsWith","right","rawData","math","test","display","splitAtDelimiters","fragment","document","createDocumentFragment","appendChild","createTextNode","span","createElement","displayMode","preProcess","errorCallback","renderElem","elem","childNodes","childNode","nodeType","frag","textContent","replaceChild","ignoredTags","indexOf","nodeName","ignoredClasses","every","options","Error","option","hasOwnProperty","console","error","macros"],"mappings":"6GAAe,SAASA,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qC,mECFxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAInC,SAASO,EAAad,EAAae,EAAYC,GAG5D,OAFID,GAAYb,EAAkBF,EAAYiB,UAAWF,GACrDC,GAAad,EAAkBF,EAAagB,GACzChB,E,iHCTM,SAASkB,EAAeC,EAAKd,GAC1C,OCLa,SAAyBc,GACtC,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,EDIxB,CAAeA,IELT,SAA+BA,EAAKd,GACjD,IAAIiB,EAAY,MAAPH,EAAc,KAAyB,oBAAXI,QAA0BJ,EAAII,OAAOC,WAAaL,EAAI,cAE3F,GAAU,MAANG,EAAJ,CACA,IAIIG,EAAIC,EAJJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKP,EAAKA,EAAGQ,KAAKX,KAAQS,GAAMH,EAAKH,EAAGS,QAAQC,QAC9CL,EAAKM,KAAKR,EAAGS,QAET7B,GAAKsB,EAAKrB,SAAWD,GAH4BuB,GAAK,IAK5D,MAAOO,GACPN,GAAK,EACLH,EAAKS,EACL,QACA,IACOP,GAAsB,MAAhBN,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIO,EAAI,MAAMH,GAIlB,OAAOC,GFtBuB,CAAqBR,EAAKd,KAAM,EAAA+B,EAAA,GAA2BjB,EAAKd,IGLjF,WACb,MAAM,IAAIJ,UAAU,6IHIgF,K,oEIDhGoC,E,6FACFC,OAAA,WACI,IAAMC,EAAQ,IAAIC,OAAO,OAAQ,KACjC,OAAO,mCAASC,UAAU,gCACtB,8BAAIA,UAAU,kCACTC,KAAKtC,MAAMuC,WAAa,+BAAKF,UAAU,8BACpC,+BAAKG,IAAKF,KAAKtC,MAAMuC,UAAWF,UAAU,yBAAyBI,MAAO,GAAIC,OAAQ,GAAIC,IAAQL,KAAKtC,MAAM4C,MAAhB,iBAEjG,oCAAON,KAAKtC,MAAM4C,QAEtB,+BAAKP,UAAU,yBACX,mCAAMC,KAAKtC,MAAM6C,YAAjB,KACA,2CACKP,KAAKtC,MAAM8C,OAAS,wBAAC,EAAAC,KAAD,CAAMV,UAAW,uBAAwBW,GAAE,IAAMV,KAAKtC,MAAMiD,KAAjB,IAAyBX,KAAKtC,MAAM8C,MAAMI,UAAUC,cAAcC,QAAQjB,EAAO,MAASG,KAAKtC,MAAM8C,MAAMI,WAC1KZ,KAAKtC,MAAMqD,eAAiB,wBAAC,EAAAN,KAAD,CAAMV,UAAW,uBAAwBW,GAAE,IAAMV,KAAKtC,MAAMiD,KAAjB,IAAyBX,KAAKtC,MAAMqD,cAAcA,cAAcF,cAAcC,QAAQjB,EAAO,MAASG,KAAKtC,MAAMqD,cAAcA,iBAG/M,8BAAIhB,UAAU,UACd,6BAAGA,UAAU,gCAAgCC,KAAKtC,MAAMsD,aACxD,kCAAQjB,UAAU,2DAAlB,gB,GAnBckB,qBAoC1B,O,oECpCMC,E,6FACFtB,OAAA,WAAS,IAAD,OACJ,OAAO,+BAAKuB,aAAW,cACnB,8BAAIpB,UAAU,oBAELC,KAAKtC,MAAM0D,cAAgB,8BAAIrB,UAAS,mBAAqBC,KAAKtC,MAAM2D,iBACrE,wBAAC,EAAAZ,KAAD,CAAMC,GAAI,IAAKX,UAAS,GAAKC,KAAKtC,MAAM4D,aAAxC,SAOJtB,KAAKtC,MAAM6D,MAAMC,KAAI,SAACC,EAAMC,GAAP,OAChBA,EAAM9D,QAAU8D,GAAUD,EAAKE,KAC5B,8BAAIC,eAAc,OAAQ7B,UAAS,2BAA4B,EAAKrC,MAAM2D,iBAAmB,EAAK3D,MAAM2D,iBAAmBlD,IAAKuD,EAAOG,MAAO,CAACC,cAAe,eACzJL,EAAKM,MAEV,8BAAIhC,UAAS,oBAAqB,EAAKrC,MAAM2D,iBAAmB,EAAK3D,MAAM2D,iBAAmBlD,IAAKuD,EAAOG,MAAO,CAACC,cAAe,eAC7H,wBAAC,EAAArB,KAAD,CAAMC,GAAIe,EAAKO,YAAajC,UAAS,GAAK,EAAKrC,MAAM4D,aAAgBG,EAAKM,a,GAnBjFd,qBAoCzB,O,wFCjCMgB,E,6FAEFrC,OAAA,WACI,OAAO,wBAAC,IAAD,CAASsC,WAAYlC,KAAKtC,MAAMwE,WAAYC,QAAQ,GACvD,wBAAC,IAAD,CAAKpC,UAAU,2EAA2EqC,GAAI,KAEpFpC,KAAKtC,MAAM2E,YACb,sCACI,uCACI,kCAAQC,cAAatC,KAAKtC,MAAM6E,eAAgBC,KAAK,eACrD,+BACIrC,MAAOH,KAAKtC,MAAM+E,gBAClBrC,OAAQJ,KAAKtC,MAAMgF,iBACnBC,WAAU3C,KAAKtC,MAAM2E,WACrBO,QAAS,OACT7C,UAAS,oBAAsBC,KAAKtC,MAAMmF,gBAC1CxC,IAAKL,KAAKtC,MAAMoF,kBAIhC,8BAAI/C,UAAU,WAAWC,KAAKtC,MAAM4C,OACpC,6BAAGyC,wBAAyB,CAACC,OAAQhD,KAAKtC,MAAMsD,eAChD,+BAAKjB,UAAU,4EACX,wBAAC,IAAD,CAAQkD,QAAQ,iCAAiCC,KAAK,oCAAoCC,MAAOnD,KAAKtC,MAAMyF,MAAOC,YAAapD,KAAKtC,MAAM0F,aAAcpD,KAAKtC,MAAM2F,cACjKrD,KAAKtC,MAAM4F,YAAc,wBAAC,IAAD,CAAQC,WAAS,EAAC7C,GAAI,gBAAiBuC,QAAS,uBAAhD,kBAE7BjD,KAAKtC,MAAM8F,iBACT,wBAAC,IAAD,CAAQ/B,MAAI,EACXgC,WAA8C,YAAlCzD,KAAKtC,MAAMgG,oBACvBhD,GAAIV,KAAKtC,MAAMiG,2BACfT,KAAMlD,KAAKtC,MAAMiG,2BACjBR,MAAOnD,KAAKtC,MAAMkG,qBAClBR,YAAapD,KAAKtC,MAAM0F,YACxBH,QAAO,SAA2C,YAAjCjD,KAAKtC,MAAMgG,oBAAmC,cAAe,KAC7E1D,KAAKtC,MAAMmG,wB,GAlCT5C,qBAiEzBgB,EAAW6B,aAAe,CACtB5B,WAAY,gBACZ5B,MAAO,2BACPU,YAAa,yEACbqC,WAAY,eACZU,cAAe,kBACfZ,MAAO,iCACPK,iBAAiB,EACjBK,oBAAqB,uCACrBH,oBAAqB,WACrBC,2BAA4B,aAC5BC,qBAAsB,mCACtBR,YAAa,CACTY,SAAU,WAKlB,O,oECrFA,SAASC,EAAT,GAAkF,IAAnEjD,EAAkE,EAAlEA,YAAakD,EAAqD,EAArDA,KAAMC,EAA+C,EAA/CA,KAAMC,EAAyC,EAAzCA,SAAU9D,EAA+B,EAA/BA,MAAO+D,EAAwB,EAAxBA,WAAYC,EAAY,EAAZA,SACjE,OACI,wBAAC,EAAAC,YAAD,CACIC,MAAOC,EACP7E,OAAQ,SAAA8E,GACJ,IAAMC,EACZ3D,GAAe0D,EAAKE,KAAKC,aAAa7D,YAChC,OACI,wBAAC,IAAD,CACI8D,eAAgB,CACZZ,QAEJ5D,MAAOA,EACPyE,cAAa,QAAUL,EAAKE,KAAKC,aAAavE,MAC9C6D,KAAM,CACF,CACIpC,KAAM,cACNiD,QAASL,GAEb,CACIM,SAAU,WACVD,QAAS1E,GAEb,CACI2E,SAAU,iBACVD,QAASL,GAEb,CACIM,SAAU,UACVD,QAAS,WAEb,CACIjD,KAAM,eACNiD,QAAS,WAEb,CACIjD,KAAM,kBACNiD,QAASN,EAAKE,KAAKC,aAAaK,QAEpC,CACInD,KAAM,gBACNiD,QAAS1E,GAEb,CACIyB,KAAM,sBACNiD,QAASL,IAGZQ,OACGf,EAASxG,OAAS,EACZ,CACEmE,KAAM,WACNiD,QAASZ,EAASgB,KAAK,OAEzB,IAETD,OAAOhB,IAEVE,GAAc,kCAAQ7B,KAAK,sBAAsBO,wBAAyB,CAACC,OAAQqC,KAAKC,UAAUjB,MAClGC,MAQ1BL,EAAIH,aAAe,CACfI,KAAM,KACNC,KAAM,GACNC,SAAU,GACVpD,YAAa,4LAajB,MAEA,IAAMyD,EAAY,a,kGClFZc,E,6FACF3F,OAAA,WAAU,IAAD,OACL,OAAO,+BAAK4F,IAAKxF,KAAKtC,MAAM+H,QAAS1F,UAAcC,KAAKtC,MAAMgI,QAAhB,IAA2B1F,KAAKtC,MAAMwE,WAAtC,IAAoDlC,KAAKtC,MAAMiI,iBAAoBC,WAAU5F,KAAKtC,MAAMmI,WAAa7F,KAAKtC,MAAMoI,cAAeC,oBAAmB/F,KAAKtC,MAAMmI,WAAa7F,KAAKtC,MAAMsI,kBAAmBC,iBAAgBjG,KAAKtC,MAAMmI,WAAa7F,KAAKtC,MAAMwI,eAAgBC,kBAAiBnG,KAAKtC,MAAMmI,WAAa7F,KAAKtC,MAAM0I,iBACzX,wBAAC,IAAD,CAAWrG,UAAS,IAAMC,KAAKtC,MAAMgI,QAAWW,MAAOrG,KAAKtC,MAAM2I,OAC9D,wBAAC,IAAD,CAAKtG,UAAcC,KAAKtC,MAAMgI,QAAhB,IAA2B1F,KAAKtC,MAAM4I,WAAtC,MAAqDtG,KAAKtC,MAAMyE,QAAUnC,KAAKtC,MAAM4C,QAAU,qDAErGN,KAAKtC,MAAM4C,MACP,wBAAC,IAAD,CAAKP,UAAU,WAAWwG,GAAG,UAAUnE,GAAI,KAEjCpC,KAAKtC,MAAM8I,aACT,wBAAC,IAAD,CAAYjF,MAAOvB,KAAKtC,MAAM8I,gBAGhCxG,KAAKtC,MAAM2E,YACb,sCACI,uCACI,kCAAQC,cAAatC,KAAKtC,MAAM6E,eAAgBC,KAAK,eACrD,+BACIrC,MAAOH,KAAKtC,MAAM+E,gBAClBrC,OAAQJ,KAAKtC,MAAMgF,iBACnBC,WAAU3C,KAAKtC,MAAM2E,WACrBO,QAAS,OACT7C,UAAS,aAAeC,KAAKtC,MAAMmF,gBACnCxC,IAAKL,KAAKtC,MAAMoF,iBAExB,wCACI,+BACI3C,MAAOH,KAAKtC,MAAM+E,gBAClBrC,OAAQJ,KAAKtC,MAAMgF,iBACnBxC,IAAKF,KAAKtC,MAAM2E,WAChBO,QAAS,OACT7C,UAAS,IAAMC,KAAKtC,MAAMmF,gBAC1BxC,IAAKL,KAAKtC,MAAMoF,oBAI7B9C,KAAKtC,MAAM+I,YAAc,kCAAQ1G,UAAU,iCAAiCC,KAAKtC,MAAM+I,YAC1F,8BAAI1G,UAAS,WAAaC,KAAKtC,MAAMgJ,aAAxB,KAA0C1G,KAAKtC,MAAM4C,SAE5DN,KAAKtC,MAAMsH,SACThF,KAAKtC,MAAMsH,QAAQxD,KAAI,SAACkD,EAAMhD,GAAP,OACnB,6BAAGvD,IAAKuD,EAAOqB,wBAAyB,CAACC,OAAQ0B,UAIvD1E,KAAKtC,MAAMiJ,aACb,kCAEQ3G,KAAKtC,MAAMiJ,YAAYnF,KAAI,SAACkD,EAAKhD,GAAN,OACvB,8BAAIvD,IAAKuD,EAAO3B,UAAS,GAAK,EAAKrC,MAAM2D,gBAAmB0B,wBAAyB,CAACC,OAAQ0B,SAM1G1E,KAAKtC,MAAMkJ,cAAgB,kCAAQ7G,UAAU,oDACzC,uCACI,kCAAQuC,cAAatC,KAAKtC,MAAMmJ,iBAAkBrE,KAAK,eACvD,+BACIrC,MAAOH,KAAKtC,MAAMoJ,kBAClB1G,OAAQJ,KAAKtC,MAAMqJ,mBACnBpE,WAAU3C,KAAKtC,MAAMkJ,aACrBhE,QAAS,OACT7C,UAAS,6BAA+BC,KAAKtC,MAAMsJ,kBACnD3G,IAAKL,KAAKtC,MAAMuJ,mBAExB,wCACI,+BACI9G,MAAOH,KAAKtC,MAAMoJ,kBAClB1G,OAAQJ,KAAKtC,MAAMqJ,mBACnB7G,IAAKF,KAAKtC,MAAMkJ,aAChB7G,UAAS,oBAAsBC,KAAKtC,MAAMsJ,kBAC1CpE,QAAS,OACTvC,IAAKL,KAAKtC,MAAMuJ,qBAI5B,KAEfjH,KAAKtC,MAAM4G,a,GA/EVrD,qBA0HtBsE,EAAQzB,aAAe,CACnB+B,WAAW,EACXC,cAAe,OACfE,kBAAmB,OACnBE,eAAgB,MAChBE,gBAAiB,iBACjBV,QAAS,eACToB,kBAAmB,MACnBC,mBAAoB,MACpBV,OAAO,GAGX,O,qKC5HMa,E,YAEF,WAAYxJ,GAAQ,IAAD,SACf,cAAMA,IAAN,MAOJyJ,aAAe,YACXC,OAAoB,EAAKC,aAPzB,EAAKC,MAAQ,CACTC,WAAY,GACZC,YAAa,IAJF,G,uCAYnBC,kBAAA,WACIzH,KAAKmH,gB,EAGTO,mBAAA,WACI1H,KAAKmH,gB,EAGTvH,OAAA,YAAiB,IAAD,OAAP8E,EAAO,EAAPA,KACCiD,EAAQjD,EAAKkD,mBAAmBC,MAChCC,EAAapD,EAAKqD,2BAA2BF,MACnD,OAAO,gDACH,wBAAC,IAAD,CAAKvH,MAAM,mBACX,wBAAC,IAAD,CAAQP,UAAW,mBACf,+BAAKyF,IAAK,SAAAA,GAAG,OAAI,EAAK6B,WAAa7B,IAC/B,wBAAC,IAAD,CAAStD,WAAY,WAAY2D,WAAW,GACxC,wBAAC,IAAD,CAAKzD,GAAI,IACL,8BAAIrC,UAAU,sDAAd,kBACA,wBAAC,IAAD,KACI,wBAAC,IAAD,CAAKiI,GAAI,EAAG5F,GAAI,EAAGrC,UAAU,cACzB,+CACA,iCAAOyC,KAAK,SAASzC,UAAU,eAAekI,QAAS,SAAAC,GAAC,OAAI,EAAKC,SAAS,CAACZ,WAAYW,EAAEE,cAAc5I,YAE3G,wBAAC,IAAD,CAAKwI,GAAI,EAAG5F,GAAI,EAAIrC,UAAU,cAC1B,kDACA,kCAAQyC,KAAK,SAASzC,UAAU,eAAeP,MAAOQ,KAAKsH,MAAME,YAAaa,SAAU,SAAAH,GAAC,OAAI,EAAKC,SAAS,CAACX,YAAaU,EAAEE,cAAc5I,UACrI,kCAAQ8I,cAAY,EAACC,QAAM,IAC3B,6CAEIT,EAAWtG,KAAI,SAACgH,GAAD,OACX,kCAAQrK,IAAKqK,EAAKC,GAAIjJ,MAAOgJ,EAAKzH,eAAgByH,EAAKzH,qBAM3E,mCACA,wBAAC,IAAD,CAAKhB,UAAU,kCACX,wBAAC,IAAD,CAAKA,UAAU,yBACX,mCAAM4H,EAAM/J,OAAZ,mBACA,+BAAKmC,UAAU,oCACRC,KAAKsH,MAAME,aAAe,gDACzB,oDACA,gCAAMzH,UAAU,qCAAqC2I,QAAS,kBAAM,EAAKP,SAAS,CAACX,YAAa,OAC3FxH,KAAKsH,MAAME,YADhB,IAC6B,gCAAMzH,UAAU,mBAAhB,UAK7C,wBAAC,IAAD,KAEQ4H,EAAMgB,QAAO,SAAAnJ,GAAK,OAAIA,EAAMuB,cAAcA,cAAc6H,SAAS,EAAKtB,MAAME,eAC5EhI,EAAMc,MAAMO,cAAc+H,SAAS,EAAKtB,MAAMC,WAAW1G,gBAAkBrB,EAAMwB,YAAYA,YAAYH,cAAc+H,SAAS,EAAKtB,MAAMC,WAAW1G,mBACpJW,KAAI,SAACgH,GAAD,OACF,wBAAC,IAAD,CAAKjC,GAAG,MAAMxG,UAAU,yCAAyC5B,IAAKqK,EAAKC,IACvE,wBAAC,EAAAhI,KAAD,CAAMC,GAAE,IAAMmI,KAAN,IAAoBL,EAAK7H,KAAQZ,UAAU,mBAC/C,wBAAC,IAAD,CACIE,UAAWuI,EAAKhI,MAAMsI,iBACtBxI,MAAOkI,EAAKlI,MACZC,YAAaiI,EAAKO,UAClBvI,MAAOgI,EAAKhI,MACZO,cAAeyH,EAAKzH,cACpBC,YAAawH,EAAKxH,YAAYA,YAC9BL,KAAMkI,gBAU1C,wBAAC,IAAD,CACI3G,WAAW,kBACX6B,cAAc,UACdP,iBAAiB,EACjBK,oBAAmB,qE,GA3FhB5C,qBAkGvB,a,gFClHI+H,EAAgB,SAAuBC,EAAWC,EAAMC,GAO1D,IAJA,IAAIzH,EAAQyH,EACRC,EAAa,EACbC,EAAcJ,EAAUrL,OAErB8D,EAAQwH,EAAKtL,QAAQ,CAC1B,IAAI0L,EAAYJ,EAAKxH,GAErB,GAAI0H,GAAc,GAAKF,EAAKK,MAAM7H,EAAOA,EAAQ2H,KAAiBJ,EAChE,OAAOvH,EACgB,OAAd4H,EACT5H,IACuB,MAAd4H,EACTF,IACuB,MAAdE,GACTF,IAGF1H,IAGF,OAAQ,GAON8H,EAAW,YA6DXC,EAAmB,SAA0BP,EAAMQ,GACrD,IAAIhF,EA5DkB,SAA2BwE,EAAMS,GAOvD,IANA,IAAIjI,EACAgD,EAAO,GACPkF,EAAY,IAAI9J,OAAO,IAAM6J,EAAWnI,KAAI,SAAUqI,GACxD,OAAmBA,EAAEC,KATThJ,QAAQ,wBAAyB,WAU5CsE,KAAK,KAAO,MAKE,KAFf1D,EAAQwH,EAAKa,OAAOH,KADT,CAOPlI,EAAQ,IACVgD,EAAKnF,KAAK,CACRiD,KAAM,OACNkC,KAAMwE,EAAKK,MAAM,EAAG7H,KAEtBwH,EAAOA,EAAKK,MAAM7H,IAIpB,IAAI/D,EAAIgM,EAAWK,WAAU,SAAUC,GACrC,OAAOf,EAAKgB,WAAWD,EAAMH,SAI/B,IAAe,KAFfpI,EAAQsH,EAAcW,EAAWhM,GAAGwM,MAAOjB,EAAMS,EAAWhM,GAAGmM,KAAKlM,SAGlE,MAGF,IAAIwM,EAAUlB,EAAKK,MAAM,EAAG7H,EAAQiI,EAAWhM,GAAGwM,MAAMvM,QACpDyM,EAAOb,EAASc,KAAKF,GAAWA,EAAUlB,EAAKK,MAAMI,EAAWhM,GAAGmM,KAAKlM,OAAQ8D,GACpFgD,EAAKnF,KAAK,CACRiD,KAAM,OACNkC,KAAM2F,EACND,QAASA,EACTG,QAASZ,EAAWhM,GAAG4M,UAEzBrB,EAAOA,EAAKK,MAAM7H,EAAQiI,EAAWhM,GAAGwM,MAAMvM,QAUhD,MAPa,KAATsL,GACFxE,EAAKnF,KAAK,CACRiD,KAAM,OACNkC,KAAMwE,IAIHxE,EAUI8F,CAAkBtB,EAAMQ,EAAYC,YAE/C,GAAoB,IAAhBjF,EAAK9G,QAAiC,SAAjB8G,EAAK,GAAGlC,KAI/B,OAAO,KAKT,IAFA,IAAIiI,EAAWC,SAASC,yBAEfhN,EAAI,EAAGA,EAAI+G,EAAK9G,OAAQD,IAC/B,GAAqB,SAAjB+G,EAAK/G,GAAG6E,KACViI,EAASG,YAAYF,SAASG,eAAenG,EAAK/G,GAAG+G,WAChD,CACL,IAAIoG,EAAOJ,SAASK,cAAc,QAC9BV,EAAO3F,EAAK/G,GAAG+G,KAGnBgF,EAAYsB,YAActG,EAAK/G,GAAG4M,QAElC,IACMb,EAAYuB,aACdZ,EAAOX,EAAYuB,WAAWZ,IAGhC,WAAaA,EAAMS,EAAMpB,GACzB,MAAOxB,GACP,KAAMA,aAAa,gBACjB,MAAMA,EAGRwB,EAAYwB,cAAc,uCAAyCxG,EAAK/G,GAAG+G,KAAO,UAAWwD,GAC7FuC,EAASG,YAAYF,SAASG,eAAenG,EAAK/G,GAAGyM,UACrD,SAGFK,EAASG,YAAYE,GAIzB,OAAOL,GAGLU,EAAa,SAASA,EAAWC,EAAM1B,GACzC,IAAK,IAAI/L,EAAI,EAAGA,EAAIyN,EAAKC,WAAWzN,OAAQD,IAAK,CAC/C,IAAI2N,EAAYF,EAAKC,WAAW1N,GAEhC,GAA2B,IAAvB2N,EAAUC,SAAgB,CAE5B,IAAIC,EAAO/B,EAAiB6B,EAAUG,YAAa/B,GAE/C8B,IACF7N,GAAK6N,EAAKH,WAAWzN,OAAS,EAC9BwN,EAAKM,aAAaF,EAAMF,SAEM,IAAvBA,EAAUC,UACnB,WAEE,IAAIxL,EAAY,IAAMuL,EAAUvL,UAAY,KAC8C,IAAvE2J,EAAYiC,YAAYC,QAAQN,EAAUO,SAAShL,gBAAyB6I,EAAYoC,eAAeC,OAAM,SAAUlC,GACxI,OAA6C,IAAtC9J,EAAU6L,QAAQ,IAAM/B,EAAI,SAInCsB,EAAWG,EAAW5B,GAR1B,KAgBFtC,EAAsB,SAA6BgE,EAAMY,GAC3D,IAAKZ,EACH,MAAM,IAAIa,MAAM,iCAGlB,IAAIvC,EAAc,GAElB,IAAK,IAAIwC,KAAUF,EACbA,EAAQG,eAAeD,KACzBxC,EAAYwC,GAAUF,EAAQE,IAKlCxC,EAAYC,WAAaD,EAAYC,YAAc,CAAC,CAClDG,KAAM,KACNK,MAAO,KACPI,SAAS,GACR,CACDT,KAAM,MACNK,MAAO,MACPI,SAAS,GAKX,CACET,KAAM,oBACNK,MAAO,kBACPI,SAAS,GACR,CACDT,KAAM,iBACNK,MAAO,eACPI,SAAS,GACR,CACDT,KAAM,mBACNK,MAAO,iBACPI,SAAS,GACR,CACDT,KAAM,kBACNK,MAAO,gBACPI,SAAS,GACR,CACDT,KAAM,cACNK,MAAO,YACPI,SAAS,GACR,CACDT,KAAM,MACNK,MAAO,MACPI,SAAS,IAEXb,EAAYiC,YAAcjC,EAAYiC,aAAe,CAAC,SAAU,WAAY,QAAS,WAAY,MAAO,OAAQ,UAChHjC,EAAYoC,eAAiBpC,EAAYoC,gBAAkB,GAC3DpC,EAAYwB,cAAgBxB,EAAYwB,eAAiBkB,QAAQC,MAGjE3C,EAAY4C,OAAS5C,EAAY4C,QAAU,GAC3CnB,EAAWC,EAAM1B","file":"component---src-pages-resources-index-js-fad2f289afc8339c1269.js","sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import React from 'react'\nimport { Link } from 'gatsby'\nimport { PropTypes } from 'prop-types'\n\nclass BlogArticle extends React.Component {\n render(){\n const regex = new RegExp('[ ,]', 'g')\n return
\n

\n {this.props.thumbnail &&
\n {`${this.props.title}\n
} \n {this.props.title}\n

\n
\n
{this.props.createdDate}
\n
Tags: \n {this.props.topic && {this.props.topic.topicName}}\n {this.props.topicCategory && {this.props.topicCategory.topicCategory}}\n
\n
\n
\n

{this.props.description}

\n \n
\n }\n}\n\nBlogArticle.propTypes = {\n thumbnail: PropTypes.string,\n title: PropTypes.string,\n createdDate: PropTypes.string,\n tags: PropTypes.array,\n description: PropTypes.string,\n slug: PropTypes.string,\n topic: PropTypes.obj,\n topicCategory: PropTypes.obj\n\n}\n\nexport default BlogArticle\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport { PropTypes } from 'prop-types'\n\nclass Breadcrumb extends React.Component {\n render(){\n return \n }\n}\n\nBreadcrumb.propTypes = {\n links: PropTypes.array,\n linkClasses: PropTypes.string,\n listClasses: PropTypes.string,\n listItemClasses: PropTypes.string,\n hideHomeLink: PropTypes.bool,\n}\n\nexport default Breadcrumb\n","import React from 'react'\nimport PropTypes from 'prop-types'\n//Components\nimport Col from 'react-bootstrap/Col'\nimport Button from '../Button/button'\nimport Section from '../Section/section'\n\nclass GetStarted extends React.Component {\n\n render(){\n return
\n \n {\n !!this.props.superImage && \n
\n \n \n {this.props.superImageAlt}\n \n
\n }\n

{this.props.title}

\n

\n

\n \n {!!this.props.bookButton && }\n
\n {!!this.props.secondaryButton \n && \n }\n \n
\n }\n}\n\nGetStarted.propTypes = {\n background: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n buttonText: PropTypes.string,\n buttonVariant: PropTypes.string,\n bookButton: PropTypes.bool,\n secondaryButton: PropTypes.bool,\n secondaryButtonText: PropTypes.string,\n secondaryButtonType: PropTypes.string,\n secondaryButtonDestination: PropTypes.string,\n superImage: PropTypes.string,\n superImageWebp: PropTypes.string,\n superImageWidth: PropTypes.string,\n superImageHeight: PropTypes.string,\n superImageClass: PropTypes.string,\n superImageAlt: PropTypes.string,\n event: PropTypes.string,\n eventValues: PropTypes.object,\n secondaryButtonEvent: PropTypes.string,\n secondaryButtonEventValues: PropTypes.object\n}\n\nGetStarted.defaultProps = {\n background: 'bg-light-pink',\n title: 'Try QuickSense for free!',\n description: 'Everything you need to get an A / 7+ in IGCSE, GCSE and O-Level Maths.',\n buttonText: 'Try for free',\n buttonVariant: 'outline-primary',\n event: 'website_sign_up_button_clicked',\n secondaryButton: true,\n secondaryButtonText: 'Unsure? Checkout our A/7+ Guarantee.',\n secondaryButtonType: 'internal',\n secondaryButtonDestination: '/guarantee',\n secondaryButtonEvent: 'website_guarantee_button_clicked',\n eventValues: {\n location: 'Footer'\n }\n\n}\n\nexport default GetStarted","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql } from 'gatsby'\n\nfunction SEO({ description, lang, meta, keywords, title, ldJsonData, children }) {\n return (\n {\n const metaDescription =\n description || data.site.siteMetadata.description\n return (\n 0\n ? {\n name: 'keywords',\n content: keywords.join(', '),\n }\n : []\n )\n .concat(meta)}\n >\n { ldJsonData && }\n { children }\n \n )\n }}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: 'en',\n meta: [],\n keywords: [],\n description: 'Everything you need to get an A+ in IGCSE, GCSE and O Level Maths. Questions, Explanations, 24/7 Tutoring, Notes & Analytics included. Shown to increase student test scores by over 20%',\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n ldJsonData: PropTypes.string,\n children: PropTypes.node\n}\n\nexport default SEO\n\nconst detailsQuery = graphql`\n query DefaultSEOQuery {\n site {\n siteMetadata {\n title\n description\n author,\n siteUrl\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport Container from 'react-bootstrap/Container'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\n\nimport Breadcrumb from '../../components/Breadcrumb/breadcrumb'\n\nclass Section extends React.Component {\n render() {\n return
\n \n \n {\n this.props.title ?\n \n {\n !!this.props.breadcrumbs &&\n \n }\n {\n !!this.props.superImage && \n
\n \n \n {this.props.superImageAlt}\n \n \n
\n }\n {!!this.props.superTitle && {this.props.superTitle}}\n

{this.props.title}

\n {\n !!this.props.content &&\n this.props.content.map((data, index) => (\n

\n ))\n }\n {\n !!this.props.listContent &&\n

    \n {\n this.props.listContent.map((data,index) => (\n
  1. \n )) \n }\n
\n }\n {\n this.props.contentImage &&
\n \n \n {this.props.contentImageAlt}\n \n \n
\n }\n : null\n }\n {this.props.children}\n
\n
\n
\n }\n\n}\n\nSection.propTypes = {\n children: PropTypes.node,\n fluid: PropTypes.bool,\n background: PropTypes.string,\n breadcrumbs: PropTypes.array,\n title: PropTypes.string,\n titleClasses: PropTypes.string,\n superTitle: PropTypes.string,\n superImageWebp: PropTypes.string,\n superImageWidth: PropTypes.string,\n superImageHeight: PropTypes.string,\n superImage: PropTypes.string,\n superImageClass: PropTypes.string,\n superImageAlt: PropTypes.string,\n listContent: PropTypes.array,\n listItemClasses: PropTypes.string,\n content: PropTypes.array,\n contentImage: PropTypes.string,\n contentImageWidth: PropTypes.string,\n contentImageHeight: PropTypes.string,\n contentImageClass: PropTypes.string,\n contentImageWebp: PropTypes.string,\n contentImageAlt: PropTypes.string,\n animation: PropTypes.bool,\n animationType: PropTypes.string,\n animationDuration: PropTypes.string,\n animationDelay: PropTypes.string,\n animationEasing: PropTypes.string,\n spacing: PropTypes.string,\n center: PropTypes.bool,\n containerClasses: PropTypes.string,\n rowClasses: PropTypes.string,\n refProp: PropTypes.object\n}\n\nSection.defaultProps = {\n animation: true,\n animationType: 'fade',\n animationDuration: '2000',\n animationDelay: '200',\n animationEasing: 'ease-out-quart',\n spacing: 'py-4 py-sm-5',\n contentImageWidth: '400',\n contentImageHeight: '400',\n fluid: false\n}\n\nexport default Section","import React from 'react'\nimport { graphql, Link } from 'gatsby'\n\n//Katex\nimport renderMathInElement from 'katex/dist/contrib/auto-render'\nimport 'katex/dist/katex.min.css'\n\n// components\nimport Col from 'react-bootstrap/Col'\nimport Row from 'react-bootstrap/Row'\nimport SEO from '../../components/SEO/seo'\nimport Layout from '../../components/Layout/layout'\nimport Section from '../../components/Section/section'\nimport GetStarted from '../../components/GetStarted/getStarted'\nimport Article from '../../components/Blog/blogArticle'\n\n//constants\nimport { NOTES_SLUG } from '../../utils/constants'\n\nclass BlogPage extends React.Component {\n\n constructor(props) {\n super(props)\n this.state = {\n searchText: '',\n filterValue: ''\n }\n }\n\n _renderLatex = () => {\n renderMathInElement(this.katexField)\n }\n\n componentDidMount() {\n this._renderLatex()\n }\n\n componentDidUpdate() {\n this._renderLatex()\n }\n\n render({ data }){\n const notes = data.allContentfulNotes.nodes\n const categories = data.allContentfulTopicCategory.nodes\n return <>\n \n \n
this.katexField = ref}>\n
\n \n

{`Exam Resources`}

\n \n \n \n this.setState({searchText: e.currentTarget.value})}/>\n \n \n \n \n \n \n
\n \n \n
{notes.length} notes returned
\n
\n {!!this.state.filterValue && <>\n Filtered by:\n this.setState({filterValue: ''})}>\n {this.state.filterValue} X\n }\n
\n \n
\n \n {\n notes.filter(value => value.topicCategory.topicCategory.includes(this.state.filterValue) \n && (value.title.toLowerCase().includes(this.state.searchText.toLowerCase()) || value.description.description.toLowerCase().includes(this.state.searchText.toLowerCase()))\n ).map((node) => (\n \n \n
\n \n \n ))\n }\n \n \n
\n
\n \n
\n \n }\n}\n\nexport default BlogPage\n\nexport const query = graphql`\nquery getLessonNote {\n allContentfulNotes {\n nodes {\n slug\n id\n title\n description {\n description\n }\n topic {\n topicImageSource\n topicName\n contentful_id\n }\n topicCategory{\n topicCategory\n contentful_id\n }\n metadata {\n tags {\n name\n }\n }\n updatedAt(formatString: \"MMMM D, YYYY\")\n createdAt(formatString: \"MMMM D, YYYY\")\n }\n }\n allContentfulTopicCategory {\n nodes {\n id\n topicCategory\n }\n \n }\n}\n`\n","import katex from '../katex.mjs';\n/* eslint no-constant-condition:0 */\n\nvar findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {\n // Adapted from\n // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx\n var index = startIndex;\n var braceLevel = 0;\n var delimLength = delimiter.length;\n\n while (index < text.length) {\n var character = text[index];\n\n if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {\n return index;\n } else if (character === \"\\\\\") {\n index++;\n } else if (character === \"{\") {\n braceLevel++;\n } else if (character === \"}\") {\n braceLevel--;\n }\n\n index++;\n }\n\n return -1;\n};\n\nvar escapeRegex = function escapeRegex(string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n\nvar amsRegex = /^\\\\begin{/;\n\nvar splitAtDelimiters = function splitAtDelimiters(text, delimiters) {\n var index;\n var data = [];\n var regexLeft = new RegExp(\"(\" + delimiters.map(function (x) {\n return escapeRegex(x.left);\n }).join(\"|\") + \")\");\n\n while (true) {\n index = text.search(regexLeft);\n\n if (index === -1) {\n break;\n }\n\n if (index > 0) {\n data.push({\n type: \"text\",\n data: text.slice(0, index)\n });\n text = text.slice(index); // now text starts with delimiter\n } // ... so this always succeeds:\n\n\n var i = delimiters.findIndex(function (delim) {\n return text.startsWith(delim.left);\n });\n index = findEndOfMath(delimiters[i].right, text, delimiters[i].left.length);\n\n if (index === -1) {\n break;\n }\n\n var rawData = text.slice(0, index + delimiters[i].right.length);\n var math = amsRegex.test(rawData) ? rawData : text.slice(delimiters[i].left.length, index);\n data.push({\n type: \"math\",\n data: math,\n rawData: rawData,\n display: delimiters[i].display\n });\n text = text.slice(index + delimiters[i].right.length);\n }\n\n if (text !== \"\") {\n data.push({\n type: \"text\",\n data: text\n });\n }\n\n return data;\n};\n/* eslint no-console:0 */\n\n/* Note: optionsCopy is mutated by this method. If it is ever exposed in the\n * API, we should copy it before mutating.\n */\n\n\nvar renderMathInText = function renderMathInText(text, optionsCopy) {\n var data = splitAtDelimiters(text, optionsCopy.delimiters);\n\n if (data.length === 1 && data[0].type === 'text') {\n // There is no formula in the text.\n // Let's return null which means there is no need to replace\n // the current text node with a new one.\n return null;\n }\n\n var fragment = document.createDocumentFragment();\n\n for (var i = 0; i < data.length; i++) {\n if (data[i].type === \"text\") {\n fragment.appendChild(document.createTextNode(data[i].data));\n } else {\n var span = document.createElement(\"span\");\n var math = data[i].data; // Override any display mode defined in the settings with that\n // defined by the text itself\n\n optionsCopy.displayMode = data[i].display;\n\n try {\n if (optionsCopy.preProcess) {\n math = optionsCopy.preProcess(math);\n }\n\n katex.render(math, span, optionsCopy);\n } catch (e) {\n if (!(e instanceof katex.ParseError)) {\n throw e;\n }\n\n optionsCopy.errorCallback(\"KaTeX auto-render: Failed to parse `\" + data[i].data + \"` with \", e);\n fragment.appendChild(document.createTextNode(data[i].rawData));\n continue;\n }\n\n fragment.appendChild(span);\n }\n }\n\n return fragment;\n};\n\nvar renderElem = function renderElem(elem, optionsCopy) {\n for (var i = 0; i < elem.childNodes.length; i++) {\n var childNode = elem.childNodes[i];\n\n if (childNode.nodeType === 3) {\n // Text node\n var frag = renderMathInText(childNode.textContent, optionsCopy);\n\n if (frag) {\n i += frag.childNodes.length - 1;\n elem.replaceChild(frag, childNode);\n }\n } else if (childNode.nodeType === 1) {\n (function () {\n // Element node\n var className = ' ' + childNode.className + ' ';\n var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) {\n return className.indexOf(' ' + x + ' ') === -1;\n });\n\n if (shouldRender) {\n renderElem(childNode, optionsCopy);\n }\n })();\n } // Otherwise, it's something else, and ignore it.\n\n }\n};\n\nvar renderMathInElement = function renderMathInElement(elem, options) {\n if (!elem) {\n throw new Error(\"No element provided to render\");\n }\n\n var optionsCopy = {}; // Object.assign(optionsCopy, option)\n\n for (var option in options) {\n if (options.hasOwnProperty(option)) {\n optionsCopy[option] = options[option];\n }\n } // default options\n\n\n optionsCopy.delimiters = optionsCopy.delimiters || [{\n left: \"$$\",\n right: \"$$\",\n display: true\n }, {\n left: \"\\\\(\",\n right: \"\\\\)\",\n display: false\n }, // LaTeX uses $…$, but it ruins the display of normal `$` in text:\n // {left: \"$\", right: \"$\", display: false},\n // $ must come after $$\n // Render AMS environments even if outside $$…$$ delimiters.\n {\n left: \"\\\\begin{equation}\",\n right: \"\\\\end{equation}\",\n display: true\n }, {\n left: \"\\\\begin{align}\",\n right: \"\\\\end{align}\",\n display: true\n }, {\n left: \"\\\\begin{alignat}\",\n right: \"\\\\end{alignat}\",\n display: true\n }, {\n left: \"\\\\begin{gather}\",\n right: \"\\\\end{gather}\",\n display: true\n }, {\n left: \"\\\\begin{CD}\",\n right: \"\\\\end{CD}\",\n display: true\n }, {\n left: \"\\\\[\",\n right: \"\\\\]\",\n display: true\n }];\n optionsCopy.ignoredTags = optionsCopy.ignoredTags || [\"script\", \"noscript\", \"style\", \"textarea\", \"pre\", \"code\", \"option\"];\n optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || [];\n optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\\gdef` between different\n // math elements within a single call to `renderMathInElement`.\n\n optionsCopy.macros = optionsCopy.macros || {};\n renderElem(elem, optionsCopy);\n};\n\nexport { renderMathInElement as default };"],"sourceRoot":""}