{"version":3,"sources":["init.js"],"names":["FRAMEWORK","window","requireInitConfig","integrityDigests","JSON","parse","moduleAttributes","loadMain","script","document","createElement","src","baseUrl","setAttribute","main","head","initScript","customRequireConfigUrl","customRequireConfigSri","getElementById","currentUrl","replace","getAttribute","crossorigin","integrity","settingsUrl","localeUrl","appUrl","require","appendChild","karma","onload"],"mappings":"aAAA,IAAIA,UAAYC,OAAOD,WAAa,GAApCA,UAAIA,kBAAmBA,CAEvBA,QAAUE,MAETC,iBAF6BC,KAAAC,MAAA,mRAG7BC,iBADmBF,IAKpB,WASEG,SANDA,KAOEC,EAAMC,SAAWC,cAAgB,WAC3BC,IAANX,UAAsBE,kBAATU,QAAA,WACbJ,EAAMK,aAAe,YAAab,UAAUE,kBAAkBC,iBAAiBW,MAC/EN,EAAOK,aAAc,cAAe,aACpCE,EADAP,YAAOK,GAVT,IAAAG,EAAAD,EAAAP,EAAAS,EAAAC,EAmBK,SAAUjB,SAEDQ,QAAbO,EADAP,SAAAU,eAAA,cAGCC,EAAaJ,EAAWL,IAExBX,UAFAoB,kBAAwBT,QAAxBS,EAAAC,QAAA,WAAA,IAIAJ,EAAsBD,EAAGA,aAAWM,gBACpCJ,EAAsBF,EAAGA,aAAWM,0BAC/BL,IACJjB,UADIiB,kBAALA,uBAA8BA,EAE7BjB,UADAA,kBAAUE,iBAAkBe,GAAyBA,CAAAA,YAArD,aACAjB,IAECA,UAF0EuB,kBAAcjB,iBAAAW,GAAAO,UAAAN,IAM1FlB,UAJEA,kBAAUE,UAAkBI,EAA5BgB,aAA8CL,eAKhDjB,UAJEE,kBAAAuB,YAAAT,EAAAM,aAAA,iBAM6C,OAA1CtB,UAAUE,kBAAkBwB,YAChC1B,UAJDA,kBAAUE,iBAA8Bc,UAAWM,kBAAcI,WAAjE,CAAAH,YAAA,cAMiD,OAA5CvB,UAAUE,kBAAkBuB,cAChCzB,UAJIA,kBAAUE,iBAAVF,UAAiDE,kBAAAuB,aAAA,CAAAF,YAAA,cAOtDvB,UANCE,kBAAAyB,OAAAX,EAAAM,aAAA,aAUFP,EAPEf,SAAUE,qBAAkBI,QAAAA,GAA5B,mBAAAsB,QAWDrB,MAEAC,EAPDC,SAAAC,cAAA,WAQQC,IAAMX,UAAUE,kBAAkBU,QAAU,0BAPhDZ,UAAGS,OAULD,EAAOK,aAAc,YAAab,UAAUE,kBAAkBU,QAAU,YAEzEJ,EATAK,aAAA,YAAAb,UAAAE,kBAAAC,iBAAA,wBAUAK,EATAD,aAAQ,cAAA,aAURQ,EAZDc,YAGOrB,GAMLR,UAAA8B,QAUAtB,EAAOuB,OAAS,WACfxB,QA5EL","file":"init.js","sourcesContent":["var FRAMEWORK = window.FRAMEWORK || {};\r\n\r\nFRAMEWORK.requireInitConfig = {\r\n\tbaseUrl : '/js',\r\n\tintegrityDigests : JSON.parse( '{\"vendor/core/require\":\"sha384-t/iidxMfC9xbpcBCBCXgw31fZvXnv6Zu4TTa7LPNfT/fblIC1NksrsmeCyYpFwIx\",\"main\":\"sha384-1CAgfWWJ/LX7K7ADOzYtbo5RUZHBPz235w1FZ50jmc6Sz3Dge6dPyh0ldtvUuJPG\",\"stand-alone-main\":\"sha384-mv7T2aSAG8Lg2SDBKx3+J4lMZgWCm/RjX5ppkM2Y65l62g1eLOsSpkCTfB32sFHz\"}' ),\r\n\tmoduleAttributes : {},\r\n};\r\n\r\n// Extend require config\r\n( function fn() {\r\n\t'use strict';\r\n\r\n\tvar initScript,\r\n\t\tcurrentUrl,\r\n\t\thead,\r\n\t\tscript,\r\n\t\tcustomRequireConfigUrl,\r\n\t\tcustomRequireConfigSri,\r\n\t\tloadMain = function() {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/main.js';\r\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests.main ); // Sets the integrity attribute to the require element\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\t\t};\r\n\r\n\t/*\r\n\t * Check browser has minimum level of feature support\r\n\t * Bar set at IE11 using techniques covered https://walterebert.com/blog/gracefully-ignoring-old-browsers/\r\n\t */\r\n\r\n\tif ( 'Intl' in window ) {\r\n\t\t// Set base URL based on where init.js is being loaded from\r\n\t\tinitScript = document.getElementById( 'js-init' );\r\n\t\tif ( initScript !== null ) {\r\n\t\t\tcurrentUrl = initScript.src;\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.baseUrl = currentUrl.replace( '/init.js', '' );\r\n\r\n\t\t\tcustomRequireConfigUrl = initScript.getAttribute( 'data-require' );\r\n\t\t\tcustomRequireConfigSri = initScript.getAttribute( 'data-require-integrity' );\r\n\t\t\tif ( customRequireConfigUrl ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.customRequireConfigUrl = customRequireConfigUrl;\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t\tif ( customRequireConfigSri ) {\r\n\t\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ].integrity = customRequireConfigSri;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.localeUrl = initScript.getAttribute( 'data-locale' );\r\n\t\t\tFRAMEWORK.requireInitConfig.settingsUrl = initScript.getAttribute( 'data-settings' );\r\n\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.localeUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.localeUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.settingsUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.settingsUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.appUrl = initScript.getAttribute( 'data-app' );\r\n\t\t}\r\n\r\n\t\t// Insert RequireJS in page\r\n\t\thead = document.getElementsByTagName( 'head' )[ 0 ];\r\n\r\n\t\tif ( typeof require === 'function' ) {\r\n\t\t\t// If require is already loaded then don't load it again. Just load main and intitialise Framework\r\n\t\t\tloadMain();\r\n\t\t} else {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/vendor/core/require.js';\r\n\t\t\t// If running a karma test then load main.js using the data-main attribute\r\n\t\t\tif ( FRAMEWORK.karma ) {\r\n\t\t\t\tscript.setAttribute( 'data-main', FRAMEWORK.requireInitConfig.baseUrl + '/main.js' );\r\n\t\t\t}\r\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests[ 'vendor/core/require' ] ); // Sets the integrity attribute to the require element\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\r\n\t\t\t/*\r\n\t\t\t * If not running a karma test then load main.js after require.js script has\r\n\t\t\t * loaded so that crossorigin and integrity can be applied to it\r\n\t\t\t */\r\n\t\t\tif ( !FRAMEWORK.karma ) {\r\n\t\t\t\tscript.onload = function onload() {\r\n\t\t\t\t\tloadMain();\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})();\r\n"]}