text: !function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/core"),require("rxjs/Observable"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/Observable","@angular/common"],factory):factory((global.ng=global.ng||{},global.ng.angularOidcAuth=global.ng.angularOidcAuth||{}),global.ng.core,global.Rx,global.ng.common)}(this,function(exports,_angular_core,rxjs_Observable,_angular_common){"use strict";function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}function getDOM(){return _DOM}function setRootDomAdapter(adapter){_DOM||(_DOM=adapter)}function getBaseElementHref(){return baseElement||(baseElement=document.querySelector("base"))?baseElement.getAttribute("href"):null}function relativePath(url){return urlParsingNode||(urlParsingNode=document.createElement("a")),urlParsingNode.setAttribute("href",url),"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}function parseCookieValue(cookieStr,name){name=encodeURIComponent(name);for(var _i=0,_a=cookieStr.split(";");_i<_a.length;_i++){var cookie=_a[_i],eqIndex=cookie.indexOf("="),_b=-1==eqIndex?[cookie,""]:[cookie.slice(0,eqIndex),cookie.slice(eqIndex+1)],cookieName=_b[0],cookieValue=_b[1];if(cookieName.trim()===name)return decodeURIComponent(cookieValue)}return null}function setValueOnPath(global,path,value){for(var parts=path.split("."),obj=global;parts.length>1;){var name=parts.shift();obj=obj.hasOwnProperty(name)&&null!=obj[name]?obj[name]:obj[name]={}}void 0!==obj&&null!==obj||(obj={}),obj[parts.shift()]=value}/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   * @return {?}
   */
  function supportsState(){return!!window.history.pushState}function bootstrapListenerFactory(transitionId,document){return function(){var dom=getDOM();Array.prototype.slice.apply(dom.querySelectorAll(document,"style[ng-transition]")).filter(function(el){return dom.getAttribute(el,"ng-transition")===transitionId}).forEach(function(el){return dom.remove(el)})}}function inspectNativeElement(element){return _angular_core.getDebugNode(element)}function _createNgProbe(extraTokens,coreTokens){var tokens=(extraTokens||[]).concat(coreTokens||[]);return getDOM().setGlobalVar(INSPECT_GLOBAL_NAME,inspectNativeElement),getDOM().setGlobalVar(CORE_TOKENS_GLOBAL_NAME,__assign$1({},CORE_TOKENS,_ngProbeTokensToMap(tokens||[]))),function(){return inspectNativeElement}}function _ngProbeTokensToMap(tokens){return tokens.reduce(function(prev,t){return prev[t.name]=t.token,prev},{})}function shimContentAttribute(componentShortId){return CONTENT_ATTR.replace(COMPONENT_REGEX,componentShortId)}function shimHostAttribute(componentShortId){return HOST_ATTR.replace(COMPONENT_REGEX,componentShortId)}function flattenStyles(compId,styles,target){for(var i=0;i<styles.length;i++){var style=styles[i];Array.isArray(style)?flattenStyles(compId,style,target):(style=style.replace(COMPONENT_REGEX,compId),target.push(style))}return target}function decoratePreventDefault(eventHandler){return function(event){!1===eventHandler(event)&&(event.preventDefault(),event.returnValue=!1)}}function checkNoSyntheticProp(name,nameKind){if(name.charCodeAt(0)===AT_CHARCODE)throw new Error("Found the synthetic "+nameKind+" "+name+'. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.')}function sanitizeUrl(url){return url=String(url),url.match(SAFE_URL_PATTERN)||url.match(DATA_URL_PATTERN)?url:(_angular_core.isDevMode()&&getDOM().log("WARNING: sanitizing unsafe URL value "+url+" (see http://g.co/ng/security#xss)"),"unsafe:"+url)}function sanitizeSrcset(srcset){return srcset=String(srcset),srcset.split(",").map(function(srcset){return sanitizeUrl(srcset.trim())}).join(", ")}function getInertElement(){if(inertElement)return inertElement;DOM=getDOM();var templateEl=DOM.createElement("template");if("content"in templateEl)return templateEl;var doc=DOM.createHtmlDocument();if(null==(inertElement=DOM.querySelector(doc,"body"))){var html=DOM.createElement("html",doc);inertElement=DOM.createElement("body",doc),DOM.appendChild(html,inertElement),DOM.appendChild(doc,html)}return inertElement}function tagSet(tags){for(var res={},_i=0,_a=tags.split(",");_i<_a.length;_i++){res[_a[_i]]=!0}return res}function merge(){for(var sets=[],_i=0;_i<arguments.length;_i++)sets[_i]=arguments[_i];for(var res={},_a=0,sets_1=sets;_a<sets_1.length;_a++){var s=sets_1[_a];for(var v in s)s.hasOwnProperty(v)&&(res[v]=!0)}return res}function checkClobberedElement(node,nextNode){if(nextNode&&DOM.contains(node,nextNode))throw new Error("Failed to sanitize html because the element is clobbered: "+DOM.getOuterHTML(node));return nextNode}function encodeEntities(value){return value.replace(/&/g,"&amp;").replace(SURROGATE_PAIR_REGEXP,function(match){return"&#"+(1024*(match.charCodeAt(0)-55296)+(match.charCodeAt(1)-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(match){return"&#"+match.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function stripCustomNsAttrs(el){DOM.attributeMap(el).forEach(function(_,attrName){"xmlns:ns1"!==attrName&&0!==attrName.indexOf("ns1:")||DOM.removeAttribute(el,attrName)});for(var _i=0,_a=DOM.childNodesAsList(el);_i<_a.length;_i++){var n=_a[_i];DOM.isElementNode(n)&&stripCustomNsAttrs(n)}}function sanitizeHtml(defaultDoc,unsafeHtmlInput){try{var containerEl=getInertElement(),unsafeHtml=unsafeHtmlInput?String(unsafeHtmlInput):"",mXSSAttempts=5,parsedHtml=unsafeHtml;do{if(0===mXSSAttempts)throw new Error("Failed to sanitize html because the input is unstable");mXSSAttempts--,unsafeHtml=parsedHtml,DOM.setInnerHTML(containerEl,unsafeHtml),defaultDoc.documentMode&&stripCustomNsAttrs(containerEl),parsedHtml=DOM.getInnerHTML(containerEl)}while(unsafeHtml!==parsedHtml);for(var sanitizer=new SanitizingHtmlSerializer,safeHtml=sanitizer.sanitizeChildren(DOM.getTemplateContent(containerEl)||containerEl),parent=DOM.getTemplateContent(containerEl)||containerEl,_i=0,_a=DOM.childNodesAsList(parent);_i<_a.length;_i++){var child=_a[_i];DOM.removeChild(parent,child)}return _angular_core.isDevMode()&&sanitizer.sanitizedSomething&&DOM.log("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),safeHtml}catch(e){throw inertElement=null,e}}function hasBalancedQuotes(value){for(var outsideSingle=!0,outsideDouble=!0,i=0;i<value.length;i++){var c=value.charAt(i);"'"===c&&outsideDouble?outsideSingle=!outsideSingle:'"'===c&&outsideSingle&&(outsideDouble=!outsideDouble)}return outsideSingle&&outsideDouble}function sanitizeStyle(value){if(!(value=String(value).trim()))return"";var urlMatch=value.match(URL_RE);return urlMatch&&sanitizeUrl(urlMatch[1])===urlMatch[1]||value.match(SAFE_STYLE_VALUE)&&hasBalancedQuotes(value)?value:(_angular_core.isDevMode()&&getDOM().log("WARNING: sanitizing unsafe style value "+value+" (see http://g.co/ng/security#xss)."),"unsafe")}function initDomAdapter(){BrowserDomAdapter.makeCurrent(),BrowserGetTestability.init()}function errorHandler(){return new _angular_core.ErrorHandler}function _document(){return document}/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  function normalizeMethodName(method){if("string"!=typeof method)return method;switch(method.toUpperCase()){case"GET":return RequestMethod.Get;case"POST":return RequestMethod.Post;case"PUT":return RequestMethod.Put;case"DELETE":return RequestMethod.Delete;case"OPTIONS":return RequestMethod.Options;case"HEAD":return RequestMethod.Head;case"PATCH":return RequestMethod.Patch}throw new Error('Invalid request method. The method "'+method+'" is not supported.')}function getResponseURL(xhr){return"responseURL"in xhr?xhr.responseURL:/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())?xhr.getResponseHeader("X-Request-URL"):null}function stringToArrayBuffer(input){for(var view=new Uint16Array(input.length),i=0,strLen=input.length;i<strLen;i++)view[i]=input.charCodeAt(i);return view.buffer}/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   * @param {?=} rawParams
   * @return {?}
   */
  function paramParser(rawParams){void 0===rawParams&&(rawParams="");var map=new Map;if(rawParams.length>0){rawParams.split("&").forEach(function(param){var eqIdx=param.indexOf("="),_a=-1==eqIdx?[param,""]:[param.slice(0,eqIdx),param.slice(eqIdx+1)],key=_a[0],val=_a[1],list=map.get(key)||[];list.push(val),map.set(key,list)})}return map}function standardEncoding(v){return encodeURIComponent(v).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function _getJsonpConnections(){var w="object"==typeof window?window:{};return null===_jsonpConnections&&(_jsonpConnections=w[JSONP_HOME]={}),_jsonpConnections}function urlEncodeParams(params){var searchParams=new URLSearchParams;return Object.keys(params).forEach(function(key){var value=params[key];value&&Array.isArray(value)?value.forEach(function(element){return searchParams.append(key,element.toString())}):searchParams.append(key,value.toString())}),searchParams}/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  function httpRequest(backend,request){return backend.createConnection(request).response}function mergeOptions(defaultOpts,providedOpts,method,url){var newOptions=defaultOpts;return providedOpts?newOptions.merge(new RequestOptions({method:providedOpts.method||method,url:providedOpts.url||url,search:providedOpts.search,params:providedOpts.params,headers:providedOpts.headers,body:providedOpts.body,withCredentials:providedOpts.withCredentials,responseType:providedOpts.responseType})):newOptions.merge(new RequestOptions({method:method,url:url}))}/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  function _createDefaultCookieXSRFStrategy(){return new CookieXSRFStrategy}function httpFactory(xhrBackend,requestOptions){return new Http(xhrBackend,requestOptions)}function jsonpFactory(jsonpBackend,requestOptions){return new Jsonp(jsonpBackend,requestOptions)}var nodeContains,extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},__extends$1=function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},_DOM=null,DomAdapter=function(){function DomAdapter(){this.resourceLoaderType=null}return DomAdapter.prototype.hasProperty=function(element,name){},DomAdapter.prototype.setProperty=function(el,name,value){},DomAdapter.prototype.getProperty=function(el,name){},DomAdapter.prototype.invoke=function(el,methodName,args){},DomAdapter.prototype.logError=function(error){},DomAdapter.prototype.log=function(error){},DomAdapter.prototype.logGroup=function(error){},DomAdapter.prototype.logGroupEnd=function(){},Object.defineProperty(DomAdapter.prototype,"attrToPropMap",{get:function(){return this._attrToPropMap},set:function(value){this._attrToPropMap=value},enumerable:!0,configurable:!0}),DomAdapter.prototype.contains=function(nodeA,nodeB){},DomAdapter.prototype.parse=function(templateHtml){},DomAdapter.prototype.querySelector=function(el,selector){},DomAdapter.prototype.querySelectorAll=function(el,selector){},DomAdapter.prototype.on=function(el,evt,listener){},DomAdapter.prototype.onAndCancel=function(el,evt,listener){},DomAdapter.prototype.dispatchEvent=function(el,evt){},DomAdapter.prototype.createMouseEvent=function(eventType){},DomAdapter.prototype.createEvent=function(eventType){},DomAdapter.prototype.preventDefault=function(evt){},DomAdapter.prototype.isPrevented=function(evt){},DomAdapter.prototype.getInnerHTML=function(el){},DomAdapter.prototype.getTemplateContent=function(el){},DomAdapter.prototype.getOuterHTML=function(el){},DomAdapter.prototype.nodeName=function(node){},DomAdapter.prototype.nodeValue=function(node){},DomAdapter.prototype.type=function(node){},DomAdapter.prototype.content=function(node){},DomAdapter.prototype.firstChild=function(el){},DomAdapter.prototype.nextSibling=function(el){},DomAdapter.prototype.parentElement=function(el){},DomAdapter.prototype.childNodes=function(el){},DomAdapter.prototype.childNodesAsList=function(el){},DomAdapter.prototype.clearNodes=function(el){},DomAdapter.prototype.appendChild=function(el,node){},DomAdapter.prototype.removeChild=function(el,node){},DomAdapter.prototype.replaceChild=function(el,newNode,oldNode){},DomAdapter.prototype.remove=function(el){},DomAdapter.prototype.insertBefore=function(parent,ref,node){},DomAdapter.prototype.insertAllBefore=function(parent,ref,nodes){},DomAdapter.prototype.insertAfter=function(parent,el,node){},DomAdapter.prototype.setInnerHTML=function(el,value){},DomAdapter.prototype.getText=function(el){},DomAdapter.prototype.setText=function(el,value){},DomAdapter.prototype.getValue=function(el){},DomAdapter.prototype.setValue=function(el,value){},DomAdapter.prototype.getChecked=function(el){},DomAdapter.prototype.setChecked=function(el,value){},DomAdapter.prototype.createComment=function(text){},DomAdapter.prototype.createTemplate=function(html){},DomAdapter.prototype.createElement=function(tagName,doc){},DomAdapter.prototype.createElementNS=function(ns,tagName,doc){},DomAdapter.prototype.createTextNode=function(text,doc){},DomAdapter.prototype.createScriptTag=function(attrName,attrValue,doc){},DomAdapter.prototype.createStyleElement=function(css,doc){},DomAdapter.prototype.createShadowRoot=function(el){},DomAdapter.prototype.getShadowRoot=function(el){},DomAdapter.prototype.getHost=function(el){},DomAdapter.prototype.getDistributedNodes=function(el){},DomAdapter.prototype.clone=function(node){},DomAdapter.prototype.getElementsByClassName=function(element,name){},DomAdapter.prototype.getElementsByTagName=function(element,name){},DomAdapter.prototype.classList=function(element){},DomAdapter.prototype.addClass=function(element,className){},DomAdapter.prototype.removeClass=function(element,className){},DomAdapter.prototype.hasClass=function(element,className){},DomAdapter.prototype.setStyle=function(element,styleName,styleValue){},DomAdapter.prototype.removeStyle=function(element,styleName){},DomAdapter.prototype.getStyle=function(element,styleName){},DomAdapter.prototype.hasStyle=function(element,styleName,styleValue){},DomAdapter.prototype.tagName=function(element){},DomAdapter.prototype.attributeMap=function(element){},DomAdapter.prototype.hasAttribute=function(element,attribute){},DomAdapter.prototype.hasAttributeNS=function(element,ns,attribute){},DomAdapter.prototype.getAttribute=function(element,attribute){},DomAdapter.prototype.getAttributeNS=function(element,ns,attribute){},DomAdapter.prototype.setAttribute=function(element,name,value){},DomAdapter.prototype.setAttributeNS=function(element,ns,name,value){},DomAdapter.prototype.removeAttribute=function(element,attribute){},DomAdapter.prototype.removeAttributeNS=function(element,ns,attribute){},DomAdapter.prototype.templateAwareRoot=function(el){},DomAdapter.prototype.createHtmlDocument=function(){},DomAdapter.prototype.getBoundingClientRect=function(el){},DomAdapter.prototype.getTitle=function(doc){},DomAdapter.prototype.setTitle=function(doc,newTitle){},DomAdapter.prototype.elementMatches=function(n,selector){},DomAdapter.prototype.isTemplateElement=function(el){},DomAdapter.prototype.isTextNode=function(node){},DomAdapter.prototype.isCommentNode=function(node){},DomAdapter.prototype.isElementNode=function(node){},DomAdapter.prototype.hasShadowRoot=function(node){},DomAdapter.prototype.isShadowRoot=function(node){},DomAdapter.prototype.importIntoDoc=function(node){},DomAdapter.prototype.adoptNode=function(node){},DomAdapter.prototype.getHref=function(element){},DomAdapter.prototype.getEventKey=function(event){},DomAdapter.prototype.resolveAndSetHref=function(element,baseUrl,href){},DomAdapter.prototype.supportsDOMEvents=function(){},DomAdapter.prototype.supportsNativeShadowDOM=function(){},DomAdapter.prototype.getGlobalEventTarget=function(doc,target){},DomAdapter.prototype.getHistory=function(){},DomAdapter.prototype.getLocation=function(){},DomAdapter.prototype.getBaseHref=function(doc){},DomAdapter.prototype.resetBaseElement=function(){},DomAdapter.prototype.getUserAgent=function(){},DomAdapter.prototype.setData=function(element,name,value){},DomAdapter.prototype.getComputedStyle=function(element){},DomAdapter.prototype.getData=function(element,name){},DomAdapter.prototype.setGlobalVar=function(name,value){},DomAdapter.prototype.supportsWebAnimation=function(){},DomAdapter.prototype.performanceNow=function(){},DomAdapter.prototype.getAnimationPrefix=function(){},DomAdapter.prototype.getTransitionEnd=function(){},DomAdapter.prototype.supportsAnimation=function(){},DomAdapter.prototype.supportsCookies=function(){},DomAdapter.prototype.getCookie=function(name){},DomAdapter.prototype.setCookie=function(name,value){},DomAdapter}(),GenericBrowserDomAdapter=function(_super){function GenericBrowserDomAdapter(){var _this=_super.call(this)||this;_this._animationPrefix=null,_this._transitionEnd=null;try{var element_1=_this.createElement("div",document);if(null!=_this.getStyle(element_1,"animationName"))_this._animationPrefix="";else for(var domPrefixes=["Webkit","Moz","O","ms"],i=0;i<domPrefixes.length;i++)if(null!=_this.getStyle(element_1,domPrefixes[i]+"AnimationName")){_this._animationPrefix="-"+domPrefixes[i].toLowerCase()+"-";break}var transEndEventNames_1={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(transEndEventNames_1).forEach(function(key){null!=_this.getStyle(element_1,key)&&(_this._transitionEnd=transEndEventNames_1[key])})}catch(e){_this._animationPrefix=null,_this._transitionEnd=null}return _this}return __extends$1(GenericBrowserDomAdapter,_super),GenericBrowserDomAdapter.prototype.getDistributedNodes=function(el){return el.getDistributedNodes()},GenericBrowserDomAdapter.prototype.resolveAndSetHref=function(el,baseUrl,href){el.href=null==href?baseUrl:baseUrl+"/../"+href},GenericBrowserDomAdapter.prototype.supportsDOMEvents=function(){return!0},GenericBrowserDomAdapter.prototype.supportsNativeShadowDOM=function(){return"function"==typeof document.body.createShadowRoot},GenericBrowserDomAdapter.prototype.getAnimationPrefix=function(){return this._animationPrefix?this._animationPrefix:""},GenericBrowserDomAdapter.prototype.getTransitionEnd=function(){return this._transitionEnd?this._transitionEnd:""},GenericBrowserDomAdapter.prototype.supportsAnimation=function(){return null!=this._animationPrefix&&null!=this._transitionEnd},GenericBrowserDomAdapter}(DomAdapter),_attrToPropMap={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},_keyMap={"\b":"Backspace","\t":"Tab","":"Delete","":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_chromeNumKeyPadMap={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","":"NumLock"};_angular_core.ɵglobal.Node&&(nodeContains=_angular_core.ɵglobal.Node.prototype.contains||function(node){return!!(16&this.compareDocumentPosition(node))});var urlParsingNode,BrowserDomAdapter=function(_super){function BrowserDomAdapter(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(BrowserDomAdapter,_super),BrowserDomAdapter.prototype.parse=function(templateHtml){throw new Error("parse not implemented")},BrowserDomAdapter.makeCurrent=function(){setRootDomAdapter(new BrowserDomAdapter)},BrowserDomAdapter.prototype.hasProperty=function(element,name){return name in element},BrowserDomAdapter.prototype.setProperty=function(el,name,value){el[name]=value},BrowserDomAdapter.prototype.getProperty=function(el,name){return el[name]},BrowserDomAdapter.prototype.invoke=function(el,methodName,args){el[methodName].apply(el,args)},BrowserDomAdapter.prototype.logError=function(error){window.console&&(console.error?console.error(error):console.log(error))},BrowserDomAdapter.prototype.log=function(error){window.console&&window.console.log&&window.console.log(error)},BrowserDomAdapter.prototype.logGroup=function(error){window.console&&window.console.group&&window.console.group(error)},BrowserDomAdapter.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(BrowserDomAdapter.prototype,"attrToPropMap",{get:function(){return _attrToPropMap},enumerable:!0,configurable:!0}),BrowserDomAdapter.prototype.contains=function(nodeA,nodeB){return nodeContains.call(nodeA,nodeB)},BrowserDomAdapter.prototype.querySelector=function(el,selector){return el.querySelector(selector)},BrowserDomAdapter.prototype.querySelectorAll=function(el,selector){return el.querySelectorAll(selector)},BrowserDomAdapter.prototype.on=function(el,evt,listener){el.addEventListener(evt,listener,!1)},BrowserDomAdapter.prototype.onAndCancel=function(el,evt,listener){return el.addEventListener(evt,listener,!1),function(){el.removeEventListener(evt,listener,!1)}},BrowserDomAdapter.prototype.dispatchEvent=function(el,evt){el.dispatchEvent(evt)},BrowserDomAdapter.prototype.createMouseEvent=function(eventType){var evt=document.createEvent("MouseEvent");return evt.initEvent(eventType,!0,!0),evt},BrowserDomAdapter.prototype.createEvent=function(eventType){var evt=document.createEvent("Event");return evt.initEvent(eventType,!0,!0),evt},BrowserDomAdapter.prototype.preventDefault=function(evt){evt.preventDefault(),evt.returnValue=!1},BrowserDomAdapter.prototype.isPrevented=function(evt){return evt.defaultPrevented||null!=evt.returnValue&&!evt.returnValue},BrowserDomAdapter.prototype.getInnerHTML=function(el){return el.innerHTML},BrowserDomAdapter.prototype.getTemplateContent=function(el){return"content"in el&&el instanceof HTMLTemplateElement?el.content:null},BrowserDomAdapter.prototype.getOuterHTML=function(el){return el.outerHTML},BrowserDomAdapter.prototype.nodeName=function(node){return node.nodeName},BrowserDomAdapter.prototype.nodeValue=function(node){return node.nodeValue},BrowserDomAdapter.prototype.type=function(node){return node.type},BrowserDomAdapter.prototype.content=function(node){return this.hasProperty(node,"content")?node.content:node},BrowserDomAdapter.prototype.firstChild=function(el){return el.firstChild},BrowserDomAdapter.prototype.nextSibling=function(el){return el.nextSibling},BrowserDomAdapter.prototype.parentElement=function(el){return el.parentNode},BrowserDomAdapter.prototype.childNodes=function(el){return el.childNodes},BrowserDomAdapter.prototype.childNodesAsList=function(el){for(var childNodes=el.childNodes,res=new Array(childNodes.length),i=0;i<childNodes.length;i++)res[i]=childNodes[i];return res},BrowserDomAdapter.prototype.clearNodes=function(el){for(;el.firstChild;)el.removeChild(el.firstChild)},BrowserDomAdapter.prototype.appendChild=function(el,node){el.appendChild(node)},BrowserDomAdapter.prototype.removeChild=function(el,node){el.removeChild(node)},BrowserDomAdapter.prototype.replaceChild=function(el,newChild,oldChild){el.replaceChild(newChild,oldChild)},BrowserDomAdapter.prototype.remove=function(node){return node.parentNode&&node.parentNode.removeChild(node),node},BrowserDomAdapter.prototype.insertBefore=function(parent,ref,node){parent.insertBefore(node,ref)},BrowserDomAdapter.prototype.insertAllBefore=function(parent,ref,nodes){nodes.forEach(function(n){return parent.insertBefore(n,ref)})},BrowserDomAdapter.prototype.insertAfter=function(parent,ref,node){parent.insertBefore(node,ref.nextSibling)},BrowserDomAdapter.prototype.setInnerHTML=function(el,value){el.innerHTML=value},BrowserDomAdapter.prototype.getText=function(el){return el.textContent},BrowserDomAdapter.prototype.setText=function(el,value){el.textContent=value},BrowserDomAdapter.prototype.getValue=function(el){return el.value},BrowserDomAdapter.prototype.setValue=function(el,value){el.value=value},BrowserDomAdapter.prototype.getChecked=function(el){return el.checked},BrowserDomAdapter.prototype.setChecked=function(el,value){el.checked=value},BrowserDomAdapter.prototype.createComment=function(text){return document.createComment(text)},BrowserDomAdapter.prototype.createTemplate=function(html){var t=document.createElement("template");return t.innerHTML=html,t},BrowserDomAdapter.prototype.createElement=function(tagName,doc){return void 0===doc&&(doc=document),doc.createElement(tagName)},BrowserDomAdapter.prototype.createElementNS=function(ns,tagName,doc){return void 0===doc&&(doc=document),doc.createElementNS(ns,tagName)},BrowserDomAdapter.prototype.createTextNode=function(text,doc){return void 0===doc&&(doc=document),doc.createTextNode(text)},BrowserDomAdapter.prototype.createScriptTag=function(attrName,attrValue,doc){void 0===doc&&(doc=document);var el=doc.createElement("SCRIPT");return el.setAttribute(attrName,attrValue),el},BrowserDomAdapter.prototype.createStyleElement=function(css,doc){void 0===doc&&(doc=document);var style=doc.createElement("style");return this.appendChild(style,this.createTextNode(css)),style},BrowserDomAdapter.prototype.createShadowRoot=function(el){return el.createShadowRoot()},BrowserDomAdapter.prototype.getShadowRoot=function(el){return el.shadowRoot},BrowserDomAdapter.prototype.getHost=function(el){return el.host},BrowserDomAdapter.prototype.clone=function(node){return node.cloneNode(!0)},BrowserDomAdapter.prototype.getElementsByClassName=function(element,name){return element.getElementsByClassName(name)},BrowserDomAdapter.prototype.getElementsByTagName=function(element,name){return element.getElementsByTagName(name)},BrowserDomAdapter.prototype.classList=function(element){return Array.prototype.slice.call(element.classList,0)},BrowserDomAdapter.prototype.addClass=function(element,className){element.classList.add(className)},BrowserDomAdapter.prototype.removeClass=function(element,className){element.classList.remove(className)},BrowserDomAdapter.prototype.hasClass=function(element,className){return element.classList.contains(className)},BrowserDomAdapter.prototype.setStyle=function(element,styleName,styleValue){element.style[styleName]=styleValue},BrowserDomAdapter.prototype.removeStyle=function(element,stylename){element.style[stylename]=""},BrowserDomAdapter.prototype.getStyle=function(element,stylename){return element.style[stylename]},BrowserDomAdapter.prototype.hasStyle=function(element,styleName,styleValue){var value=this.getStyle(element,styleName)||"";return styleValue?value==styleValue:value.length>0},BrowserDomAdapter.prototype.tagName=function(element){return element.tagName},BrowserDomAdapter.prototype.attributeMap=function(element){for(var res=new Map,elAttrs=element.attributes,i=0;i<elAttrs.length;i++){var attrib=elAttrs[i];res.set(attrib.name,attrib.value)}return res},BrowserDomAdapter.prototype.hasAttribute=function(element,attribute){return element.hasAttribute(attribute)},BrowserDomAdapter.prototype.hasAttributeNS=function(element,ns,attribute){return element.hasAttributeNS(ns,attribute)},BrowserDomAdapter.prototype.getAttribute=function(element,attribute){return element.getAttribute(attribute)},BrowserDomAdapter.prototype.getAttributeNS=function(element,ns,name){return element.getAttributeNS(ns,name)},BrowserDomAdapter.prototype.setAttribute=function(element,name,value){element.setAttribute(name,value)},BrowserDomAdapter.prototype.setAttributeNS=function(element,ns,name,value){element.setAttributeNS(ns,name,value)},BrowserDomAdapter.prototype.removeAttribute=function(element,attribute){element.removeAttribute(attribute)},BrowserDomAdapter.prototype.removeAttributeNS=function(element,ns,name){element.removeAttributeNS(ns,name)},BrowserDomAdapter.prototype.templateAwareRoot=function(el){return this.isTemplateElement(el)?this.content(el):el},BrowserDomAdapter.prototype.createHtmlDocument=function(){return document.implementation.createHTMLDocument("fakeTitle")},BrowserDomAdapter.prototype.getBoundingClientRect=function(el){try{return el.getBoundingClientRect()}catch(e){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}},BrowserDomAdapter.prototype.getTitle=function(doc){return document.title},BrowserDomAdapter.prototype.setTitle=function(doc,newTitle){document.title=newTitle||""},BrowserDomAdapter.prototype.elementMatches=function(n,selector){return n instanceof HTMLElement&&(n.matches&&n.matches(selector)||n.msMatchesSelector&&n.msMatchesSelector(selector)||n.webkitMatchesSelector&&n.webkitMatchesSelector(selector))},BrowserDomAdapter.prototype.isTemplateElement=function(el){return el instanceof HTMLElement&&"TEMPLATE"==el.nodeName},BrowserDomAdapter.prototype.isTextNode=function(node){return node.nodeType===Node.TEXT_NODE},BrowserDomAdapter.prototype.isCommentNode=function(node){return node.nodeType===Node.COMMENT_NODE},BrowserDomAdapter.prototype.isElementNode=function(node){return node.nodeType===Node.ELEMENT_NODE},BrowserDomAdapter.prototype.hasShadowRoot=function(node){return null!=node.shadowRoot&&node instanceof HTMLElement},BrowserDomAdapter.prototype.isShadowRoot=function(node){return node instanceof DocumentFragment},BrowserDomAdapter.prototype.importIntoDoc=function(node){return document.importNode(this.templateAwareRoot(node),!0)},BrowserDomAdapter.prototype.adoptNode=function(node){return document.adoptNode(node)},BrowserDomAdapter.prototype.getHref=function(el){return el.href},BrowserDomAdapter.prototype.getEventKey=function(event){var key=event.key;if(null==key){if(null==(key=event.keyIdentifier))return"Unidentified";key.startsWith("U+")&&(key=String.fromCharCode(parseInt(key.substring(2),16)),3===event.location&&_chromeNumKeyPadMap.hasOwnProperty(key)&&(key=_chromeNumKeyPadMap[key]))}return _keyMap[key]||key},BrowserDomAdapter.prototype.getGlobalEventTarget=function(doc,target){return"window"===target?window:"document"===target?document:"body"===target?document.body:null},BrowserDomAdapter.prototype.getHistory=function(){return window.history},BrowserDomAdapter.prototype.getLocation=function(){return window.location},BrowserDomAdapter.prototype.getBaseHref=function(doc){var href=getBaseElementHref();return null==href?null:relativePath(href)},BrowserDomAdapter.prototype.resetBaseElement=function(){baseElement=null},BrowserDomAdapter.prototype.getUserAgent=function(){return window.navigator.userAgent},BrowserDomAdapter.prototype.setData=function(element,name,value){this.setAttribute(element,"data-"+name,value)},BrowserDomAdapter.prototype.getData=function(element,name){return this.getAttribute(element,"data-"+name)},BrowserDomAdapter.prototype.getComputedStyle=function(element){return getComputedStyle(element)},BrowserDomAdapter.prototype.setGlobalVar=function(path,value){setValueOnPath(_angular_core.ɵglobal,path,value)},BrowserDomAdapter.prototype.supportsWebAnimation=function(){return"function"==typeof Element.prototype.animate},BrowserDomAdapter.prototype.performanceNow=function(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()},BrowserDomAdapter.prototype.supportsCookies=function(){return!0},BrowserDomAdapter.prototype.getCookie=function(name){return parseCookieValue(document.cookie,name)},BrowserDomAdapter.prototype.setCookie=function(name,value){document.cookie=encodeURIComponent(name)+"="+encodeURIComponent(value)},BrowserDomAdapter}(GenericBrowserDomAdapter),baseElement=null,DOCUMENT=new _angular_core.InjectionToken("DocumentToken"),BrowserPlatformLocation=function(_super){function BrowserPlatformLocation(_doc){var _this=_super.call(this)||this;return _this._doc=_doc,_this._init(),_this}return __extends$1(BrowserPlatformLocation,_super),BrowserPlatformLocation.prototype._init=function(){this._location=getDOM().getLocation(),this._history=getDOM().getHistory()},Object.defineProperty(BrowserPlatformLocation.prototype,"location",{get:function(){return this._location},enumerable:!0,configurable:!0}),BrowserPlatformLocation.prototype.getBaseHrefFromDOM=function(){return getDOM().getBaseHref(this._doc)},BrowserPlatformLocation.prototype.onPopState=function(fn){getDOM().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",fn,!1)},BrowserPlatformLocation.prototype.onHashChange=function(fn){getDOM().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",fn,!1)},Object.defineProperty(BrowserPlatformLocation.prototype,"pathname",{get:function(){return this._location.pathname},set:function(newPath){this._location.pathname=newPath},enumerable:!0,configurable:!0}),Object.defineProperty(BrowserPlatformLocation.prototype,"search",{get:function(){return this._location.search},enumerable:!0,configurable:!0}),Object.defineProperty(BrowserPlatformLocation.prototype,"hash",{get:function(){return this._location.hash},enumerable:!0,configurable:!0}),BrowserPlatformLocation.prototype.pushState=function(state,title,url){supportsState()?this._history.pushState(state,title,url):this._location.hash=url},BrowserPlatformLocation.prototype.replaceState=function(state,title,url){supportsState()?this._history.replaceState(state,title,url):this._location.hash=url},BrowserPlatformLocation.prototype.forward=function(){this._history.forward()},BrowserPlatformLocation.prototype.back=function(){this._history.back()},BrowserPlatformLocation}(_angular_common.PlatformLocation);BrowserPlatformLocation.decorators=[{type:_angular_core.Injectable}],BrowserPlatformLocation.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var Meta=function(){function Meta(_doc){this._doc=_doc,this._dom=getDOM()}return Meta.prototype.addTag=function(tag,forceCreation){return void 0===forceCreation&&(forceCreation=!1),tag?this._getOrCreateElement(tag,forceCreation):null},Meta.prototype.addTags=function(tags,forceCreation){var _this=this;return void 0===forceCreation&&(forceCreation=!1),tags?tags.reduce(function(result,tag){return tag&&result.push(_this._getOrCreateElement(tag,forceCreation)),result},[]):[]},Meta.prototype.getTag=function(attrSelector){return attrSelector?this._dom.querySelector(this._doc,"meta["+attrSelector+"]"):null},Meta.prototype.getTags=function(attrSelector){if(!attrSelector)return[];var list=this._dom.querySelectorAll(this._doc,"meta["+attrSelector+"]");return list?[].slice.call(list):[]},Meta.prototype.updateTag=function(tag,selector){if(!tag)return null;selector=selector||this._parseSelector(tag);var meta=this.getTag(selector);return meta?this._setMetaElementAttributes(tag,meta):this._getOrCreateElement(tag,!0)},Meta.prototype.removeTag=function(attrSelector){this.removeTagElement(this.getTag(attrSelector))},Meta.prototype.removeTagElement=function(meta){meta&&this._dom.remove(meta)},Meta.prototype._getOrCreateElement=function(meta,forceCreation){if(void 0===forceCreation&&(forceCreation=!1),!forceCreation){var selector=this._parseSelector(meta),elem=this.getTag(selector);if(elem&&this._containsAttributes(meta,elem))return elem}var element=this._dom.createElement("meta");this._setMetaElementAttributes(meta,element);var head=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(head,element),element},Meta.prototype._setMetaElementAttributes=function(tag,el){var _this=this;return Object.keys(tag).forEach(function(prop){return _this._dom.setAttribute(el,prop,tag[prop])}),el},Meta.prototype._parseSelector=function(tag){var attr=tag.name?"name":"property";return attr+'="'+tag[attr]+'"'},Meta.prototype._containsAttributes=function(tag,elem){var _this=this;return Object.keys(tag).every(function(key){return _this._dom.getAttribute(elem,key)===tag[key]})},Meta}();Meta.decorators=[{type:_angular_core.Injectable}],Meta.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var TRANSITION_ID=new _angular_core.InjectionToken("TRANSITION_ID"),SERVER_TRANSITION_PROVIDERS=[{provide:_angular_core.APP_INITIALIZER,useFactory:bootstrapListenerFactory,deps:[TRANSITION_ID,DOCUMENT],multi:!0}],BrowserGetTestability=function(){function BrowserGetTestability(){}return BrowserGetTestability.init=function(){_angular_core.setTestabilityGetter(new BrowserGetTestability)},BrowserGetTestability.prototype.addToWindow=function(registry){_angular_core.ɵglobal.getAngularTestability=function(elem,findInAncestors){void 0===findInAncestors&&(findInAncestors=!0);var testability=registry.findTestabilityInTree(elem,findInAncestors);if(null==testability)throw new Error("Could not find testability for element.");return testability},_angular_core.ɵglobal.getAllAngularTestabilities=function(){return registry.getAllTestabilities()},_angular_core.ɵglobal.getAllAngularRootElements=function(){return registry.getAllRootElements()};var whenAllStable=function(callback){var testabilities=_angular_core.ɵglobal.getAllAngularTestabilities(),count=testabilities.length,didWork=!1,decrement=function(didWork_){didWork=didWork||didWork_,0==--count&&callback(didWork)};testabilities.forEach(function(testability){testability.whenStable(decrement)})};_angular_core.ɵglobal.frameworkStabilizers||(_angular_core.ɵglobal.frameworkStabilizers=[]),_angular_core.ɵglobal.frameworkStabilizers.push(whenAllStable)},BrowserGetTestability.prototype.findTestabilityInTree=function(registry,elem,findInAncestors){if(null==elem)return null;var t=registry.getTestability(elem);return null!=t?t:findInAncestors?getDOM().isShadowRoot(elem)?this.findTestabilityInTree(registry,getDOM().getHost(elem),!0):this.findTestabilityInTree(registry,getDOM().parentElement(elem),!0):null},BrowserGetTestability}(),Title=function(){function Title(_doc){this._doc=_doc}return Title.prototype.getTitle=function(){return getDOM().getTitle(this._doc)},Title.prototype.setTitle=function(newTitle){getDOM().setTitle(this._doc,newTitle)},Title}();Title.decorators=[{type:_angular_core.Injectable}],Title.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var __assign$1=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},CORE_TOKENS={ApplicationRef:_angular_core.ApplicationRef,NgZone:_angular_core.NgZone},INSPECT_GLOBAL_NAME="ng.probe",CORE_TOKENS_GLOBAL_NAME="ng.coreTokens",NgProbeToken$1=function(){function NgProbeToken$1(name,token){this.name=name,this.token=token}return NgProbeToken$1}(),ELEMENT_PROBE_PROVIDERS=[{provide:_angular_core.APP_INITIALIZER,useFactory:_createNgProbe,deps:[[NgProbeToken$1,new _angular_core.Optional],[_angular_core.NgProbeToken,new _angular_core.Optional]],multi:!0}],EVENT_MANAGER_PLUGINS=new _angular_core.InjectionToken("EventManagerPlugins"),EventManager=function(){function EventManager(plugins,_zone){var _this=this;this._zone=_zone,this._eventNameToPlugin=new Map,plugins.forEach(function(p){return p.manager=_this}),this._plugins=plugins.slice().reverse()}return EventManager.prototype.addEventListener=function(element,eventName,handler){return this._findPluginFor(eventName).addEventListener(element,eventName,handler)},EventManager.prototype.addGlobalEventListener=function(target,eventName,handler){return this._findPluginFor(eventName).addGlobalEventListener(target,eventName,handler)},EventManager.prototype.getZone=function(){return this._zone},EventManager.prototype._findPluginFor=function(eventName){var plugin=this._eventNameToPlugin.get(eventName);if(plugin)return plugin;for(var plugins=this._plugins,i=0;i<plugins.length;i++){var plugin_1=plugins[i];if(plugin_1.supports(eventName))return this._eventNameToPlugin.set(eventName,plugin_1),plugin_1}throw new Error("No event manager plugin found for event "+eventName)},EventManager}();EventManager.decorators=[{type:_angular_core.Injectable}],EventManager.ctorParameters=function(){return[{type:Array,decorators:[{type:_angular_core.Inject,args:[EVENT_MANAGER_PLUGINS]}]},{type:_angular_core.NgZone}]};var EventManagerPlugin=function(){function EventManagerPlugin(_doc){this._doc=_doc}return EventManagerPlugin.prototype.supports=function(eventName){},EventManagerPlugin.prototype.addEventListener=function(element,eventName,handler){},EventManagerPlugin.prototype.addGlobalEventListener=function(element,eventName,handler){var target=getDOM().getGlobalEventTarget(this._doc,element);if(!target)throw new Error("Unsupported event target "+target+" for event "+eventName);return this.addEventListener(target,eventName,handler)},EventManagerPlugin}(),SharedStylesHost=function(){function SharedStylesHost(){this._stylesSet=new Set}return SharedStylesHost.prototype.addStyles=function(styles){var _this=this,additions=new Set;styles.forEach(function(style){_this._stylesSet.has(style)||(_this._stylesSet.add(style),additions.add(style))}),this.onStylesAdded(additions)},SharedStylesHost.prototype.onStylesAdded=function(additions){},SharedStylesHost.prototype.getAllStyles=function(){return Array.from(this._stylesSet)},SharedStylesHost}();SharedStylesHost.decorators=[{type:_angular_core.Injectable}],SharedStylesHost.ctorParameters=function(){return[]};var DomSharedStylesHost=function(_super){function DomSharedStylesHost(_doc){var _this=_super.call(this)||this;return _this._doc=_doc,_this._hostNodes=new Set,_this._styleNodes=new Set,_this._hostNodes.add(_doc.head),_this}return __extends$1(DomSharedStylesHost,_super),DomSharedStylesHost.prototype._addStylesToHost=function(styles,host){var _this=this;styles.forEach(function(style){var styleEl=_this._doc.createElement("style");styleEl.textContent=style,_this._styleNodes.add(host.appendChild(styleEl))})},DomSharedStylesHost.prototype.addHost=function(hostNode){this._addStylesToHost(this._stylesSet,hostNode),this._hostNodes.add(hostNode)},DomSharedStylesHost.prototype.removeHost=function(hostNode){this._hostNodes.delete(hostNode)},DomSharedStylesHost.prototype.onStylesAdded=function(additions){var _this=this;this._hostNodes.forEach(function(hostNode){return _this._addStylesToHost(additions,hostNode)})},DomSharedStylesHost.prototype.ngOnDestroy=function(){this._styleNodes.forEach(function(styleNode){return getDOM().remove(styleNode)})},DomSharedStylesHost}(SharedStylesHost);DomSharedStylesHost.decorators=[{type:_angular_core.Injectable}],DomSharedStylesHost.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var NAMESPACE_URIS={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},COMPONENT_REGEX=/%COMP%/g,HOST_ATTR="_nghost-%COMP%",CONTENT_ATTR="_ngcontent-%COMP%",DomRendererFactory2=function(){function DomRendererFactory2(eventManager,sharedStylesHost){this.eventManager=eventManager,this.sharedStylesHost=sharedStylesHost,this.rendererByCompId=new Map,this.defaultRenderer=new DefaultDomRenderer2(eventManager)}return DomRendererFactory2.prototype.createRenderer=function(element,type){if(!element||!type)return this.defaultRenderer;switch(type.encapsulation){case _angular_core.ViewEncapsulation.Emulated:var renderer=this.rendererByCompId.get(type.id);return renderer||(renderer=new EmulatedEncapsulationDomRenderer2(this.eventManager,this.sharedStylesHost,type),this.rendererByCompId.set(type.id,renderer)),renderer.applyToHost(element),renderer;case _angular_core.ViewEncapsulation.Native:return new ShadowDomRenderer(this.eventManager,this.sharedStylesHost,element,type);default:if(!this.rendererByCompId.has(type.id)){var styles=flattenStyles(type.id,type.styles,[]);this.sharedStylesHost.addStyles(styles),this.rendererByCompId.set(type.id,this.defaultRenderer)}return this.defaultRenderer}},DomRendererFactory2}();DomRendererFactory2.decorators=[{type:_angular_core.Injectable}],DomRendererFactory2.ctorParameters=function(){return[{type:EventManager},{type:DomSharedStylesHost}]};var DefaultDomRenderer2=function(){function DefaultDomRenderer2(eventManager){this.eventManager=eventManager,this.data=Object.create(null)}return DefaultDomRenderer2.prototype.destroy=function(){},DefaultDomRenderer2.prototype.createElement=function(name,namespace){return namespace?document.createElementNS(NAMESPACE_URIS[namespace],name):document.createElement(name)},DefaultDomRenderer2.prototype.createComment=function(value){return document.createComment(value)},DefaultDomRenderer2.prototype.createText=function(value){return document.createTextNode(value)},DefaultDomRenderer2.prototype.appendChild=function(parent,newChild){parent.appendChild(newChild)},DefaultDomRenderer2.prototype.insertBefore=function(parent,newChild,refChild){parent&&parent.insertBefore(newChild,refChild)},DefaultDomRenderer2.prototype.removeChild=function(parent,oldChild){parent&&parent.removeChild(oldChild)},DefaultDomRenderer2.prototype.selectRootElement=function(selectorOrNode){var el="string"==typeof selectorOrNode?document.querySelector(selectorOrNode):selectorOrNode;if(!el)throw new Error('The selector "'+selectorOrNode+'" did not match any elements');return el.textContent="",el},DefaultDomRenderer2.prototype.parentNode=function(node){return node.parentNode},DefaultDomRenderer2.prototype.nextSibling=function(node){return node.nextSibling},DefaultDomRenderer2.prototype.setAttribute=function(el,name,value,namespace){if(namespace){name=namespace+":"+name;var namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.setAttributeNS(namespaceUri,name,value):el.setAttribute(name,value)}else el.setAttribute(name,value)},DefaultDomRenderer2.prototype.removeAttribute=function(el,name,namespace){if(namespace){var namespaceUri=NAMESPACE_URIS[namespace];namespaceUri?el.removeAttributeNS(namespaceUri,name):el.removeAttribute(namespace+":"+name)}else el.removeAttribute(name)},DefaultDomRenderer2.prototype.addClass=function(el,name){el.classList.add(name)},DefaultDomRenderer2.prototype.removeClass=function(el,name){el.classList.remove(name)},DefaultDomRenderer2.prototype.setStyle=function(el,style,value,flags){flags&_angular_core.RendererStyleFlags2.DashCase?el.style.setProperty(style,value,flags&_angular_core.RendererStyleFlags2.Important?"important":""):el.style[style]=value},DefaultDomRenderer2.prototype.removeStyle=function(el,style,flags){flags&_angular_core.RendererStyleFlags2.DashCase?el.style.removeProperty(style):el.style[style]=""},DefaultDomRenderer2.prototype.setProperty=function(el,name,value){checkNoSyntheticProp(name,"property"),el[name]=value},DefaultDomRenderer2.prototype.setValue=function(node,value){node.nodeValue=value},DefaultDomRenderer2.prototype.listen=function(target,event,callback){return checkNoSyntheticProp(event,"listener"),"string"==typeof target?this.eventManager.addGlobalEventListener(target,event,decoratePreventDefault(callback)):this.eventManager.addEventListener(target,event,decoratePreventDefault(callback))},DefaultDomRenderer2}(),AT_CHARCODE="@".charCodeAt(0),EmulatedEncapsulationDomRenderer2=function(_super){function EmulatedEncapsulationDomRenderer2(eventManager,sharedStylesHost,component){var _this=_super.call(this,eventManager)||this;_this.component=component;var styles=flattenStyles(component.id,component.styles,[]);return sharedStylesHost.addStyles(styles),_this.contentAttr=shimContentAttribute(component.id),_this.hostAttr=shimHostAttribute(component.id),_this}return __extends$1(EmulatedEncapsulationDomRenderer2,_super),EmulatedEncapsulationDomRenderer2.prototype.applyToHost=function(element){_super.prototype.setAttribute.call(this,element,this.hostAttr,"")},EmulatedEncapsulationDomRenderer2.prototype.createElement=function(parent,name){var el=_super.prototype.createElement.call(this,parent,name);return _super.prototype.setAttribute.call(this,el,this.contentAttr,""),el},EmulatedEncapsulationDomRenderer2}(DefaultDomRenderer2),ShadowDomRenderer=function(_super){function ShadowDomRenderer(eventManager,sharedStylesHost,hostEl,component){var _this=_super.call(this,eventManager)||this;_this.sharedStylesHost=sharedStylesHost,_this.hostEl=hostEl,_this.component=component,_this.shadowRoot=hostEl.createShadowRoot(),_this.sharedStylesHost.addHost(_this.shadowRoot);for(var styles=flattenStyles(component.id,component.styles,[]),i=0;i<styles.length;i++){var styleEl=document.createElement("style");styleEl.textContent=styles[i],_this.shadowRoot.appendChild(styleEl)}return _this}return __extends$1(ShadowDomRenderer,_super),ShadowDomRenderer.prototype.nodeOrShadowRoot=function(node){return node===this.hostEl?this.shadowRoot:node},ShadowDomRenderer.prototype.destroy=function(){this.sharedStylesHost.removeHost(this.shadowRoot)},ShadowDomRenderer.prototype.appendChild=function(parent,newChild){return _super.prototype.appendChild.call(this,this.nodeOrShadowRoot(parent),newChild)},ShadowDomRenderer.prototype.insertBefore=function(parent,newChild,refChild){return _super.prototype.insertBefore.call(this,this.nodeOrShadowRoot(parent),newChild,refChild)},ShadowDomRenderer.prototype.removeChild=function(parent,oldChild){return _super.prototype.removeChild.call(this,this.nodeOrShadowRoot(parent),oldChild)},ShadowDomRenderer.prototype.parentNode=function(node){return this.nodeOrShadowRoot(_super.prototype.parentNode.call(this,this.nodeOrShadowRoot(node)))},ShadowDomRenderer}(DefaultDomRenderer2),DomEventsPlugin=function(_super){function DomEventsPlugin(doc){return _super.call(this,doc)||this}return __extends$1(DomEventsPlugin,_super),DomEventsPlugin.prototype.supports=function(eventName){return!0},DomEventsPlugin.prototype.addEventListener=function(element,eventName,handler){return element.addEventListener(eventName,handler,!1),function(){return element.removeEventListener(eventName,handler,!1)}},DomEventsPlugin}(EventManagerPlugin);DomEventsPlugin.decorators=[{type:_angular_core.Injectable}],DomEventsPlugin.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var EVENT_NAMES={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},HAMMER_GESTURE_CONFIG=new _angular_core.InjectionToken("HammerGestureConfig"),HammerGestureConfig=function(){function HammerGestureConfig(){this.events=[],this.overrides={}}return HammerGestureConfig.prototype.buildHammer=function(element){var mc=new Hammer(element);mc.get("pinch").set({enable:!0}),mc.get("rotate").set({enable:!0});for(var eventName in this.overrides)mc.get(eventName).set(this.overrides[eventName]);return mc},HammerGestureConfig}();HammerGestureConfig.decorators=[{type:_angular_core.Injectable}],HammerGestureConfig.ctorParameters=function(){return[]};var HammerGesturesPlugin=function(_super){function HammerGesturesPlugin(doc,_config){var _this=_super.call(this,doc)||this;return _this._config=_config,_this}return __extends$1(HammerGesturesPlugin,_super),HammerGesturesPlugin.prototype.supports=function(eventName){if(!EVENT_NAMES.hasOwnProperty(eventName.toLowerCase())&&!this.isCustomEvent(eventName))return!1;if(!window.Hammer)throw new Error("Hammer.js is not loaded, can not bind "+eventName+" event");return!0},HammerGesturesPlugin.prototype.addEventListener=function(element,eventName,handler){var _this=this,zone=this.manager.getZone();return eventName=eventName.toLowerCase(),zone.runOutsideAngular(function(){var mc=_this._config.buildHammer(element),callback=function(eventObj){zone.runGuarded(function(){handler(eventObj)})};return mc.on(eventName,callback),function(){return mc.off(eventName,callback)}})},HammerGesturesPlugin.prototype.isCustomEvent=function(eventName){return this._config.events.indexOf(eventName)>-1},HammerGesturesPlugin}(EventManagerPlugin);HammerGesturesPlugin.decorators=[{type:_angular_core.Injectable}],HammerGesturesPlugin.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]},{type:HammerGestureConfig,decorators:[{type:_angular_core.Inject,args:[HAMMER_GESTURE_CONFIG]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var MODIFIER_KEYS=["alt","control","meta","shift"],MODIFIER_KEY_GETTERS={alt:function(event){return event.altKey},control:function(event){return event.ctrlKey},meta:function(event){return event.metaKey},shift:function(event){return event.shiftKey}},KeyEventsPlugin=function(_super){function KeyEventsPlugin(doc){return _super.call(this,doc)||this}return __extends$1(KeyEventsPlugin,_super),KeyEventsPlugin.prototype.supports=function(eventName){return null!=KeyEventsPlugin.parseEventName(eventName)},KeyEventsPlugin.prototype.addEventListener=function(element,eventName,handler){var parsedEvent=KeyEventsPlugin.parseEventName(eventName),outsideHandler=KeyEventsPlugin.eventCallback(parsedEvent.fullKey,handler,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return getDOM().onAndCancel(element,parsedEvent.domEventName,outsideHandler)})},KeyEventsPlugin.parseEventName=function(eventName){var parts=eventName.toLowerCase().split("."),domEventName=parts.shift();if(0===parts.length||"keydown"!==domEventName&&"keyup"!==domEventName)return null;var key=KeyEventsPlugin._normalizeKey(parts.pop()),fullKey="";if(MODIFIER_KEYS.forEach(function(modifierName){var index=parts.indexOf(modifierName);index>-1&&(parts.splice(index,1),fullKey+=modifierName+".")}),fullKey+=key,0!=parts.length||0===key.length)return null;var result={};return result.domEventName=domEventName,result.fullKey=fullKey,result},KeyEventsPlugin.getEventFullKey=function(event){var fullKey="",key=getDOM().getEventKey(event);return key=key.toLowerCase()," "===key?key="space":"."===key&&(key="dot"),MODIFIER_KEYS.forEach(function(modifierName){if(modifierName!=key){(0,MODIFIER_KEY_GETTERS[modifierName])(event)&&(fullKey+=modifierName+".")}}),fullKey+=key},KeyEventsPlugin.eventCallback=function(fullKey,handler,zone){return function(event){KeyEventsPlugin.getEventFullKey(event)===fullKey&&zone.runGuarded(function(){return handler(event)})}},KeyEventsPlugin._normalizeKey=function(keyName){switch(keyName){case"esc":return"escape";default:return keyName}},KeyEventsPlugin}(EventManagerPlugin);KeyEventsPlugin.decorators=[{type:_angular_core.Injectable}],KeyEventsPlugin.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,inertElement=null,DOM=null,VOID_ELEMENTS=tagSet("area,br,col,hr,img,wbr"),OPTIONAL_END_TAG_BLOCK_ELEMENTS=tagSet("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),OPTIONAL_END_TAG_INLINE_ELEMENTS=tagSet("rp,rt"),OPTIONAL_END_TAG_ELEMENTS=merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,OPTIONAL_END_TAG_BLOCK_ELEMENTS),BLOCK_ELEMENTS=merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS,tagSet("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),INLINE_ELEMENTS=merge(OPTIONAL_END_TAG_INLINE_ELEMENTS,tagSet("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),VALID_ELEMENTS=merge(VOID_ELEMENTS,BLOCK_ELEMENTS,INLINE_ELEMENTS,OPTIONAL_END_TAG_ELEMENTS),URI_ATTRS=tagSet("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),SRCSET_ATTRS=tagSet("srcset"),HTML_ATTRS=tagSet("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),VALID_ATTRS=merge(URI_ATTRS,SRCSET_ATTRS,HTML_ATTRS),SanitizingHtmlSerializer=function(){function SanitizingHtmlSerializer(){this.sanitizedSomething=!1,this.buf=[]}return SanitizingHtmlSerializer.prototype.sanitizeChildren=function(el){for(var current=el.firstChild;current;)if(DOM.isElementNode(current)?this.startElement(current):DOM.isTextNode(current)?this.chars(DOM.nodeValue(current)):this.sanitizedSomething=!0,DOM.firstChild(current))current=DOM.firstChild(current);else for(;current;){DOM.isElementNode(current)&&this.endElement(current);var next=checkClobberedElement(current,DOM.nextSibling(current));if(next){current=next;break}current=checkClobberedElement(current,DOM.parentElement(current))}return this.buf.join("")},SanitizingHtmlSerializer.prototype.startElement=function(element){var _this=this,tagName=DOM.nodeName(element).toLowerCase();if(!VALID_ELEMENTS.hasOwnProperty(tagName))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(tagName),DOM.attributeMap(element).forEach(function(value,attrName){var lower=attrName.toLowerCase();if(!VALID_ATTRS.hasOwnProperty(lower))return void(_this.sanitizedSomething=!0);URI_ATTRS[lower]&&(value=sanitizeUrl(value)),SRCSET_ATTRS[lower]&&(value=sanitizeSrcset(value)),_this.buf.push(" "),_this.buf.push(attrName),_this.buf.push('="'),_this.buf.push(encodeEntities(value)),_this.buf.push('"')}),this.buf.push(">")},SanitizingHtmlSerializer.prototype.endElement=function(current){var tagName=DOM.nodeName(current).toLowerCase();VALID_ELEMENTS.hasOwnProperty(tagName)&&!VOID_ELEMENTS.hasOwnProperty(tagName)&&(this.buf.push("</"),this.buf.push(tagName),this.buf.push(">"))},SanitizingHtmlSerializer.prototype.chars=function(chars){this.buf.push(encodeEntities(chars))},SanitizingHtmlSerializer}(),SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NON_ALPHANUMERIC_REGEXP=/([^\#-~ |!])/g,SAFE_STYLE_VALUE=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),URL_RE=/^url\(([^)]+)\)$/,DomSanitizer=function(){function DomSanitizer(){}return DomSanitizer.prototype.sanitize=function(context,value){},DomSanitizer.prototype.bypassSecurityTrustHtml=function(value){},DomSanitizer.prototype.bypassSecurityTrustStyle=function(value){},DomSanitizer.prototype.bypassSecurityTrustScript=function(value){},DomSanitizer.prototype.bypassSecurityTrustUrl=function(value){},DomSanitizer.prototype.bypassSecurityTrustResourceUrl=function(value){},DomSanitizer}(),DomSanitizerImpl=function(_super){function DomSanitizerImpl(_doc){var _this=_super.call(this)||this;return _this._doc=_doc,_this}return __extends$1(DomSanitizerImpl,_super),DomSanitizerImpl.prototype.sanitize=function(ctx,value){if(null==value)return null;switch(ctx){case _angular_core.SecurityContext.NONE:return value;case _angular_core.SecurityContext.HTML:return value instanceof SafeHtmlImpl?value.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(value,"HTML"),sanitizeHtml(this._doc,String(value)));case _angular_core.SecurityContext.STYLE:return value instanceof SafeStyleImpl?value.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(value,"Style"),sanitizeStyle(value));case _angular_core.SecurityContext.SCRIPT:if(value instanceof SafeScriptImpl)return value.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(value,"Script"),new Error("unsafe value used in a script context");case _angular_core.SecurityContext.URL:return value instanceof SafeResourceUrlImpl||value instanceof SafeUrlImpl?value.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(value,"URL"),sanitizeUrl(String(value)));case _angular_core.SecurityContext.RESOURCE_URL:if(value instanceof SafeResourceUrlImpl)return value.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(value,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+ctx+" (see http://g.co/ng/security#xss)")}},DomSanitizerImpl.prototype.checkNotSafeValue=function(value,expectedType){if(value instanceof SafeValueImpl)throw new Error("Required a safe "+expectedType+", got a "+value.getTypeName()+" (see http://g.co/ng/security#xss)")},DomSanitizerImpl.prototype.bypassSecurityTrustHtml=function(value){return new SafeHtmlImpl(value)},DomSanitizerImpl.prototype.bypassSecurityTrustStyle=function(value){return new SafeStyleImpl(value)},DomSanitizerImpl.prototype.bypassSecurityTrustScript=function(value){return new SafeScriptImpl(value)},DomSanitizerImpl.prototype.bypassSecurityTrustUrl=function(value){return new SafeUrlImpl(value)},DomSanitizerImpl.prototype.bypassSecurityTrustResourceUrl=function(value){return new SafeResourceUrlImpl(value)},DomSanitizerImpl}(DomSanitizer);DomSanitizerImpl.decorators=[{type:_angular_core.Injectable}],DomSanitizerImpl.ctorParameters=function(){return[{type:void 0,decorators:[{type:_angular_core.Inject,args:[DOCUMENT]}]}]};var SafeValueImpl=function(){function SafeValueImpl(changingThisBreaksApplicationSecurity){this.changingThisBreaksApplicationSecurity=changingThisBreaksApplicationSecurity}return SafeValueImpl.prototype.getTypeName=function(){},SafeValueImpl.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},SafeValueImpl}(),SafeHtmlImpl=function(_super){function SafeHtmlImpl(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(SafeHtmlImpl,_super),SafeHtmlImpl.prototype.getTypeName=function(){return"HTML"},SafeHtmlImpl}(SafeValueImpl),SafeStyleImpl=function(_super){function SafeStyleImpl(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(SafeStyleImpl,_super),SafeStyleImpl.prototype.getTypeName=function(){return"Style"},SafeStyleImpl}(SafeValueImpl),SafeScriptImpl=function(_super){function SafeScriptImpl(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(SafeScriptImpl,_super),SafeScriptImpl.prototype.getTypeName=function(){return"Script"},SafeScriptImpl}(SafeValueImpl),SafeUrlImpl=function(_super){function SafeUrlImpl(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(SafeUrlImpl,_super),SafeUrlImpl.prototype.getTypeName=function(){return"URL"},SafeUrlImpl}(SafeValueImpl),SafeResourceUrlImpl=function(_super){function SafeResourceUrlImpl(){return null!==_super&&_super.apply(this,arguments)||this}return __extends$1(SafeResourceUrlImpl,_super),SafeResourceUrlImpl.prototype.getTypeName=function(){return"ResourceURL"},SafeResourceUrlImpl}(SafeValueImpl),INTERNAL_BROWSER_PLATFORM_PROVIDERS=[{provide:_angular_core.PLATFORM_ID,useValue:_angular_common.ɵPLATFORM_BROWSER_ID},{provide:_angular_core.PLATFORM_INITIALIZER,useValue:initDomAdapter,multi:!0},{provide:_angular_common.PlatformLocation,useClass:BrowserPlatformLocation},{provide:DOCUMENT,useFactory:_document,deps:[]}],BROWSER_SANITIZATION_PROVIDERS=[{provide:_angular_core.Sanitizer,useExisting:DomSanitizer},{provide:DomSanitizer,useClass:DomSanitizerImpl}],BrowserModule=(_angular_core.createPlatformFactory(_angular_core.platformCore,"browser",INTERNAL_BROWSER_PLATFORM_PROVIDERS),function(){function BrowserModule(parentModule){if(parentModule)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return BrowserModule.withServerTransition=function(params){return{ngModule:BrowserModule,providers:[{provide:_angular_core.APP_ID,useValue:params.appId},{provide:TRANSITION_ID,useExisting:_angular_core.APP_ID},SERVER_TRANSITION_PROVIDERS]}},BrowserModule}());BrowserModule.decorators=[{type:_angular_core.NgModule,args:[{providers:[BROWSER_SANITIZATION_PROVIDERS,{provide:_angular_core.ErrorHandler,useFactory:errorHandler,deps:[]},{provide:EVENT_MANAGER_PLUGINS,useClass:DomEventsPlugin,multi:!0},{provide:EVENT_MANAGER_PLUGINS,useClass:KeyEventsPlugin,multi:!0},{provide:EVENT_MANAGER_PLUGINS,useClass:HammerGesturesPlugin,multi:!0},{provide:HAMMER_GESTURE_CONFIG,useClass:HammerGestureConfig},DomRendererFactory2,{provide:_angular_core.RendererFactory2,useExisting:DomRendererFactory2},{provide:SharedStylesHost,useExisting:DomSharedStylesHost},DomSharedStylesHost,_angular_core.Testability,EventManager,ELEMENT_PROBE_PROVIDERS,Meta,Title],exports:[_angular_common.CommonModule,_angular_core.ApplicationModule]}]}],BrowserModule.ctorParameters=function(){return[{type:BrowserModule,decorators:[{type:_angular_core.Optional},{type:_angular_core.SkipSelf}]}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  /**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var BrowserXhr=(new _angular_core.Version("4.1.0"),function(){function BrowserXhr(){}return BrowserXhr.prototype.build=function(){return new XMLHttpRequest},BrowserXhr}());BrowserXhr.decorators=[{type:_angular_core.Injectable}],BrowserXhr.ctorParameters=function(){return[]};var RequestMethod={};RequestMethod.Get=0,RequestMethod.Post=1,RequestMethod.Put=2,RequestMethod.Delete=3,RequestMethod.Options=4,RequestMethod.Head=5,RequestMethod.Patch=6,RequestMethod[RequestMethod.Get]="Get",RequestMethod[RequestMethod.Post]="Post",RequestMethod[RequestMethod.Put]="Put",RequestMethod[RequestMethod.Delete]="Delete",RequestMethod[RequestMethod.Options]="Options",RequestMethod[RequestMethod.Head]="Head",RequestMethod[RequestMethod.Patch]="Patch";var ReadyState={};ReadyState.Unsent=0,ReadyState.Open=1,ReadyState.HeadersReceived=2,ReadyState.Loading=3,ReadyState.Done=4,ReadyState.Cancelled=5,ReadyState[ReadyState.Unsent]="Unsent",ReadyState[ReadyState.Open]="Open",ReadyState[ReadyState.HeadersReceived]="HeadersReceived",ReadyState[ReadyState.Loading]="Loading",ReadyState[ReadyState.Done]="Done",ReadyState[ReadyState.Cancelled]="Cancelled";var ResponseType={};ResponseType.Basic=0,ResponseType.Cors=1,ResponseType.Default=2,ResponseType.Error=3,ResponseType.Opaque=4,ResponseType[ResponseType.Basic]="Basic",ResponseType[ResponseType.Cors]="Cors",ResponseType[ResponseType.Default]="Default",ResponseType[ResponseType.Error]="Error",ResponseType[ResponseType.Opaque]="Opaque";var ContentType={};ContentType.NONE=0,ContentType.JSON=1,ContentType.FORM=2,ContentType.FORM_DATA=3,ContentType.TEXT=4,ContentType.BLOB=5,ContentType.ARRAY_BUFFER=6,ContentType[ContentType.NONE]="NONE",ContentType[ContentType.JSON]="JSON",ContentType[ContentType.FORM]="FORM",ContentType[ContentType.FORM_DATA]="FORM_DATA",ContentType[ContentType.TEXT]="TEXT",ContentType[ContentType.BLOB]="BLOB",ContentType[ContentType.ARRAY_BUFFER]="ARRAY_BUFFER";var ResponseContentType={};ResponseContentType.Text=0,ResponseContentType.Json=1,ResponseContentType.ArrayBuffer=2,ResponseContentType.Blob=3,ResponseContentType[ResponseContentType.Text]="Text",ResponseContentType[ResponseContentType.Json]="Json",ResponseContentType[ResponseContentType.ArrayBuffer]="ArrayBuffer",ResponseContentType[ResponseContentType.Blob]="Blob";var Headers=function(){function Headers(headers){var _this=this;if(this._headers=new Map,this._normalizedNames=new Map,headers)return headers instanceof Headers?void headers.forEach(function(values,name){values.forEach(function(value){return _this.append(name,value)})}):void Object.keys(headers).forEach(function(name){var values=Array.isArray(headers[name])?headers[name]:[headers[name]];_this.delete(name),values.forEach(function(value){return _this.append(name,value)})})}return Headers.fromResponseHeaderString=function(headersString){var headers=new Headers;return headersString.split("\n").forEach(function(line){var index=line.indexOf(":");if(index>0){var name=line.slice(0,index),value=line.slice(index+1).trim();headers.set(name,value)}}),headers},Headers.prototype.append=function(name,value){var values=this.getAll(name);null===values?this.set(name,value):values.push(value)},Headers.prototype.delete=function(name){var lcName=name.toLowerCase();this._normalizedNames.delete(lcName),this._headers.delete(lcName)},Headers.prototype.forEach=function(fn){var _this=this;this._headers.forEach(function(values,lcName){return fn(values,_this._normalizedNames.get(lcName),_this._headers)})},Headers.prototype.get=function(name){var values=this.getAll(name);return null===values?null:values.length>0?values[0]:null},Headers.prototype.has=function(name){return this._headers.has(name.toLowerCase())},Headers.prototype.keys=function(){return Array.from(this._normalizedNames.values())},Headers.prototype.set=function(name,value){Array.isArray(value)?value.length&&this._headers.set(name.toLowerCase(),[value.join(",")]):this._headers.set(name.toLowerCase(),[value]),this.mayBeSetNormalizedName(name)},Headers.prototype.values=function(){return Array.from(this._headers.values())},Headers.prototype.toJSON=function(){var _this=this,serialized={};return this._headers.forEach(function(values,name){var split=[];values.forEach(function(v){return split.push.apply(split,v.split(","))}),serialized[_this._normalizedNames.get(name)]=split}),serialized},Headers.prototype.getAll=function(name){return this.has(name)?this._headers.get(name.toLowerCase())||null:null},Headers.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},Headers.prototype.mayBeSetNormalizedName=function(name){var lcName=name.toLowerCase();this._normalizedNames.has(lcName)||this._normalizedNames.set(lcName,name)},Headers}(),ResponseOptions=function(){function ResponseOptions(opts){void 0===opts&&(opts={});var body=opts.body,status=opts.status,headers=opts.headers,statusText=opts.statusText,type=opts.type,url=opts.url;this.body=null!=body?body:null,this.status=null!=status?status:null,this.headers=null!=headers?headers:null,this.statusText=null!=statusText?statusText:null,this.type=null!=type?type:null,this.url=null!=url?url:null}return ResponseOptions.prototype.merge=function(options){return new ResponseOptions({body:options&&null!=options.body?options.body:this.body,status:options&&null!=options.status?options.status:this.status,headers:options&&null!=options.headers?options.headers:this.headers,statusText:options&&null!=options.statusText?options.statusText:this.statusText,type:options&&null!=options.type?options.type:this.type,url:options&&null!=options.url?options.url:this.url})},ResponseOptions}(),BaseResponseOptions=function(_super){function BaseResponseOptions(){return _super.call(this,{status:200,statusText:"Ok",type:ResponseType.Default,headers:new Headers})||this}return __extends(BaseResponseOptions,_super),BaseResponseOptions}(ResponseOptions);BaseResponseOptions.decorators=[{type:_angular_core.Injectable}],BaseResponseOptions.ctorParameters=function(){return[]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var ConnectionBackend=function(){function ConnectionBackend(){}return ConnectionBackend.prototype.createConnection=function(request){},ConnectionBackend}(),XSRFStrategy=function(){function XSRFStrategy(){}return XSRFStrategy.prototype.configureRequest=function(req){},XSRFStrategy}(),isSuccess=function(status){return status>=200&&status<300},QueryEncoder=function(){function QueryEncoder(){}return QueryEncoder.prototype.encodeKey=function(k){return standardEncoding(k)},QueryEncoder.prototype.encodeValue=function(v){return standardEncoding(v)},QueryEncoder}(),URLSearchParams=function(){function URLSearchParams(rawParams,queryEncoder){void 0===rawParams&&(rawParams=""),void 0===queryEncoder&&(queryEncoder=new QueryEncoder),this.rawParams=rawParams,this.queryEncoder=queryEncoder,this.paramsMap=paramParser(rawParams)}return URLSearchParams.prototype.clone=function(){var clone=new URLSearchParams("",this.queryEncoder);return clone.appendAll(this),clone},URLSearchParams.prototype.has=function(param){return this.paramsMap.has(param)},URLSearchParams.prototype.get=function(param){var storedParam=this.paramsMap.get(param);return Array.isArray(storedParam)?storedParam[0]:null},URLSearchParams.prototype.getAll=function(param){return this.paramsMap.get(param)||[]},URLSearchParams.prototype.set=function(param,val){if(void 0===val||null===val)return void this.delete(param);var list=this.paramsMap.get(param)||[];list.length=0,list.push(val),this.paramsMap.set(param,list)},URLSearchParams.prototype.setAll=function(searchParams){var _this=this;searchParams.paramsMap.forEach(function(value,param){var list=_this.paramsMap.get(param)||[];list.length=0,list.push(value[0]),_this.paramsMap.set(param,list)})},URLSearchParams.prototype.append=function(param,val){if(void 0!==val&&null!==val){var list=this.paramsMap.get(param)||[];list.push(val),this.paramsMap.set(param,list)}},URLSearchParams.prototype.appendAll=function(searchParams){var _this=this;searchParams.paramsMap.forEach(function(value,param){for(var list=_this.paramsMap.get(param)||[],i=0;i<value.length;++i)list.push(value[i]);_this.paramsMap.set(param,list)})},URLSearchParams.prototype.replaceAll=function(searchParams){var _this=this;searchParams.paramsMap.forEach(function(value,param){var list=_this.paramsMap.get(param)||[];list.length=0;for(var i=0;i<value.length;++i)list.push(value[i]);_this.paramsMap.set(param,list)})},URLSearchParams.prototype.toString=function(){var _this=this,paramsList=[];return this.paramsMap.forEach(function(values,k){values.forEach(function(v){return paramsList.push(_this.queryEncoder.encodeKey(k)+"="+_this.queryEncoder.encodeValue(v))})}),paramsList.join("&")},URLSearchParams.prototype.delete=function(param){this.paramsMap.delete(param)},URLSearchParams}(),Body=function(){function Body(){}return Body.prototype.json=function(){return"string"==typeof this._body?JSON.parse(this._body):this._body instanceof ArrayBuffer?JSON.parse(this.text()):this._body},Body.prototype.text=function(encodingHint){if(void 0===encodingHint&&(encodingHint="legacy"),this._body instanceof URLSearchParams)return this._body.toString();if(this._body instanceof ArrayBuffer)switch(encodingHint){case"legacy":return String.fromCharCode.apply(null,new Uint16Array(this._body));case"iso-8859":return String.fromCharCode.apply(null,new Uint8Array(this._body));default:throw new Error("Invalid value for encodingHint: "+encodingHint)}return null==this._body?"":"object"==typeof this._body?JSON.stringify(this._body,null,2):this._body.toString()},Body.prototype.arrayBuffer=function(){return this._body instanceof ArrayBuffer?this._body:stringToArrayBuffer(this.text())},Body.prototype.blob=function(){if(this._body instanceof Blob)return this._body;if(this._body instanceof ArrayBuffer)return new Blob([this._body]);throw new Error("The request body isn't either a blob or an array buffer")},Body}(),Response=function(_super){function Response(responseOptions){var _this=_super.call(this)||this;return _this._body=responseOptions.body,_this.status=responseOptions.status,_this.ok=_this.status>=200&&_this.status<=299,_this.statusText=responseOptions.statusText,_this.headers=responseOptions.headers,_this.type=responseOptions.type,_this.url=responseOptions.url,_this}return __extends(Response,_super),Response.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},Response}(Body),_nextRequestId=0,JSONP_HOME="__ng_jsonp__",_jsonpConnections=null,BrowserJsonp=function(){function BrowserJsonp(){}return BrowserJsonp.prototype.build=function(url){var node=document.createElement("script");return node.src=url,node},BrowserJsonp.prototype.nextRequestID=function(){return"__req"+_nextRequestId++},BrowserJsonp.prototype.requestCallback=function(id){return JSONP_HOME+"."+id+".finished"},BrowserJsonp.prototype.exposeConnection=function(id,connection){_getJsonpConnections()[id]=connection},BrowserJsonp.prototype.removeConnection=function(id){_getJsonpConnections()[id]=null},BrowserJsonp.prototype.send=function(node){document.body.appendChild(node)},BrowserJsonp.prototype.cleanup=function(node){node.parentNode&&node.parentNode.removeChild(node)},BrowserJsonp}();BrowserJsonp.decorators=[{type:_angular_core.Injectable}],BrowserJsonp.ctorParameters=function(){return[]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var JSONP_ERR_NO_CALLBACK="JSONP injected script did not invoke callback.",JSONP_ERR_WRONG_METHOD="JSONP requests must use GET request method.",JSONPConnection=function(){function JSONPConnection(){}return JSONPConnection.prototype.finished=function(data){},JSONPConnection}(),JSONPConnection_=function(_super){function JSONPConnection_(req,_dom,baseResponseOptions){var _this=_super.call(this)||this;if(_this._dom=_dom,_this.baseResponseOptions=baseResponseOptions,_this._finished=!1,req.method!==RequestMethod.Get)throw new TypeError(JSONP_ERR_WRONG_METHOD);return _this.request=req,_this.response=new rxjs_Observable.Observable(function(responseObserver){_this.readyState=ReadyState.Loading;var id=_this._id=_dom.nextRequestID();_dom.exposeConnection(id,_this);var callback=_dom.requestCallback(_this._id),url=req.url;url.indexOf("=JSONP_CALLBACK&")>-1?url=url.replace("=JSONP_CALLBACK&","="+callback+"&"):url.lastIndexOf("=JSONP_CALLBACK")===url.length-"=JSONP_CALLBACK".length&&(url=url.substring(0,url.length-"=JSONP_CALLBACK".length)+"="+callback);var script=_this._script=_dom.build(url),onLoad=function(event){if(_this.readyState!==ReadyState.Cancelled){if(_this.readyState=ReadyState.Done,_dom.cleanup(script),!_this._finished){var responseOptions_1=new ResponseOptions({body:JSONP_ERR_NO_CALLBACK,type:ResponseType.Error,url:url});return baseResponseOptions&&(responseOptions_1=baseResponseOptions.merge(responseOptions_1)),void responseObserver.error(new Response(responseOptions_1))}var responseOptions=new ResponseOptions({body:_this._responseData,url:url});_this.baseResponseOptions&&(responseOptions=_this.baseResponseOptions.merge(responseOptions)),responseObserver.next(new Response(responseOptions)),responseObserver.complete()}},onError=function(error){if(_this.readyState!==ReadyState.Cancelled){_this.readyState=ReadyState.Done,_dom.cleanup(script);var responseOptions=new ResponseOptions({body:error.message,type:ResponseType.Error});baseResponseOptions&&(responseOptions=baseResponseOptions.merge(responseOptions)),responseObserver.error(new Response(responseOptions))}};return script.addEventListener("load",onLoad),script.addEventListener("error",onError),_dom.send(script),function(){_this.readyState=ReadyState.Cancelled,script.removeEventListener("load",onLoad),script.removeEventListener("error",onError),_this._dom.cleanup(script)}}),_this}return __extends(JSONPConnection_,_super),JSONPConnection_.prototype.finished=function(data){this._finished=!0,this._dom.removeConnection(this._id),this.readyState!==ReadyState.Cancelled&&(this._responseData=data)},JSONPConnection_}(JSONPConnection),JSONPBackend=function(_super){function JSONPBackend(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(JSONPBackend,_super),JSONPBackend}(ConnectionBackend),JSONPBackend_=function(_super){function JSONPBackend_(_browserJSONP,_baseResponseOptions){var _this=_super.call(this)||this;return _this._browserJSONP=_browserJSONP,_this._baseResponseOptions=_baseResponseOptions,_this}return __extends(JSONPBackend_,_super),JSONPBackend_.prototype.createConnection=function(request){return new JSONPConnection_(request,this._browserJSONP,this._baseResponseOptions)},JSONPBackend_}(JSONPBackend);JSONPBackend_.decorators=[{type:_angular_core.Injectable}],JSONPBackend_.ctorParameters=function(){return[{type:BrowserJsonp},{type:ResponseOptions}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var XSSI_PREFIX=/^\)\]\}',?\n/,XHRConnection=function(){function XHRConnection(req,browserXHR,baseResponseOptions){var _this=this;this.request=req,this.response=new rxjs_Observable.Observable(function(responseObserver){var _xhr=browserXHR.build();_xhr.open(RequestMethod[req.method].toUpperCase(),req.url),null!=req.withCredentials&&(_xhr.withCredentials=req.withCredentials);var onLoad=function(){var status=1223===_xhr.status?204:_xhr.status,body=null;204!==status&&"string"==typeof(body=void 0===_xhr.response?_xhr.responseText:_xhr.response)&&(body=body.replace(XSSI_PREFIX,"")),0===status&&(status=body?200:0);var headers=Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders()),url=getResponseURL(_xhr)||req.url,statusText=_xhr.statusText||"OK",responseOptions=new ResponseOptions({body:body,status:status,headers:headers,statusText:statusText,url:url});null!=baseResponseOptions&&(responseOptions=baseResponseOptions.merge(responseOptions));var response=new Response(responseOptions);if(response.ok=isSuccess(status),response.ok)return responseObserver.next(response),void responseObserver.complete();responseObserver.error(response)},onError=function(err){var responseOptions=new ResponseOptions({body:err,type:ResponseType.Error,status:_xhr.status,statusText:_xhr.statusText});null!=baseResponseOptions&&(responseOptions=baseResponseOptions.merge(responseOptions)),responseObserver.error(new Response(responseOptions))};if(_this.setDetectedContentType(req,_xhr),null==req.headers&&(req.headers=new Headers),req.headers.has("Accept")||req.headers.append("Accept","application/json, text/plain, */*"),req.headers.forEach(function(values,name){return _xhr.setRequestHeader(name,values.join(","))}),null!=req.responseType&&null!=_xhr.responseType)switch(req.responseType){case ResponseContentType.ArrayBuffer:_xhr.responseType="arraybuffer";break;case ResponseContentType.Json:_xhr.responseType="json";break;case ResponseContentType.Text:_xhr.responseType="text";break;case ResponseContentType.Blob:_xhr.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return _xhr.addEventListener("load",onLoad),_xhr.addEventListener("error",onError),_xhr.send(_this.request.getBody()),function(){_xhr.removeEventListener("load",onLoad),_xhr.removeEventListener("error",onError),_xhr.abort()}})}return XHRConnection.prototype.setDetectedContentType=function(req,_xhr){if(null==req.headers||null==req.headers.get("Content-Type"))switch(req.contentType){case ContentType.NONE:break;case ContentType.JSON:_xhr.setRequestHeader("content-type","application/json");break;case ContentType.FORM:_xhr.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case ContentType.TEXT:_xhr.setRequestHeader("content-type","text/plain");break;case ContentType.BLOB:var blob=req.blob();blob.type&&_xhr.setRequestHeader("content-type",blob.type)}},XHRConnection}(),CookieXSRFStrategy=function(){function CookieXSRFStrategy(_cookieName,_headerName){void 0===_cookieName&&(_cookieName="XSRF-TOKEN"),void 0===_headerName&&(_headerName="X-XSRF-TOKEN"),this._cookieName=_cookieName,this._headerName=_headerName}return CookieXSRFStrategy.prototype.configureRequest=function(req){var xsrfToken=getDOM().getCookie(this._cookieName);xsrfToken&&req.headers.set(this._headerName,xsrfToken)},CookieXSRFStrategy}(),XHRBackend=function(){function XHRBackend(_browserXHR,_baseResponseOptions,_xsrfStrategy){this._browserXHR=_browserXHR,this._baseResponseOptions=_baseResponseOptions,this._xsrfStrategy=_xsrfStrategy}return XHRBackend.prototype.createConnection=function(request){return this._xsrfStrategy.configureRequest(request),new XHRConnection(request,this._browserXHR,this._baseResponseOptions)},XHRBackend}();XHRBackend.decorators=[{type:_angular_core.Injectable}],XHRBackend.ctorParameters=function(){return[{type:BrowserXhr},{type:ResponseOptions},{type:XSRFStrategy}]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var RequestOptions=function(){function RequestOptions(opts){void 0===opts&&(opts={});var method=opts.method,headers=opts.headers,body=opts.body,url=opts.url,search=opts.search,params=opts.params,withCredentials=opts.withCredentials,responseType=opts.responseType;this.method=null!=method?normalizeMethodName(method):null,this.headers=null!=headers?headers:null,this.body=null!=body?body:null,this.url=null!=url?url:null,this.params=this._mergeSearchParams(params||search),this.withCredentials=null!=withCredentials?withCredentials:null,this.responseType=null!=responseType?responseType:null}return Object.defineProperty(RequestOptions.prototype,"search",{get:function(){return this.params},set:function(params){this.params=params},enumerable:!0,configurable:!0}),RequestOptions.prototype.merge=function(options){return new RequestOptions({method:options&&null!=options.method?options.method:this.method,headers:options&&null!=options.headers?options.headers:new Headers(this.headers),body:options&&null!=options.body?options.body:this.body,url:options&&null!=options.url?options.url:this.url,params:options&&this._mergeSearchParams(options.params||options.search),withCredentials:options&&null!=options.withCredentials?options.withCredentials:this.withCredentials,responseType:options&&null!=options.responseType?options.responseType:this.responseType})},RequestOptions.prototype._mergeSearchParams=function(params){return params?params instanceof URLSearchParams?params.clone():"string"==typeof params?new URLSearchParams(params):this._parseParams(params):this.params},RequestOptions.prototype._parseParams=function(objParams){var _this=this;void 0===objParams&&(objParams={});var params=new URLSearchParams;return Object.keys(objParams).forEach(function(key){var value=objParams[key];Array.isArray(value)?value.forEach(function(item){return _this._appendParam(key,item,params)}):_this._appendParam(key,value,params)}),params},RequestOptions.prototype._appendParam=function(key,value,params){"string"!=typeof value&&(value=JSON.stringify(value)),params.append(key,value)},RequestOptions}(),BaseRequestOptions=function(_super){function BaseRequestOptions(){return _super.call(this,{method:RequestMethod.Get,headers:new Headers})||this}return __extends(BaseRequestOptions,_super),BaseRequestOptions}(RequestOptions);BaseRequestOptions.decorators=[{type:_angular_core.Injectable}],BaseRequestOptions.ctorParameters=function(){return[]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var Request=function(_super){function Request(requestOptions){var _this=_super.call(this)||this,url=requestOptions.url;_this.url=requestOptions.url;var paramsArg=requestOptions.params||requestOptions.search;if(paramsArg){var params=void 0;if(params="object"!=typeof paramsArg||paramsArg instanceof URLSearchParams?paramsArg.toString():urlEncodeParams(paramsArg).toString(),params.length>0){var prefix="?";-1!=_this.url.indexOf("?")&&(prefix="&"==_this.url[_this.url.length-1]?"":"&"),_this.url=url+prefix+params}}return _this._body=requestOptions.body,_this.method=normalizeMethodName(requestOptions.method),_this.headers=new Headers(requestOptions.headers),_this.contentType=_this.detectContentType(),_this.withCredentials=requestOptions.withCredentials,_this.responseType=requestOptions.responseType,_this}return __extends(Request,_super),Request.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return ContentType.JSON;case"application/x-www-form-urlencoded":return ContentType.FORM;case"multipart/form-data":return ContentType.FORM_DATA;case"text/plain":case"text/html":return ContentType.TEXT;case"application/octet-stream":return this._body instanceof ArrayBuffer$1?ContentType.ARRAY_BUFFER:ContentType.BLOB;default:return this.detectContentTypeFromBody()}},Request.prototype.detectContentTypeFromBody=function(){return null==this._body?ContentType.NONE:this._body instanceof URLSearchParams?ContentType.FORM:this._body instanceof FormData?ContentType.FORM_DATA:this._body instanceof Blob$1?ContentType.BLOB:this._body instanceof ArrayBuffer$1?ContentType.ARRAY_BUFFER:this._body&&"object"==typeof this._body?ContentType.JSON:ContentType.TEXT},Request.prototype.getBody=function(){switch(this.contentType){case ContentType.JSON:case ContentType.FORM:return this.text();case ContentType.FORM_DATA:return this._body;case ContentType.TEXT:return this.text();case ContentType.BLOB:return this.blob();case ContentType.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},Request}(Body),noop=function(){},w="object"==typeof window?window:noop,FormData=w.FormData||noop,Blob$1=w.Blob||noop,ArrayBuffer$1=w.ArrayBuffer||noop,Http=function(){function Http(_backend,_defaultOptions){this._backend=_backend,this._defaultOptions=_defaultOptions}return Http.prototype.request=function(url,options){var responseObservable;if("string"==typeof url)responseObservable=httpRequest(this._backend,new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Get,url)));else{if(!(url instanceof Request))throw new Error("First argument must be a url string or Request instance.");responseObservable=httpRequest(this._backend,url)}return responseObservable},Http.prototype.get=function(url,options){return this.request(new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Get,url)))},Http.prototype.post=function(url,body,options){return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body:body})),options,RequestMethod.Post,url)))},Http.prototype.put=function(url,body,options){return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body:body})),options,RequestMethod.Put,url)))},Http.prototype.delete=function(url,options){return this.request(new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Delete,url)))},Http.prototype.patch=function(url,body,options){return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({body:body})),options,RequestMethod.Patch,url)))},Http.prototype.head=function(url,options){return this.request(new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Head,url)))},Http.prototype.options=function(url,options){return this.request(new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Options,url)))},Http}();Http.decorators=[{type:_angular_core.Injectable}],Http.ctorParameters=function(){return[{type:ConnectionBackend},{type:RequestOptions}]};var Jsonp=function(_super){function Jsonp(backend,defaultOptions){return _super.call(this,backend,defaultOptions)||this}return __extends(Jsonp,_super),Jsonp.prototype.request=function(url,options){if("string"==typeof url&&(url=new Request(mergeOptions(this._defaultOptions,options,RequestMethod.Get,url))),!(url instanceof Request))throw new Error("First argument must be a url string or Request instance.");if(url.method!==RequestMethod.Get)throw new Error("JSONP requests must use GET request method.");return httpRequest(this._backend,url)},Jsonp}(Http);Jsonp.decorators=[{type:_angular_core.Injectable}],Jsonp.ctorParameters=function(){return[{type:ConnectionBackend},{type:RequestOptions}]};var HttpModule=function(){function HttpModule(){}return HttpModule}();HttpModule.decorators=[{type:_angular_core.NgModule,args:[{providers:[{provide:Http,useFactory:httpFactory,deps:[XHRBackend,RequestOptions]},BrowserXhr,{provide:RequestOptions,useClass:BaseRequestOptions},{provide:ResponseOptions,useClass:BaseResponseOptions},XHRBackend,{provide:XSRFStrategy,useFactory:_createDefaultCookieXSRFStrategy}]}]}],HttpModule.ctorParameters=function(){return[]};var JsonpModule=function(){function JsonpModule(){}return JsonpModule}();JsonpModule.decorators=[{type:_angular_core.NgModule,args:[{providers:[{provide:Jsonp,useFactory:jsonpFactory,deps:[JSONPBackend,RequestOptions]},BrowserJsonp,{provide:RequestOptions,useClass:BaseRequestOptions},{provide:ResponseOptions,useClass:BaseResponseOptions},{provide:JSONPBackend,useClass:JSONPBackend_}]}]}],JsonpModule.ctorParameters=function(){return[]};/**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  var AuthConfiguration=(new _angular_core.Version("4.4.2"),function(){function AuthConfiguration(){}return AuthConfiguration.prototype.isValid=function(){if(!this.validateString(this.authorityUrl,"The authorityUrl cannot be empty."))return!1;if(!this.authorityUrl.startsWith("https://")){if(!this.authorityUrl.startsWith("http://"))return console.error("The authorityUrl is not valid, it must start with https:// or http://"),!1;console.warn("Make sure you are using the HTTPS version of the authorityUrl in production!")}return!!this.validateString(this.clientId,"The clientId cannot be empty.")&&(!!this.validateString(this.redirectUrl,"The redirectUrl cannot be empty.")&&(void 0!=this.scopes&&0!=this.scopes.length&&!this.scopes.every(function(item){return""==item})||(console.error("There has to be at least one requested scope."),!1)))},AuthConfiguration.prototype.getWellKnownEndpointsUrl=function(){return this.authorityUrl+"/.well-known/openid-configuration"},AuthConfiguration.prototype.validateString=function(validatedValue,errorMsg){return void 0!=validatedValue&&""!=validatedValue||(console.error(errorMsg),!1)},AuthConfiguration}());AuthConfiguration.decorators=[{type:_angular_core.Injectable}],AuthConfiguration.ctorParameters=function(){return[]};var OidcAuthStorage=function(){function OidcAuthStorage(authConfig){this.authConfig=authConfig,this.wellKnownEndpointsKey=""}return OidcAuthStorage.prototype.getWellKnownEndpoints=function(){if(_angular_common.isPlatformBrowser){var storageValue=this.authConfig.storage.getItem(this.wellKnownEndpointsKey);if(storageValue&&void 0!=storageValue){return JSON.parse(storageValue)}}},OidcAuthStorage.prototype.setWellKnownEndpoints=function(value){var str=JSON.stringify(value);this.authConfig.storage.setItem(this.wellKnownEndpointsKey,str)},OidcAuthStorage}();OidcAuthStorage.decorators=[{type:_angular_core.Injectable}],OidcAuthStorage.ctorParameters=function(){return[{type:AuthConfiguration}]};var WellKnownEndpointsService=function(){function WellKnownEndpointsService(authConfig,http,storage){this.authConfig=authConfig,this.http=http,this.storage=storage,this.onWellKnownEndpointsLoaded=new _angular_core.EventEmitter(!0)}return WellKnownEndpointsService.prototype.ensureEndpoints=function(){var storageValue=this.storage.getWellKnownEndpoints();storageValue?(console.debug("Loading endpoints from the storage."),this.endpoints=storageValue,this.onWellKnownEndpointsLoaded.emit()):(console.debug("Fetching endpoints from the server "+this.authConfig.getWellKnownEndpointsUrl()+"."),this.fetchEndpoints())},WellKnownEndpointsService.prototype.fetchEndpoints=function(){var _this=this;this.http.get(this.authConfig.getWellKnownEndpointsUrl()).subscribe(function(data){var jsonResponse=data.json(),parsed=new WellKnownEndpoints;parsed.authorizationEndpointUri=jsonResponse.authorization_endpoint,_this.endpoints=parsed,_this.storage.setWellKnownEndpoints(_this.endpoints),_this.onWellKnownEndpointsLoaded.emit()})},WellKnownEndpointsService}();WellKnownEndpointsService.decorators=[{type:_angular_core.Injectable}],WellKnownEndpointsService.ctorParameters=function(){return[{type:AuthConfiguration},{type:Http},{type:OidcAuthStorage}]},WellKnownEndpointsService.propDecorators={onWellKnownEndpointsLoaded:[{type:_angular_core.Output}]};var WellKnownEndpoints=function(){function WellKnownEndpoints(){}return WellKnownEndpoints}(),OidcAuthService=function(){function OidcAuthService(wellKnownEndpointsService){this.wellKnownEndpointsService=wellKnownEndpointsService,this.setupComplete=new _angular_core.EventEmitter(!0)}return OidcAuthService.prototype.setup=function(config){var _this=this;void 0==config&&console.error("The configuration is null/undefined."),config.isValid()||console.error("The configuration is invalid, please fix the errors above."),this.wellKnownEndpointsService.onWellKnownEndpointsLoaded.subscribe(function(){_this.setupComplete.emit()}),this.wellKnownEndpointsService.ensureEndpoints()},OidcAuthService.prototype.getToken=function(){return""},OidcAuthService.prototype.addAuthHeaders=function(){},OidcAuthService.prototype.parseTokenFromLocation=function(){return!(!_angular_common.isPlatformBrowser||!window.location.hash)&&this.parseTokenFromHash(window.location.hash)},OidcAuthService.prototype.parseTokenFromHash=function(hash){if(!_angular_common.isPlatformBrowser||!window.location.hash)return!1;this.parseHash(window.location.hash);return!0},OidcAuthService.prototype.parseHash=function(hash){hash.substr(1).split("&").reduce(function(result,item){var parts=item.split("=");return result[parts[0]]=parts[1],result},{})},OidcAuthService}();OidcAuthService.decorators=[{type:_angular_core.Injectable}],OidcAuthService.ctorParameters=function(){return[{type:WellKnownEndpointsService}]},OidcAuthService.propDecorators={setupComplete:[{type:_angular_core.Output}]};var OidcAuthModule=function(){function OidcAuthModule(){}return OidcAuthModule.forRoot=function(){return{ngModule:OidcAuthModule,providers:[OidcAuthService]}},OidcAuthModule.forChild=function(){return{ngModule:OidcAuthModule,providers:[OidcAuthService]}},OidcAuthModule}();OidcAuthModule.decorators=[{type:_angular_core.NgModule,args:[{declarations:[],exports:[]}]}],OidcAuthModule.ctorParameters=function(){return[]},exports.OidcAuthModule=OidcAuthModule,exports.AuthConfiguration=AuthConfiguration,exports.ɵc=OidcAuthStorage,exports.ɵa=OidcAuthService,exports.ɵb=WellKnownEndpointsService,Object.defineProperty(exports,"__esModule",{value:!0})});
  //# sourceMappingURL=angular-library-starter.umd.min.js.map
  