{"remainingRequest":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js!/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js??ref--5-2!/Users/jaslan/Development/nifi-fds/webapp/fds-bootstrap.js","dependencies":[{"path":"/Users/jaslan/Development/nifi-fds/webapp/fds-bootstrap.js","mtime":1562689731053},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js","mtime":1562689731025},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements.  See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License.  You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport 'core-js';\nimport 'zone.js';\nimport 'hammerjs';\nimport $ from 'jquery';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode, TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID } from '@angular/core';\nimport FdsModule from 'webapp/fds.module.js'; // Comment out this line when developing to assert for unidirectional data flow\n\nenableProdMode(); // Get the locale id from the global\n\nvar locale = navigator.language;\nvar providers = []; // No locale or U.S. English: no translation providers so go ahead and bootstrap the app\n\nif (!locale || locale === 'en-US') {\n  platformBrowserDynamic().bootstrapModule(FdsModule, {\n    providers: providers\n  });\n} else {\n  //load the translation providers and bootstrap the module\n  var translationFile = '/locale/messages.' + locale + '.xlf';\n  $.ajax({\n    url: translationFile\n  }).done(function (translations) {\n    // add providers if translation file for locale is loaded\n    if (translations) {\n      providers.push({\n        provide: TRANSLATIONS,\n        useValue: translations\n      });\n      providers.push({\n        provide: TRANSLATIONS_FORMAT,\n        useValue: 'xlf'\n      });\n      providers.push({\n        provide: LOCALE_ID,\n        useValue: locale\n      });\n    }\n\n    platformBrowserDynamic().bootstrapModule(FdsModule, {\n      providers: providers\n    });\n  }).fail(function () {\n    platformBrowserDynamic().bootstrapModule(FdsModule, {\n      providers: providers\n    });\n  });\n}"]}