-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent-typehead-typehead-module.js.map
1 lines (1 loc) · 129 KB
/
component-typehead-typehead-module.js.map
1
{"version":3,"sources":["webpack:///./node_modules/@angular/Http/fesm5/http.js","webpack:///./node_modules/rxjs-compat/_esm5/Observable.js","webpack:///./node_modules/rxjs-compat/_esm5/add/observable/of.js","webpack:///./node_modules/rxjs-compat/_esm5/add/operator/catch.js","webpack:///./node_modules/rxjs-compat/_esm5/add/operator/distinctUntilChanged.js","webpack:///./node_modules/rxjs-compat/_esm5/add/operator/do.js","webpack:///./node_modules/rxjs-compat/_esm5/add/operator/switchMap.js","webpack:///./node_modules/rxjs-compat/_esm5/operator/catch.js","webpack:///./node_modules/rxjs-compat/_esm5/operator/distinctUntilChanged.js","webpack:///./src/app/pages/component/typehead/typehead.component.html","webpack:///./src/app/pages/component/typehead/typehead.component.ts","webpack:///./src/app/pages/component/typehead/typehead.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAE8D;AACV;AAClB;AACkB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,+BAA+B;AAC7E;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA,sDAAsD,eAAe;AACrE;AACA;AACA;AACA;AACA,sDAAsD,eAAe;AACrE;AACA;AACA;AACA;AACA;AACA,sDAAsD,eAAe;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA,iEAAiE,cAAc;AAC/E;AACA;AACA;AACA,iEAAiE,cAAc;AAC/E;AACA;AACA;AACA;AACA,iEAAiE,cAAc;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,wDAAwD;AACxD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kCAAkC,EAAE;AACrF,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,6CAA6C,kCAAkC,EAAE;AACjF,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,uEAAuE,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8CAA8C;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mDAAmD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,yCAAyC,gCAAgC,sDAAQ,gBAAgB,EAAE;AACnG;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yEAAyE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI,0BAA0B;AAC9B;AACA,6CAA6C,yBAAyB;AACtE,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC;AACA;AACA,aAAa,cAAc;AAC3B,IAAI;AACJ;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA,gBAAgB;AAChB,QAAQ;AACR;AACA;AACA,QAAQ;AACR,gDAAgD;AAChD,8CAA8C,YAAY;AAC1D,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA,kBAAkB;AAClB,UAAU;AACV;AACA;AACA,UAAU;AACV,kDAAkD;AAClD,gDAAgD,YAAY;AAC5D,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;AACA,kBAAkB;AAClB,UAAU;AACV;AACA;AACA,UAAU;AACV,kDAAkD;AAClD,gDAAgD,YAAY;AAC5D,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA,kDAAkD,sBAAsB;AACxE,wBAAwB,eAAe;AACvC,YAAY,WAAW,YAAY,yBAAyB;AAC5D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,oEAAoE;AAC/E;AACA,WAAW,IAAI;AACf;AACA;AACA,oCAAoC,kBAAkB;AACtD;AACA;AACA,oCAAoC,8CAA8C;AAClF;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD,IAAI;AACJ,8EAA8E;AAC9E,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA,kCAAkC,oFAAoF;AACtH;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,sDAAsD,WAAW;AACjE;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA,qBAAqB,oDAAM;AAC3B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4BAA4B;AACjF,uDAAuD,4BAA4B;AACnF;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,mBAAmB;AAC3E;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,sCAAsC,mCAAmC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,kCAAkC;AACxF;AACA;AACA;AACA;AACA,yDAAyD,wCAAwC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,yDAAyD,8BAA8B;AACvF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc,MAAM;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,mCAAmC;AAC3F,4DAA4D,4CAA4C;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+CAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,kEAAkE;AACnI;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,sCAAsC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gDAAgD;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,MAAM,wBAAwB;AAC9B;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,+CAA+C;AAC/C,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,MAAM;AACN;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+CAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,iFAAiF;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,wDAAwD,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAA4B;AACjE,qCAAqC,8BAA8B;AACnE;AACA;AACA;AACA;AACA,wBAAwB,yEAAO;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wDAAwD;AACnE;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ,4CAA4C;AACpD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,6CAA6C;AAC7C,SAAS,oBAAoB;AAC7B,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,MAAM;AACN;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc;AAClB;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA,WAAW,uCAAuC;AAClD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yDAAyD;AACzD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sBAAsB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAuC;AACtD;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR,6DAA6D;AAC7D,gDAAgD;AAChD,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uCAAuC;AACxD;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV,+DAA+D;AAC/D,kDAAkD;AAClD,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uCAAuC;AACxD;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV,+DAA+D;AAC/D,kDAAkD;AAClD,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA,+CAA+C,8CAA8C,EAAE;AAC/F;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA,eAAe;AACf,sBAAsB,cAAc;AACpC;AACA,kDAAkD,qBAAqB;AACvE,wBAAwB,eAAe;AACvC,YAAY,WAAW,qBAAqB,uBAAuB;AACnE;AACA;AACA,WAAW,mCAAmC;AAC9C;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,yDAAyD;AACzD,4CAA4C;AAC5C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA,kCAAkC,oDAAoD;AACtF;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,WAAW;AACvF,IAAI,YAAY;AAChB,qFAAqF,WAAW;AAChG;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,6CAA6C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,8CAA8C,qDAAqD,EAAE;AACrG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA,+DAA+D,eAAe;AAC9E;AACA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB;AACrB,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,YAAY;AACvB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAc,wDAAwD;AAChF;AACA,WAAW,yBAAyB;AACpC;AACA;AACA;AACA,YAAY,cAAc,wDAAwD;AAClF;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA,YAAY,cAAc,wDAAwD;AAClF;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG,aAAa;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG,aAAa;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG,aAAa;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,uCAAuC;AACvC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,MAAM;AACN;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,IAAI,uDAAS;AACb;AACA;AACA;AACA;AACA;AACA,UAAU,cAAc,wDAAwD;AAChF;AACA,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc,wDAAwD;AAClF;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc,wDAAwD;AAClF;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,wDAAU;AAC1B;AACA;AACA,wCAAwC;AACxC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,MAAM;AACN;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,sDAAQ;AACxB;AACA;AACA;AACA,yBAAyB,6EAA6E;AACtG;AACA,yBAAyB,wDAAwD;AACjF,yBAAyB,0DAA0D;AACnF;AACA,yBAAyB,sEAAsE;AAC/F;AACA,iBAAiB;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,sDAAQ;AACxB;AACA;AACA;AACA,yBAAyB,iFAAiF;AAC1G;AACA,yBAAyB,wDAAwD;AACjF,yBAAyB,0DAA0D;AACnF;AACA;AACA,iBAAiB;AACjB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qDAAO;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEynB;AACznB;;;;;;;;;;;;;ACrxEA;AAAA;AAAA;AAAA;AAAkC;AAClC,sC;;;;;;;;;;;;ACDA;AAAA;AAAkD;AAClD,+CAAU,MAAM,uCAAQ;AACxB,8B;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAkC;AACY;AAC9C,+CAAU,mBAAmB,sDAAM;AACnC,+CAAU,oBAAoB,sDAAM;AACpC,iC;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAkC;AACyC;AAC3E,+CAAU,kCAAkC,mFAAoB;AAChE,gD;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAkC;AACM;AACxC,+CAAU,gBAAgB,gDAAG;AAC7B,+CAAU,iBAAiB,gDAAG;AAC9B,8B;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAkC;AACmB;AACrD,+CAAU,uBAAuB,6DAAS;AAC1C,qC;;;;;;;;;;;;ACHA;AAAA;AAAA;AAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","file":"component-typehead-typehead-module.js","sourcesContent":["/**\n * @license Angular v6.0.3\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n\nimport { Injectable, NgModule, Version } from '@angular/core';\nimport { __extends, __read, __spread } from 'tslib';\nimport { Observable } from 'rxjs';\nimport { ɵgetDOM } from '@angular/platform-browser';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A backend for http that uses the `XMLHttpRequest` browser API.\n *\n * Take care not to evaluate this in non-browser contexts.\n *\n * @deprecated use @angular/common/http instead\n */\nvar BrowserXhr = /** @class */ (function () {\n function BrowserXhr() {\n }\n BrowserXhr.prototype.build = function () { return (new XMLHttpRequest()); };\n BrowserXhr.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n BrowserXhr.ctorParameters = function () { return []; };\n return BrowserXhr;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Supported http methods.\n * @deprecated use @angular/common/http instead\n */\n/**\n * Supported http methods.\n * @deprecated use @angular/common/http instead\n */\nvar RequestMethod;\n/**\n * Supported http methods.\n * @deprecated use @angular/common/http instead\n */\n(function (RequestMethod) {\n RequestMethod[RequestMethod[\"Get\"] = 0] = \"Get\";\n RequestMethod[RequestMethod[\"Post\"] = 1] = \"Post\";\n RequestMethod[RequestMethod[\"Put\"] = 2] = \"Put\";\n RequestMethod[RequestMethod[\"Delete\"] = 3] = \"Delete\";\n RequestMethod[RequestMethod[\"Options\"] = 4] = \"Options\";\n RequestMethod[RequestMethod[\"Head\"] = 5] = \"Head\";\n RequestMethod[RequestMethod[\"Patch\"] = 6] = \"Patch\";\n})(RequestMethod || (RequestMethod = {}));\n/**\n * All possible states in which a connection can be, based on\n * [States](http://www.w3.org/TR/XMLHttpRequest/#states) from the `XMLHttpRequest` spec, but with an\n * additional \"CANCELLED\" state.\n * @deprecated use @angular/common/http instead\n */\n/**\n * All possible states in which a connection can be, based on\n * [States](http://www.w3.org/TR/XMLHttpRequest/#states) from the `XMLHttpRequest` spec, but with an\n * additional \"CANCELLED\" state.\n * @deprecated use @angular/common/http instead\n */\nvar ReadyState;\n/**\n * All possible states in which a connection can be, based on\n * [States](http://www.w3.org/TR/XMLHttpRequest/#states) from the `XMLHttpRequest` spec, but with an\n * additional \"CANCELLED\" state.\n * @deprecated use @angular/common/http instead\n */\n(function (ReadyState) {\n ReadyState[ReadyState[\"Unsent\"] = 0] = \"Unsent\";\n ReadyState[ReadyState[\"Open\"] = 1] = \"Open\";\n ReadyState[ReadyState[\"HeadersReceived\"] = 2] = \"HeadersReceived\";\n ReadyState[ReadyState[\"Loading\"] = 3] = \"Loading\";\n ReadyState[ReadyState[\"Done\"] = 4] = \"Done\";\n ReadyState[ReadyState[\"Cancelled\"] = 5] = \"Cancelled\";\n})(ReadyState || (ReadyState = {}));\n/**\n * Acceptable response types to be associated with a {@link Response}, based on\n * [ResponseType](https://fetch.spec.whatwg.org/#responsetype) from the Fetch spec.\n * @deprecated use @angular/common/http instead\n */\n/**\n * Acceptable response types to be associated with a {@link Response}, based on\n * [ResponseType](https://fetch.spec.whatwg.org/#responsetype) from the Fetch spec.\n * @deprecated use @angular/common/http instead\n */\nvar ResponseType;\n/**\n * Acceptable response types to be associated with a {@link Response}, based on\n * [ResponseType](https://fetch.spec.whatwg.org/#responsetype) from the Fetch spec.\n * @deprecated use @angular/common/http instead\n */\n(function (ResponseType) {\n ResponseType[ResponseType[\"Basic\"] = 0] = \"Basic\";\n ResponseType[ResponseType[\"Cors\"] = 1] = \"Cors\";\n ResponseType[ResponseType[\"Default\"] = 2] = \"Default\";\n ResponseType[ResponseType[\"Error\"] = 3] = \"Error\";\n ResponseType[ResponseType[\"Opaque\"] = 4] = \"Opaque\";\n})(ResponseType || (ResponseType = {}));\n/**\n * Supported content type to be automatically associated with a {@link Request}.\n * @deprecated use @angular/common/http instead\n */\n/**\n * Supported content type to be automatically associated with a {@link Request}.\n * @deprecated use @angular/common/http instead\n */\nvar ContentType;\n/**\n * Supported content type to be automatically associated with a {@link Request}.\n * @deprecated use @angular/common/http instead\n */\n(function (ContentType) {\n ContentType[ContentType[\"NONE\"] = 0] = \"NONE\";\n ContentType[ContentType[\"JSON\"] = 1] = \"JSON\";\n ContentType[ContentType[\"FORM\"] = 2] = \"FORM\";\n ContentType[ContentType[\"FORM_DATA\"] = 3] = \"FORM_DATA\";\n ContentType[ContentType[\"TEXT\"] = 4] = \"TEXT\";\n ContentType[ContentType[\"BLOB\"] = 5] = \"BLOB\";\n ContentType[ContentType[\"ARRAY_BUFFER\"] = 6] = \"ARRAY_BUFFER\";\n})(ContentType || (ContentType = {}));\n/**\n * Define which buffer to use to store the response\n * @deprecated use @angular/common/http instead\n */\n/**\n * Define which buffer to use to store the response\n * @deprecated use @angular/common/http instead\n */\nvar ResponseContentType;\n/**\n * Define which buffer to use to store the response\n * @deprecated use @angular/common/http instead\n */\n(function (ResponseContentType) {\n ResponseContentType[ResponseContentType[\"Text\"] = 0] = \"Text\";\n ResponseContentType[ResponseContentType[\"Json\"] = 1] = \"Json\";\n ResponseContentType[ResponseContentType[\"ArrayBuffer\"] = 2] = \"ArrayBuffer\";\n ResponseContentType[ResponseContentType[\"Blob\"] = 3] = \"Blob\";\n})(ResponseContentType || (ResponseContentType = {}));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Polyfill for [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers), as\n * specified in the [Fetch Spec](https://fetch.spec.whatwg.org/#headers-class).\n *\n * The only known difference between this `Headers` implementation and the spec is the\n * lack of an `entries` method.\n *\n * ### Example\n *\n * ```\n * import {Headers} from '@angular/http';\n *\n * var firstHeaders = new Headers();\n * firstHeaders.append('Content-Type', 'image/jpeg');\n * console.log(firstHeaders.get('Content-Type')) //'image/jpeg'\n *\n * // Create headers from Plain Old JavaScript Object\n * var secondHeaders = new Headers({\n * 'X-My-Custom-Header': 'Angular'\n * });\n * console.log(secondHeaders.get('X-My-Custom-Header')); //'Angular'\n *\n * var thirdHeaders = new Headers(secondHeaders);\n * console.log(thirdHeaders.get('X-My-Custom-Header')); //'Angular'\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar Headers = /** @class */ (function () {\n // TODO(vicb): any -> string|string[]\n function Headers(headers) {\n var _this = this;\n /** @internal header names are lower case */\n this._headers = new Map();\n /** @internal map lower case names to actual names */\n this._normalizedNames = new Map();\n if (!headers) {\n return;\n }\n if (headers instanceof Headers) {\n headers.forEach(function (values, name) {\n values.forEach(function (value) { return _this.append(name, value); });\n });\n return;\n }\n Object.keys(headers).forEach(function (name) {\n var values = Array.isArray(headers[name]) ? headers[name] : [headers[name]];\n _this.delete(name);\n values.forEach(function (value) { return _this.append(name, value); });\n });\n }\n /**\n * Returns a new Headers instance from the given DOMString of Response Headers\n */\n /**\n * Returns a new Headers instance from the given DOMString of Response Headers\n */\n Headers.fromResponseHeaderString = /**\n * Returns a new Headers instance from the given DOMString of Response Headers\n */\n function (headersString) {\n var headers = new Headers();\n headersString.split('\\n').forEach(function (line) {\n var index = line.indexOf(':');\n if (index > 0) {\n var name_1 = line.slice(0, index);\n var value = line.slice(index + 1).trim();\n headers.set(name_1, value);\n }\n });\n return headers;\n };\n /**\n * Appends a header to existing list of header values for a given header name.\n */\n /**\n * Appends a header to existing list of header values for a given header name.\n */\n Headers.prototype.append = /**\n * Appends a header to existing list of header values for a given header name.\n */\n function (name, value) {\n var values = this.getAll(name);\n if (values === null) {\n this.set(name, value);\n }\n else {\n values.push(value);\n }\n };\n /**\n * Deletes all header values for the given name.\n */\n /**\n * Deletes all header values for the given name.\n */\n Headers.prototype.delete = /**\n * Deletes all header values for the given name.\n */\n function (name) {\n var lcName = name.toLowerCase();\n this._normalizedNames.delete(lcName);\n this._headers.delete(lcName);\n };\n Headers.prototype.forEach = function (fn) {\n var _this = this;\n this._headers.forEach(function (values, lcName) { return fn(values, _this._normalizedNames.get(lcName), _this._headers); });\n };\n /**\n * Returns first header that matches given name.\n */\n /**\n * Returns first header that matches given name.\n */\n Headers.prototype.get = /**\n * Returns first header that matches given name.\n */\n function (name) {\n var values = this.getAll(name);\n if (values === null) {\n return null;\n }\n return values.length > 0 ? values[0] : null;\n };\n /**\n * Checks for existence of header by given name.\n */\n /**\n * Checks for existence of header by given name.\n */\n Headers.prototype.has = /**\n * Checks for existence of header by given name.\n */\n function (name) { return this._headers.has(name.toLowerCase()); };\n /**\n * Returns the names of the headers\n */\n /**\n * Returns the names of the headers\n */\n Headers.prototype.keys = /**\n * Returns the names of the headers\n */\n function () { return Array.from(this._normalizedNames.values()); };\n /**\n * Sets or overrides header value for given name.\n */\n /**\n * Sets or overrides header value for given name.\n */\n Headers.prototype.set = /**\n * Sets or overrides header value for given name.\n */\n function (name, value) {\n if (Array.isArray(value)) {\n if (value.length) {\n this._headers.set(name.toLowerCase(), [value.join(',')]);\n }\n }\n else {\n this._headers.set(name.toLowerCase(), [value]);\n }\n this.mayBeSetNormalizedName(name);\n };\n /**\n * Returns values of all headers.\n */\n /**\n * Returns values of all headers.\n */\n Headers.prototype.values = /**\n * Returns values of all headers.\n */\n function () { return Array.from(this._headers.values()); };\n /**\n * Returns string of all headers.\n */\n // TODO(vicb): returns {[name: string]: string[]}\n /**\n * Returns string of all headers.\n */\n // TODO(vicb): returns {[name: string]: string[]}\n Headers.prototype.toJSON = /**\n * Returns string of all headers.\n */\n // TODO(vicb): returns {[name: string]: string[]}\n function () {\n var _this = this;\n var serialized = {};\n this._headers.forEach(function (values, name) {\n var split = [];\n values.forEach(function (v) { return split.push.apply(split, __spread(v.split(','))); });\n serialized[_this._normalizedNames.get(name)] = split;\n });\n return serialized;\n };\n /**\n * Returns list of header values for a given name.\n */\n /**\n * Returns list of header values for a given name.\n */\n Headers.prototype.getAll = /**\n * Returns list of header values for a given name.\n */\n function (name) {\n return this.has(name) ? this._headers.get(name.toLowerCase()) || null : null;\n };\n /**\n * This method is not implemented.\n */\n /**\n * This method is not implemented.\n */\n Headers.prototype.entries = /**\n * This method is not implemented.\n */\n function () { throw new Error('\"entries\" method is not implemented on Headers class'); };\n Headers.prototype.mayBeSetNormalizedName = function (name) {\n var lcName = name.toLowerCase();\n if (!this._normalizedNames.has(lcName)) {\n this._normalizedNames.set(lcName, name);\n }\n };\n return Headers;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates a response options object to be optionally provided when instantiating a\n * {@link Response}.\n *\n * This class is based on the `ResponseInit` description in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#responseinit).\n *\n * All values are null by default. Typical defaults can be found in the\n * {@link BaseResponseOptions} class, which sub-classes `ResponseOptions`.\n *\n * This class may be used in tests to build {@link Response Responses} for\n * mock responses (see {@link MockBackend}).\n *\n * ### Example ([live demo](http://plnkr.co/edit/P9Jkk8e8cz6NVzbcxEsD?p=preview))\n *\n * ```typescript\n * import {ResponseOptions, Response} from '@angular/http';\n *\n * var options = new ResponseOptions({\n * body: '{\"name\":\"Jeff\"}'\n * });\n * var res = new Response(options);\n *\n * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar ResponseOptions = /** @class */ (function () {\n function ResponseOptions(opts) {\n if (opts === void 0) { opts = {}; }\n var body = opts.body, status = opts.status, headers = opts.headers, statusText = opts.statusText, type = opts.type, url = opts.url;\n this.body = body != null ? body : null;\n this.status = status != null ? status : null;\n this.headers = headers != null ? headers : null;\n this.statusText = statusText != null ? statusText : null;\n this.type = type != null ? type : null;\n this.url = url != null ? url : null;\n }\n /**\n * Creates a copy of the `ResponseOptions` instance, using the optional input as values to\n * override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * This may be useful when sharing a base `ResponseOptions` object inside tests,\n * where certain properties may change from test to test.\n *\n * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))\n *\n * ```typescript\n * import {ResponseOptions, Response} from '@angular/http';\n *\n * var options = new ResponseOptions({\n * body: {name: 'Jeff'}\n * });\n * var res = new Response(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('options.url:', options.url); // null\n * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n * console.log('res.url:', res.url); // https://google.com\n * ```\n */\n /**\n * Creates a copy of the `ResponseOptions` instance, using the optional input as values to\n * override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * This may be useful when sharing a base `ResponseOptions` object inside tests,\n * where certain properties may change from test to test.\n *\n * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))\n *\n * ```typescript\n * import {ResponseOptions, Response} from '@angular/http';\n *\n * var options = new ResponseOptions({\n * body: {name: 'Jeff'}\n * });\n * var res = new Response(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('options.url:', options.url); // null\n * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n * console.log('res.url:', res.url); // https://google.com\n * ```\n */\n ResponseOptions.prototype.merge = /**\n * Creates a copy of the `ResponseOptions` instance, using the optional input as values to\n * override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * This may be useful when sharing a base `ResponseOptions` object inside tests,\n * where certain properties may change from test to test.\n *\n * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))\n *\n * ```typescript\n * import {ResponseOptions, Response} from '@angular/http';\n *\n * var options = new ResponseOptions({\n * body: {name: 'Jeff'}\n * });\n * var res = new Response(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('options.url:', options.url); // null\n * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n * console.log('res.url:', res.url); // https://google.com\n * ```\n */\n function (options) {\n return new ResponseOptions({\n body: options && options.body != null ? options.body : this.body,\n status: options && options.status != null ? options.status : this.status,\n headers: options && options.headers != null ? options.headers : this.headers,\n statusText: options && options.statusText != null ? options.statusText : this.statusText,\n type: options && options.type != null ? options.type : this.type,\n url: options && options.url != null ? options.url : this.url,\n });\n };\n return ResponseOptions;\n}());\n/**\n * Subclass of {@link ResponseOptions}, with default values.\n *\n * Default values:\n * * status: 200\n * * headers: empty {@link Headers} object\n *\n * This class could be extended and bound to the {@link ResponseOptions} class\n * when configuring an {@link Injector}, in order to override the default options\n * used by {@link Http} to create {@link Response Responses}.\n *\n * ### Example ([live demo](http://plnkr.co/edit/qv8DLT?p=preview))\n *\n * ```typescript\n * import {provide} from '@angular/core';\n * import {bootstrap} from '@angular/platform-browser/browser';\n * import {HTTP_PROVIDERS, Headers, Http, BaseResponseOptions, ResponseOptions} from\n * '@angular/http';\n * import {App} from './myapp';\n *\n * class MyOptions extends BaseResponseOptions {\n * headers:Headers = new Headers({network: 'github'});\n * }\n *\n * bootstrap(App, [HTTP_PROVIDERS, {provide: ResponseOptions, useClass: MyOptions}]);\n * ```\n *\n * The options could also be extended when manually creating a {@link Response}\n * object.\n *\n * ### Example ([live demo](http://plnkr.co/edit/VngosOWiaExEtbstDoix?p=preview))\n *\n * ```\n * import {BaseResponseOptions, Response} from '@angular/http';\n *\n * var options = new BaseResponseOptions();\n * var res = new Response(options.merge({\n * body: 'Angular',\n * headers: new Headers({framework: 'angular'})\n * }));\n * console.log('res.headers.get(\"framework\"):', res.headers.get('framework')); // angular\n * console.log('res.text():', res.text()); // Angular;\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar BaseResponseOptions = /** @class */ (function (_super) {\n __extends(BaseResponseOptions, _super);\n function BaseResponseOptions() {\n return _super.call(this, { status: 200, statusText: 'Ok', type: ResponseType.Default, headers: new Headers() }) || this;\n }\n BaseResponseOptions.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n BaseResponseOptions.ctorParameters = function () { return []; };\n return BaseResponseOptions;\n}(ResponseOptions));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Abstract class from which real backends are derived.\n *\n * The primary purpose of a `ConnectionBackend` is to create new connections to fulfill a given\n * {@link Request}.\n *\n * @deprecated use @angular/common/http instead\n */\nvar ConnectionBackend = /** @class */ (function () {\n function ConnectionBackend() {\n }\n return ConnectionBackend;\n}());\n/**\n * Abstract class from which real connections are derived.\n *\n * @deprecated use @angular/common/http instead\n */\nvar Connection = /** @class */ (function () {\n function Connection() {\n }\n return Connection;\n}());\n/**\n * An XSRFStrategy configures XSRF protection (e.g. via headers) on an HTTP request.\n *\n * @deprecated use @angular/common/http instead\n */\nvar XSRFStrategy = /** @class */ (function () {\n function XSRFStrategy() {\n }\n return XSRFStrategy;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction normalizeMethodName(method) {\n if (typeof method !== 'string')\n return method;\n switch (method.toUpperCase()) {\n case 'GET':\n return RequestMethod.Get;\n case 'POST':\n return RequestMethod.Post;\n case 'PUT':\n return RequestMethod.Put;\n case 'DELETE':\n return RequestMethod.Delete;\n case 'OPTIONS':\n return RequestMethod.Options;\n case 'HEAD':\n return RequestMethod.Head;\n case 'PATCH':\n return RequestMethod.Patch;\n }\n throw new Error(\"Invalid request method. The method \\\"\" + method + \"\\\" is not supported.\");\n}\nvar isSuccess = function (status) { return (status >= 200 && status < 300); };\nfunction getResponseURL(xhr) {\n if ('responseURL' in xhr) {\n return xhr.responseURL;\n }\n if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {\n return xhr.getResponseHeader('X-Request-URL');\n }\n return null;\n}\n\nfunction stringToArrayBuffer(input) {\n var view = new Uint16Array(input.length);\n for (var i = 0, strLen = input.length; i < strLen; i++) {\n view[i] = input.charCodeAt(i);\n }\n return view.buffer;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction paramParser(rawParams) {\n if (rawParams === void 0) { rawParams = ''; }\n var map = new Map();\n if (rawParams.length > 0) {\n var params = rawParams.split('&');\n params.forEach(function (param) {\n var eqIdx = param.indexOf('=');\n var _a = __read(eqIdx == -1 ? [param, ''] : [param.slice(0, eqIdx), param.slice(eqIdx + 1)], 2), key = _a[0], val = _a[1];\n var list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * @deprecated use @angular/common/http instead\n **/\nvar QueryEncoder = /** @class */ (function () {\n function QueryEncoder() {\n }\n QueryEncoder.prototype.encodeKey = function (k) { return standardEncoding(k); };\n QueryEncoder.prototype.encodeValue = function (v) { return standardEncoding(v); };\n return QueryEncoder;\n}());\nfunction standardEncoding(v) {\n return encodeURIComponent(v)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/');\n}\n/**\n * Map-like representation of url search parameters, based on\n * [URLSearchParams](https://url.spec.whatwg.org/#urlsearchparams) in the url living standard,\n * with several extensions for merging URLSearchParams objects:\n * - setAll()\n * - appendAll()\n * - replaceAll()\n *\n * This class accepts an optional second parameter of ${@link QueryEncoder},\n * which is used to serialize parameters before making a request. By default,\n * `QueryEncoder` encodes keys and values of parameters using `encodeURIComponent`,\n * and then un-encodes certain characters that are allowed to be part of the query\n * according to IETF RFC 3986: https://tools.ietf.org/html/rfc3986.\n *\n * These are the characters that are not encoded: `! $ \\' ( ) * + , ; A 9 - . _ ~ ? /`\n *\n * If the set of allowed query characters is not acceptable for a particular backend,\n * `QueryEncoder` can be subclassed and provided as the 2nd argument to URLSearchParams.\n *\n * ```\n * import {URLSearchParams, QueryEncoder} from '@angular/http';\n * class MyQueryEncoder extends QueryEncoder {\n * encodeKey(k: string): string {\n * return myEncodingFunction(k);\n * }\n *\n * encodeValue(v: string): string {\n * return myEncodingFunction(v);\n * }\n * }\n *\n * let params = new URLSearchParams('', new MyQueryEncoder());\n * ```\n * @deprecated use @angular/common/http instead\n */\nvar URLSearchParams = /** @class */ (function () {\n function URLSearchParams(rawParams, queryEncoder) {\n if (rawParams === void 0) { rawParams = ''; }\n if (queryEncoder === void 0) { queryEncoder = new QueryEncoder(); }\n this.rawParams = rawParams;\n this.queryEncoder = queryEncoder;\n this.paramsMap = paramParser(rawParams);\n }\n URLSearchParams.prototype.clone = function () {\n var clone = new URLSearchParams('', this.queryEncoder);\n clone.appendAll(this);\n return clone;\n };\n URLSearchParams.prototype.has = function (param) { return this.paramsMap.has(param); };\n URLSearchParams.prototype.get = function (param) {\n var storedParam = this.paramsMap.get(param);\n return Array.isArray(storedParam) ? storedParam[0] : null;\n };\n URLSearchParams.prototype.getAll = function (param) { return this.paramsMap.get(param) || []; };\n URLSearchParams.prototype.set = function (param, val) {\n if (val === void 0 || val === null) {\n this.delete(param);\n return;\n }\n var list = this.paramsMap.get(param) || [];\n list.length = 0;\n list.push(val);\n this.paramsMap.set(param, list);\n };\n // A merge operation\n // For each name-values pair in `searchParams`, perform `set(name, values[0])`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n // A merge operation\n // For each name-values pair in `searchParams`, perform `set(name, values[0])`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n URLSearchParams.prototype.setAll = \n // A merge operation\n // For each name-values pair in `searchParams`, perform `set(name, values[0])`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n function (searchParams) {\n var _this = this;\n searchParams.paramsMap.forEach(function (value, param) {\n var list = _this.paramsMap.get(param) || [];\n list.length = 0;\n list.push(value[0]);\n _this.paramsMap.set(param, list);\n });\n };\n URLSearchParams.prototype.append = function (param, val) {\n if (val === void 0 || val === null)\n return;\n var list = this.paramsMap.get(param) || [];\n list.push(val);\n this.paramsMap.set(param, list);\n };\n // A merge operation\n // For each name-values pair in `searchParams`, perform `append(name, value)`\n // for each value in `values`.\n //\n // E.g: \"a=[1,2], c=[8]\" + \"a=[3,4], b=[7]\" = \"a=[1,2,3,4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n // A merge operation\n // For each name-values pair in `searchParams`, perform `append(name, value)`\n // for each value in `values`.\n //\n // E.g: \"a=[1,2], c=[8]\" + \"a=[3,4], b=[7]\" = \"a=[1,2,3,4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n URLSearchParams.prototype.appendAll = \n // A merge operation\n // For each name-values pair in `searchParams`, perform `append(name, value)`\n // for each value in `values`.\n //\n // E.g: \"a=[1,2], c=[8]\" + \"a=[3,4], b=[7]\" = \"a=[1,2,3,4], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n function (searchParams) {\n var _this = this;\n searchParams.paramsMap.forEach(function (value, param) {\n var list = _this.paramsMap.get(param) || [];\n for (var i = 0; i < value.length; ++i) {\n list.push(value[i]);\n }\n _this.paramsMap.set(param, list);\n });\n };\n // A merge operation\n // For each name-values pair in `searchParams`, perform `delete(name)`,\n // followed by `set(name, values)`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4,5,6], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n // A merge operation\n // For each name-values pair in `searchParams`, perform `delete(name)`,\n // followed by `set(name, values)`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4,5,6], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n URLSearchParams.prototype.replaceAll = \n // A merge operation\n // For each name-values pair in `searchParams`, perform `delete(name)`,\n // followed by `set(name, values)`\n //\n // E.g: \"a=[1,2,3], c=[8]\" + \"a=[4,5,6], b=[7]\" = \"a=[4,5,6], c=[8], b=[7]\"\n //\n // TODO(@caitp): document this better\n function (searchParams) {\n var _this = this;\n searchParams.paramsMap.forEach(function (value, param) {\n var list = _this.paramsMap.get(param) || [];\n list.length = 0;\n for (var i = 0; i < value.length; ++i) {\n list.push(value[i]);\n }\n _this.paramsMap.set(param, list);\n });\n };\n URLSearchParams.prototype.toString = function () {\n var _this = this;\n var paramsList = [];\n this.paramsMap.forEach(function (values, k) {\n values.forEach(function (v) {\n return paramsList.push(_this.queryEncoder.encodeKey(k) + '=' + _this.queryEncoder.encodeValue(v));\n });\n });\n return paramsList.join('&');\n };\n URLSearchParams.prototype.delete = function (param) { this.paramsMap.delete(param); };\n return URLSearchParams;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * HTTP request body used by both {@link Request} and {@link Response}\n * https://fetch.spec.whatwg.org/#body\n */\nvar Body = /** @class */ (function () {\n function Body() {\n }\n /**\n * Attempts to return body as parsed `JSON` object, or raises an exception.\n */\n /**\n * Attempts to return body as parsed `JSON` object, or raises an exception.\n */\n Body.prototype.json = /**\n * Attempts to return body as parsed `JSON` object, or raises an exception.\n */\n function () {\n if (typeof this._body === 'string') {\n return JSON.parse(this._body);\n }\n if (this._body instanceof ArrayBuffer) {\n return JSON.parse(this.text());\n }\n return this._body;\n };\n /**\n * Returns the body as a string, presuming `toString()` can be called on the response body.\n *\n * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the\n * bytes in the buffer will be interpreted. Valid values are:\n *\n * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters\n * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.\n * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken\n * into consideration. This is the default behavior to avoid breaking apps, but should be\n * considered deprecated.\n *\n * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).\n */\n /**\n * Returns the body as a string, presuming `toString()` can be called on the response body.\n *\n * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the\n * bytes in the buffer will be interpreted. Valid values are:\n *\n * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters\n * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.\n * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken\n * into consideration. This is the default behavior to avoid breaking apps, but should be\n * considered deprecated.\n *\n * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).\n */\n Body.prototype.text = /**\n * Returns the body as a string, presuming `toString()` can be called on the response body.\n *\n * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the\n * bytes in the buffer will be interpreted. Valid values are:\n *\n * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters\n * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.\n * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken\n * into consideration. This is the default behavior to avoid breaking apps, but should be\n * considered deprecated.\n *\n * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).\n */\n function (encodingHint) {\n if (encodingHint === void 0) { encodingHint = 'legacy'; }\n if (this._body instanceof URLSearchParams) {\n return this._body.toString();\n }\n if (this._body instanceof ArrayBuffer) {\n switch (encodingHint) {\n case 'legacy':\n return String.fromCharCode.apply(null, new Uint16Array(this._body));\n case 'iso-8859':\n return String.fromCharCode.apply(null, new Uint8Array(this._body));\n default:\n throw new Error(\"Invalid value for encodingHint: \" + encodingHint);\n }\n }\n if (this._body == null) {\n return '';\n }\n if (typeof this._body === 'object') {\n return JSON.stringify(this._body, null, 2);\n }\n return this._body.toString();\n };\n /**\n * Return the body as an ArrayBuffer\n */\n /**\n * Return the body as an ArrayBuffer\n */\n Body.prototype.arrayBuffer = /**\n * Return the body as an ArrayBuffer\n */\n function () {\n if (this._body instanceof ArrayBuffer) {\n return this._body;\n }\n return stringToArrayBuffer(this.text());\n };\n /**\n * Returns the request's body as a Blob, assuming that body exists.\n */\n /**\n * Returns the request's body as a Blob, assuming that body exists.\n */\n Body.prototype.blob = /**\n * Returns the request's body as a Blob, assuming that body exists.\n */\n function () {\n if (this._body instanceof Blob) {\n return this._body;\n }\n if (this._body instanceof ArrayBuffer) {\n return new Blob([this._body]);\n }\n throw new Error('The request body isn\\'t either a blob or an array buffer');\n };\n return Body;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates `Response` instances from provided values.\n *\n * Though this object isn't\n * usually instantiated by end-users, it is the primary object interacted with when it comes time to\n * add data to a view.\n *\n * ### Example\n *\n * ```\n * http.request('my-friends.txt').subscribe(response => this.friends = response.text());\n * ```\n *\n * The Response's interface is inspired by the Response constructor defined in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#response-class), but is considered a static value whose body\n * can be accessed many times. There are other differences in the implementation, but this is the\n * most significant.\n *\n * @deprecated use @angular/common/http instead\n */\nvar Response = /** @class */ (function (_super) {\n __extends(Response, _super);\n function Response(responseOptions) {\n var _this = _super.call(this) || this;\n _this._body = responseOptions.body;\n _this.status = (responseOptions.status);\n _this.ok = (_this.status >= 200 && _this.status <= 299);\n _this.statusText = responseOptions.statusText;\n _this.headers = responseOptions.headers;\n _this.type = (responseOptions.type);\n _this.url = (responseOptions.url);\n return _this;\n }\n Response.prototype.toString = function () {\n return \"Response with status: \" + this.status + \" \" + this.statusText + \" for URL: \" + this.url;\n };\n return Response;\n}(Body));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _nextRequestId = 0;\nvar JSONP_HOME = '__ng_jsonp__';\nvar _jsonpConnections = null;\nfunction _getJsonpConnections() {\n var w = typeof window == 'object' ? window : {};\n if (_jsonpConnections === null) {\n _jsonpConnections = w[JSONP_HOME] = {};\n }\n return _jsonpConnections;\n}\n// Make sure not to evaluate this in a non-browser environment!\nvar BrowserJsonp = /** @class */ (function () {\n function BrowserJsonp() {\n }\n // Construct a <script> element with the specified URL\n // Construct a <script> element with the specified URL\n BrowserJsonp.prototype.build = \n // Construct a <script> element with the specified URL\n function (url) {\n var node = document.createElement('script');\n node.src = url;\n return node;\n };\n BrowserJsonp.prototype.nextRequestID = function () { return \"__req\" + _nextRequestId++; };\n BrowserJsonp.prototype.requestCallback = function (id) { return JSONP_HOME + \".\" + id + \".finished\"; };\n BrowserJsonp.prototype.exposeConnection = function (id, connection) {\n var connections = _getJsonpConnections();\n connections[id] = connection;\n };\n BrowserJsonp.prototype.removeConnection = function (id) {\n var connections = _getJsonpConnections();\n connections[id] = null;\n };\n // Attach the <script> element to the DOM\n // Attach the <script> element to the DOM\n BrowserJsonp.prototype.send = \n // Attach the <script> element to the DOM\n function (node) { document.body.appendChild((node)); };\n // Remove <script> element from the DOM\n // Remove <script> element from the DOM\n BrowserJsonp.prototype.cleanup = \n // Remove <script> element from the DOM\n function (node) {\n if (node.parentNode) {\n node.parentNode.removeChild((node));\n }\n };\n BrowserJsonp.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n BrowserJsonp.ctorParameters = function () { return []; };\n return BrowserJsonp;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\nvar JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';\n/**\n * Base class for an in-flight JSONP request.\n *\n * @deprecated use @angular/common/http instead\n */\nvar JSONPConnection = /** @class */ (function () {\n /** @internal */\n function JSONPConnection(req, _dom, baseResponseOptions) {\n var _this = this;\n this._dom = _dom;\n this.baseResponseOptions = baseResponseOptions;\n this._finished = false;\n if (req.method !== RequestMethod.Get) {\n throw new TypeError(JSONP_ERR_WRONG_METHOD);\n }\n this.request = req;\n this.response = new Observable(function (responseObserver) {\n _this.readyState = ReadyState.Loading;\n var id = _this._id = _dom.nextRequestID();\n _dom.exposeConnection(id, _this);\n // Workaround Dart\n // url = url.replace(/=JSONP_CALLBACK(&|$)/, `generated method`);\n var callback = _dom.requestCallback(_this._id);\n var url = req.url;\n if (url.indexOf('=JSONP_CALLBACK&') > -1) {\n url = url.replace('=JSONP_CALLBACK&', \"=\" + callback + \"&\");\n }\n else if (url.lastIndexOf('=JSONP_CALLBACK') === url.length - '=JSONP_CALLBACK'.length) {\n url = url.substring(0, url.length - '=JSONP_CALLBACK'.length) + (\"=\" + callback);\n }\n var script = _this._script = _dom.build(url);\n var onLoad = function (event) {\n if (_this.readyState === ReadyState.Cancelled)\n return;\n _this.readyState = ReadyState.Done;\n _dom.cleanup(script);\n if (!_this._finished) {\n var responseOptions_1 = new ResponseOptions({ body: JSONP_ERR_NO_CALLBACK, type: ResponseType.Error, url: url });\n if (baseResponseOptions) {\n responseOptions_1 = baseResponseOptions.merge(responseOptions_1);\n }\n responseObserver.error(new Response(responseOptions_1));\n return;\n }\n var responseOptions = new ResponseOptions({ body: _this._responseData, url: url });\n if (_this.baseResponseOptions) {\n responseOptions = _this.baseResponseOptions.merge(responseOptions);\n }\n responseObserver.next(new Response(responseOptions));\n responseObserver.complete();\n };\n var onError = function (error) {\n if (_this.readyState === ReadyState.Cancelled)\n return;\n _this.readyState = ReadyState.Done;\n _dom.cleanup(script);\n var responseOptions = new ResponseOptions({ body: error.message, type: ResponseType.Error });\n if (baseResponseOptions) {\n responseOptions = baseResponseOptions.merge(responseOptions);\n }\n responseObserver.error(new Response(responseOptions));\n };\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n _dom.send(script);\n return function () {\n _this.readyState = ReadyState.Cancelled;\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n _this._dom.cleanup(script);\n };\n });\n }\n /**\n * Callback called when the JSONP request completes, to notify the application\n * of the new data.\n */\n /**\n * Callback called when the JSONP request completes, to notify the application\n * of the new data.\n */\n JSONPConnection.prototype.finished = /**\n * Callback called when the JSONP request completes, to notify the application\n * of the new data.\n */\n function (data) {\n // Don't leak connections\n this._finished = true;\n this._dom.removeConnection(this._id);\n if (this.readyState === ReadyState.Cancelled)\n return;\n this._responseData = data;\n };\n return JSONPConnection;\n}());\n/**\n * A {@link ConnectionBackend} that uses the JSONP strategy of making requests.\n *\n * @deprecated use @angular/common/http instead\n */\nvar JSONPBackend = /** @class */ (function (_super) {\n __extends(JSONPBackend, _super);\n /** @internal */\n function JSONPBackend(_browserJSONP, _baseResponseOptions) {\n var _this = _super.call(this) || this;\n _this._browserJSONP = _browserJSONP;\n _this._baseResponseOptions = _baseResponseOptions;\n return _this;\n }\n JSONPBackend.prototype.createConnection = function (request) {\n return new JSONPConnection(request, this._browserJSONP, this._baseResponseOptions);\n };\n JSONPBackend.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n JSONPBackend.ctorParameters = function () { return [\n { type: BrowserJsonp, },\n { type: ResponseOptions, },\n ]; };\n return JSONPBackend;\n}(ConnectionBackend));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar XSSI_PREFIX = /^\\)\\]\\}',?\\n/;\n/**\n * Creates connections using `XMLHttpRequest`. Given a fully-qualified\n * request, an `XHRConnection` will immediately create an `XMLHttpRequest` object and send the\n * request.\n *\n * This class would typically not be created or interacted with directly inside applications, though\n * the {@link MockConnection} may be interacted with in tests.\n *\n * @deprecated use @angular/common/http instead\n */\nvar XHRConnection = /** @class */ (function () {\n function XHRConnection(req, browserXHR, baseResponseOptions) {\n var _this = this;\n this.request = req;\n this.response = new Observable(function (responseObserver) {\n var _xhr = browserXHR.build();\n _xhr.open(RequestMethod[req.method].toUpperCase(), req.url);\n if (req.withCredentials != null) {\n _xhr.withCredentials = req.withCredentials;\n }\n // load event handler\n var onLoad = function () {\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n var status = _xhr.status === 1223 ? 204 : _xhr.status;\n var body = null;\n // HTTP 204 means no content\n if (status !== 204) {\n // responseText is the old-school way of retrieving response (supported by IE8 & 9)\n // response/responseType properties were introduced in ResourceLoader Level2 spec\n // (supported by IE10)\n body = (typeof _xhr.response === 'undefined') ? _xhr.responseText : _xhr.response;\n // Implicitly strip a potential XSSI prefix.\n if (typeof body === 'string') {\n body = body.replace(XSSI_PREFIX, '');\n }\n }\n // fix status code when it is 0 (0 status is undocumented).\n // Occurs when accessing file resources or on Android 4.1 stock browser\n // while retrieving files from application cache.\n if (status === 0) {\n status = body ? 200 : 0;\n }\n var headers = Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders());\n // IE 9 does not provide the way to get URL of response\n var url = getResponseURL(_xhr) || req.url;\n var statusText = _xhr.statusText || 'OK';\n var responseOptions = new ResponseOptions({ body: body, status: status, headers: headers, statusText: statusText, url: url });\n if (baseResponseOptions != null) {\n responseOptions = baseResponseOptions.merge(responseOptions);\n }\n var response = new Response(responseOptions);\n response.ok = isSuccess(status);\n if (response.ok) {\n responseObserver.next(response);\n // TODO(gdi2290): defer complete if array buffer until done\n responseObserver.complete();\n return;\n }\n responseObserver.error(response);\n };\n // error event handler\n var onError = function (err) {\n var responseOptions = new ResponseOptions({\n body: err,\n type: ResponseType.Error,\n status: _xhr.status,\n statusText: _xhr.statusText,\n });\n if (baseResponseOptions != null) {\n responseOptions = baseResponseOptions.merge(responseOptions);\n }\n responseObserver.error(new Response(responseOptions));\n };\n _this.setDetectedContentType(req, _xhr);\n if (req.headers == null) {\n req.headers = new Headers();\n }\n if (!req.headers.has('Accept')) {\n req.headers.append('Accept', 'application/json, text/plain, */*');\n }\n req.headers.forEach(function (values, name) { return _xhr.setRequestHeader((name), values.join(',')); });\n // Select the correct buffer type to store the response\n if (req.responseType != null && _xhr.responseType != null) {\n switch (req.responseType) {\n case ResponseContentType.ArrayBuffer:\n _xhr.responseType = 'arraybuffer';\n break;\n case ResponseContentType.Json:\n _xhr.responseType = 'json';\n break;\n case ResponseContentType.Text:\n _xhr.responseType = 'text';\n break;\n case ResponseContentType.Blob:\n _xhr.responseType = 'blob';\n break;\n default:\n throw new Error('The selected responseType is not supported');\n }\n }\n _xhr.addEventListener('load', onLoad);\n _xhr.addEventListener('error', onError);\n _xhr.send(_this.request.getBody());\n return function () {\n _xhr.removeEventListener('load', onLoad);\n _xhr.removeEventListener('error', onError);\n _xhr.abort();\n };\n });\n }\n XHRConnection.prototype.setDetectedContentType = function (req /** TODO Request */, _xhr /** XMLHttpRequest */) {\n // Skip if a custom Content-Type header is provided\n if (req.headers != null && req.headers.get('Content-Type') != null) {\n return;\n }\n // Set the detected content type\n switch (req.contentType) {\n case ContentType.NONE:\n break;\n case ContentType.JSON:\n _xhr.setRequestHeader('content-type', 'application/json');\n break;\n case ContentType.FORM:\n _xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n break;\n case ContentType.TEXT:\n _xhr.setRequestHeader('content-type', 'text/plain');\n break;\n case ContentType.BLOB:\n var blob = req.blob();\n if (blob.type) {\n _xhr.setRequestHeader('content-type', blob.type);\n }\n break;\n }\n };\n return XHRConnection;\n}());\n/**\n * `XSRFConfiguration` sets up Cross Site Request Forgery (XSRF) protection for the application\n * using a cookie. See https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)\n * for more information on XSRF.\n *\n * Applications can configure custom cookie and header names by binding an instance of this class\n * with different `cookieName` and `headerName` values. See the main HTTP documentation for more\n * details.\n *\n * @deprecated use @angular/common/http instead\n */\nvar CookieXSRFStrategy = /** @class */ (function () {\n function CookieXSRFStrategy(_cookieName, _headerName) {\n if (_cookieName === void 0) { _cookieName = 'XSRF-TOKEN'; }\n if (_headerName === void 0) { _headerName = 'X-XSRF-TOKEN'; }\n this._cookieName = _cookieName;\n this._headerName = _headerName;\n }\n CookieXSRFStrategy.prototype.configureRequest = function (req) {\n var xsrfToken = ɵgetDOM().getCookie(this._cookieName);\n if (xsrfToken) {\n req.headers.set(this._headerName, xsrfToken);\n }\n };\n return CookieXSRFStrategy;\n}());\n/**\n * Creates {@link XHRConnection} instances.\n *\n * This class would typically not be used by end users, but could be\n * overridden if a different backend implementation should be used,\n * such as in a node backend.\n *\n * ### Example\n *\n * ```\n * import {Http, MyNodeBackend, HTTP_PROVIDERS, BaseRequestOptions} from '@angular/http';\n * @Component({\n * viewProviders: [\n * HTTP_PROVIDERS,\n * {provide: Http, useFactory: (backend, options) => {\n * return new Http(backend, options);\n * }, deps: [MyNodeBackend, BaseRequestOptions]}]\n * })\n * class MyComponent {\n * constructor(http:Http) {\n * http.request('people.json').subscribe(res => this.people = res.json());\n * }\n * }\n * ```\n * @deprecated use @angular/common/http instead\n */\nvar XHRBackend = /** @class */ (function () {\n function XHRBackend(_browserXHR, _baseResponseOptions, _xsrfStrategy) {\n this._browserXHR = _browserXHR;\n this._baseResponseOptions = _baseResponseOptions;\n this._xsrfStrategy = _xsrfStrategy;\n }\n XHRBackend.prototype.createConnection = function (request) {\n this._xsrfStrategy.configureRequest(request);\n return new XHRConnection(request, this._browserXHR, this._baseResponseOptions);\n };\n XHRBackend.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n XHRBackend.ctorParameters = function () { return [\n { type: BrowserXhr, },\n { type: ResponseOptions, },\n { type: XSRFStrategy, },\n ]; };\n return XHRBackend;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates a request options object to be optionally provided when instantiating a\n * {@link Request}.\n *\n * This class is based on the `RequestInit` description in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#requestinit).\n *\n * All values are null by default. Typical defaults can be found in the {@link BaseRequestOptions}\n * class, which sub-classes `RequestOptions`.\n *\n * ```typescript\n * import {RequestOptions, Request, RequestMethod} from '@angular/http';\n *\n * const options = new RequestOptions({\n * method: RequestMethod.Post,\n * url: 'https://google.com'\n * });\n * const req = new Request(options);\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // https://google.com\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar RequestOptions = /** @class */ (function () {\n // TODO(Dzmitry): remove search when this.search is removed\n function RequestOptions(opts) {\n if (opts === void 0) { opts = {}; }\n 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;\n this.method = method != null ? normalizeMethodName(method) : null;\n this.headers = headers != null ? headers : null;\n this.body = body != null ? body : null;\n this.url = url != null ? url : null;\n this.params = this._mergeSearchParams(params || search);\n this.withCredentials = withCredentials != null ? withCredentials : null;\n this.responseType = responseType != null ? responseType : null;\n }\n Object.defineProperty(RequestOptions.prototype, \"search\", {\n /**\n * @deprecated from 4.0.0. Use params instead.\n */\n get: /**\n * @deprecated from 4.0.0. Use params instead.\n */\n function () { return this.params; },\n /**\n * @deprecated from 4.0.0. Use params instead.\n */\n set: /**\n * @deprecated from 4.0.0. Use params instead.\n */\n function (params) { this.params = params; },\n enumerable: true,\n configurable: true\n });\n /**\n * Creates a copy of the `RequestOptions` instance, using the optional input as values to override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * Note that `headers` and `search` will override existing values completely if present in\n * the `options` object. If these values should be merged, it should be done prior to calling\n * `merge` on the `RequestOptions` instance.\n *\n * ```typescript\n * import {RequestOptions, Request, RequestMethod} from '@angular/http';\n *\n * const options = new RequestOptions({\n * method: RequestMethod.Post\n * });\n * const req = new Request(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // null\n * console.log('req.url:', req.url); // https://google.com\n * ```\n */\n /**\n * Creates a copy of the `RequestOptions` instance, using the optional input as values to override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * Note that `headers` and `search` will override existing values completely if present in\n * the `options` object. If these values should be merged, it should be done prior to calling\n * `merge` on the `RequestOptions` instance.\n *\n * ```typescript\n * import {RequestOptions, Request, RequestMethod} from '@angular/http';\n *\n * const options = new RequestOptions({\n * method: RequestMethod.Post\n * });\n * const req = new Request(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // null\n * console.log('req.url:', req.url); // https://google.com\n * ```\n */\n RequestOptions.prototype.merge = /**\n * Creates a copy of the `RequestOptions` instance, using the optional input as values to override\n * existing values. This method will not change the values of the instance on which it is being\n * called.\n *\n * Note that `headers` and `search` will override existing values completely if present in\n * the `options` object. If these values should be merged, it should be done prior to calling\n * `merge` on the `RequestOptions` instance.\n *\n * ```typescript\n * import {RequestOptions, Request, RequestMethod} from '@angular/http';\n *\n * const options = new RequestOptions({\n * method: RequestMethod.Post\n * });\n * const req = new Request(options.merge({\n * url: 'https://google.com'\n * }));\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // null\n * console.log('req.url:', req.url); // https://google.com\n * ```\n */\n function (options) {\n return new RequestOptions({\n method: options && options.method != null ? options.method : this.method,\n headers: options && options.headers != null ? options.headers : new Headers(this.headers),\n body: options && options.body != null ? options.body : this.body,\n url: options && options.url != null ? options.url : this.url,\n params: options && this._mergeSearchParams(options.params || options.search),\n withCredentials: options && options.withCredentials != null ? options.withCredentials :\n this.withCredentials,\n responseType: options && options.responseType != null ? options.responseType :\n this.responseType\n });\n };\n RequestOptions.prototype._mergeSearchParams = function (params) {\n if (!params)\n return this.params;\n if (params instanceof URLSearchParams) {\n return params.clone();\n }\n if (typeof params === 'string') {\n return new URLSearchParams(params);\n }\n return this._parseParams(params);\n };\n RequestOptions.prototype._parseParams = function (objParams) {\n var _this = this;\n if (objParams === void 0) { objParams = {}; }\n var params = new URLSearchParams();\n Object.keys(objParams).forEach(function (key) {\n var value = objParams[key];\n if (Array.isArray(value)) {\n value.forEach(function (item) { return _this._appendParam(key, item, params); });\n }\n else {\n _this._appendParam(key, value, params);\n }\n });\n return params;\n };\n RequestOptions.prototype._appendParam = function (key, value, params) {\n if (typeof value !== 'string') {\n value = JSON.stringify(value);\n }\n params.append(key, value);\n };\n return RequestOptions;\n}());\n/**\n * Subclass of {@link RequestOptions}, with default values.\n *\n * Default values:\n * * method: {@link RequestMethod RequestMethod.Get}\n * * headers: empty {@link Headers} object\n *\n * This class could be extended and bound to the {@link RequestOptions} class\n * when configuring an {@link Injector}, in order to override the default options\n * used by {@link Http} to create and send {@link Request Requests}.\n *\n * ```typescript\n * import {BaseRequestOptions, RequestOptions} from '@angular/http';\n *\n * class MyOptions extends BaseRequestOptions {\n * search: string = 'coreTeam=true';\n * }\n *\n * {provide: RequestOptions, useClass: MyOptions};\n * ```\n *\n * The options could also be extended when manually creating a {@link Request}\n * object.\n *\n * ```\n * import {BaseRequestOptions, Request, RequestMethod} from '@angular/http';\n *\n * const options = new BaseRequestOptions();\n * const req = new Request(options.merge({\n * method: RequestMethod.Post,\n * url: 'https://google.com'\n * }));\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // null\n * console.log('req.url:', req.url); // https://google.com\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar BaseRequestOptions = /** @class */ (function (_super) {\n __extends(BaseRequestOptions, _super);\n function BaseRequestOptions() {\n return _super.call(this, { method: RequestMethod.Get, headers: new Headers() }) || this;\n }\n BaseRequestOptions.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n BaseRequestOptions.ctorParameters = function () { return []; };\n return BaseRequestOptions;\n}(RequestOptions));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO(jeffbcross): properly implement body accessors\n/**\n * Creates `Request` instances from provided values.\n *\n * The Request's interface is inspired by the Request constructor defined in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#request-class),\n * but is considered a static value whose body can be accessed many times. There are other\n * differences in the implementation, but this is the most significant.\n *\n * `Request` instances are typically created by higher-level classes, like {@link Http} and\n * {@link Jsonp}, but it may occasionally be useful to explicitly create `Request` instances.\n * One such example is when creating services that wrap higher-level services, like {@link Http},\n * where it may be useful to generate a `Request` with arbitrary headers and search params.\n *\n * ```typescript\n * import {Injectable, Injector} from '@angular/core';\n * import {HTTP_PROVIDERS, Http, Request, RequestMethod} from '@angular/http';\n *\n * @Injectable()\n * class AutoAuthenticator {\n * constructor(public http:Http) {}\n * request(url:string) {\n * return this.http.request(new Request({\n * method: RequestMethod.Get,\n * url: url,\n * search: 'password=123'\n * }));\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([HTTP_PROVIDERS, AutoAuthenticator]);\n * var authenticator = injector.get(AutoAuthenticator);\n * authenticator.request('people.json').subscribe(res => {\n * //URL should have included '?password=123'\n * console.log('people', res.json());\n * });\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar Request = /** @class */ (function (_super) {\n __extends(Request, _super);\n function Request(requestOptions) {\n var _this = _super.call(this) || this;\n // TODO: assert that url is present\n var url = requestOptions.url;\n _this.url = (requestOptions.url);\n var paramsArg = requestOptions.params || requestOptions.search;\n if (paramsArg) {\n var params = void 0;\n if (typeof paramsArg === 'object' && !(paramsArg instanceof URLSearchParams)) {\n params = urlEncodeParams(paramsArg).toString();\n }\n else {\n params = paramsArg.toString();\n }\n if (params.length > 0) {\n var prefix = '?';\n if (_this.url.indexOf('?') != -1) {\n prefix = (_this.url[_this.url.length - 1] == '&') ? '' : '&';\n }\n // TODO: just delete search-query-looking string in url?\n // TODO: just delete search-query-looking string in url?\n _this.url = url + prefix + params;\n }\n }\n _this._body = requestOptions.body;\n _this.method = normalizeMethodName((requestOptions.method));\n // TODO(jeffbcross): implement behavior\n // Defaults to 'omit', consistent with browser\n // TODO(jeffbcross): implement behavior\n // Defaults to 'omit', consistent with browser\n _this.headers = new Headers(requestOptions.headers);\n _this.contentType = _this.detectContentType();\n _this.withCredentials = (requestOptions.withCredentials);\n _this.responseType = (requestOptions.responseType);\n return _this;\n }\n /**\n * Returns the content type enum based on header options.\n */\n /**\n * Returns the content type enum based on header options.\n */\n Request.prototype.detectContentType = /**\n * Returns the content type enum based on header options.\n */\n function () {\n switch (this.headers.get('content-type')) {\n case 'application/json':\n return ContentType.JSON;\n case 'application/x-www-form-urlencoded':\n return ContentType.FORM;\n case 'multipart/form-data':\n return ContentType.FORM_DATA;\n case 'text/plain':\n case 'text/html':\n return ContentType.TEXT;\n case 'application/octet-stream':\n return this._body instanceof ArrayBuffer$1 ? ContentType.ARRAY_BUFFER : ContentType.BLOB;\n default:\n return this.detectContentTypeFromBody();\n }\n };\n /**\n * Returns the content type of request's body based on its type.\n */\n /**\n * Returns the content type of request's body based on its type.\n */\n Request.prototype.detectContentTypeFromBody = /**\n * Returns the content type of request's body based on its type.\n */\n function () {\n if (this._body == null) {\n return ContentType.NONE;\n }\n else if (this._body instanceof URLSearchParams) {\n return ContentType.FORM;\n }\n else if (this._body instanceof FormData) {\n return ContentType.FORM_DATA;\n }\n else if (this._body instanceof Blob$1) {\n return ContentType.BLOB;\n }\n else if (this._body instanceof ArrayBuffer$1) {\n return ContentType.ARRAY_BUFFER;\n }\n else if (this._body && typeof this._body === 'object') {\n return ContentType.JSON;\n }\n else {\n return ContentType.TEXT;\n }\n };\n /**\n * Returns the request's body according to its type. If body is undefined, return\n * null.\n */\n /**\n * Returns the request's body according to its type. If body is undefined, return\n * null.\n */\n Request.prototype.getBody = /**\n * Returns the request's body according to its type. If body is undefined, return\n * null.\n */\n function () {\n switch (this.contentType) {\n case ContentType.JSON:\n return this.text();\n case ContentType.FORM:\n return this.text();\n case ContentType.FORM_DATA:\n return this._body;\n case ContentType.TEXT:\n return this.text();\n case ContentType.BLOB:\n return this.blob();\n case ContentType.ARRAY_BUFFER:\n return this.arrayBuffer();\n default:\n return null;\n }\n };\n return Request;\n}(Body));\nfunction urlEncodeParams(params) {\n var searchParams = new URLSearchParams();\n Object.keys(params).forEach(function (key) {\n var value = params[key];\n if (value && Array.isArray(value)) {\n value.forEach(function (element) { return searchParams.append(key, element.toString()); });\n }\n else {\n searchParams.append(key, value.toString());\n }\n });\n return searchParams;\n}\nvar noop = function () { };\nvar w = typeof window == 'object' ? window : noop;\nvar FormData = w /** TODO #9100 */['FormData'] || noop;\nvar Blob$1 = w /** TODO #9100 */['Blob'] || noop;\nvar ArrayBuffer$1 = w /** TODO #9100 */['ArrayBuffer'] || noop;\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction httpRequest(backend, request) {\n return backend.createConnection(request).response;\n}\nfunction mergeOptions(defaultOpts, providedOpts, method, url) {\n var newOptions = defaultOpts;\n if (providedOpts) {\n // Hack so Dart can used named parameters\n return newOptions.merge(new RequestOptions({\n method: providedOpts.method || method,\n url: providedOpts.url || url,\n search: providedOpts.search,\n params: providedOpts.params,\n headers: providedOpts.headers,\n body: providedOpts.body,\n withCredentials: providedOpts.withCredentials,\n responseType: providedOpts.responseType\n }));\n }\n return newOptions.merge(new RequestOptions({ method: method, url: url }));\n}\n/**\n * Performs http requests using `XMLHttpRequest` as the default backend.\n *\n * `Http` is available as an injectable class, with methods to perform http requests. Calling\n * `request` returns an `Observable` which will emit a single {@link Response} when a\n * response is received.\n *\n * ### Example\n *\n * ```typescript\n * import {Http, HTTP_PROVIDERS} from '@angular/http';\n * import {map} from 'rxjs/operators';\n *\n * @Component({\n * selector: 'http-app',\n * viewProviders: [HTTP_PROVIDERS],\n * templateUrl: 'people.html'\n * })\n * class PeopleComponent {\n * constructor(http: Http) {\n * http.get('people.json')\n * // Call map on the response observable to get the parsed people object\n * .pipe(map(res => res.json()))\n * // Subscribe to the observable to get the parsed people object and attach it to the\n * // component\n * .subscribe(people => this.people = people);\n * }\n * }\n * ```\n *\n *\n * ### Example\n *\n * ```\n * http.get('people.json').subscribe((res:Response) => this.people = res.json());\n * ```\n *\n * The default construct used to perform requests, `XMLHttpRequest`, is abstracted as a \"Backend\" (\n * {@link XHRBackend} in this case), which could be mocked with dependency injection by replacing\n * the {@link XHRBackend} provider, as in the following example:\n *\n * ### Example\n *\n * ```typescript\n * import {BaseRequestOptions, Http} from '@angular/http';\n * import {MockBackend} from '@angular/http/testing';\n * var injector = Injector.resolveAndCreate([\n * BaseRequestOptions,\n * MockBackend,\n * {provide: Http, useFactory:\n * function(backend, defaultOptions) {\n * return new Http(backend, defaultOptions);\n * },\n * deps: [MockBackend, BaseRequestOptions]}\n * ]);\n * var http = injector.get(Http);\n * http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));\n * ```\n *\n * @deprecated use @angular/common/http instead\n */\nvar Http = /** @class */ (function () {\n function Http(_backend, _defaultOptions) {\n this._backend = _backend;\n this._defaultOptions = _defaultOptions;\n }\n /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n */\n /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n */\n Http.prototype.request = /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n */\n function (url, options) {\n var responseObservable;\n if (typeof url === 'string') {\n responseObservable = httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, url)));\n }\n else if (url instanceof Request) {\n responseObservable = httpRequest(this._backend, url);\n }\n else {\n throw new Error('First argument must be a url string or Request instance.');\n }\n return responseObservable;\n };\n /**\n * Performs a request with `get` http method.\n */\n /**\n * Performs a request with `get` http method.\n */\n Http.prototype.get = /**\n * Performs a request with `get` http method.\n */\n function (url, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, url)));\n };\n /**\n * Performs a request with `post` http method.\n */\n /**\n * Performs a request with `post` http method.\n */\n Http.prototype.post = /**\n * Performs a request with `post` http method.\n */\n function (url, body, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Post, url)));\n };\n /**\n * Performs a request with `put` http method.\n */\n /**\n * Performs a request with `put` http method.\n */\n Http.prototype.put = /**\n * Performs a request with `put` http method.\n */\n function (url, body, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Put, url)));\n };\n /**\n * Performs a request with `delete` http method.\n */\n /**\n * Performs a request with `delete` http method.\n */\n Http.prototype.delete = /**\n * Performs a request with `delete` http method.\n */\n function (url, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Delete, url)));\n };\n /**\n * Performs a request with `patch` http method.\n */\n /**\n * Performs a request with `patch` http method.\n */\n Http.prototype.patch = /**\n * Performs a request with `patch` http method.\n */\n function (url, body, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Patch, url)));\n };\n /**\n * Performs a request with `head` http method.\n */\n /**\n * Performs a request with `head` http method.\n */\n Http.prototype.head = /**\n * Performs a request with `head` http method.\n */\n function (url, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Head, url)));\n };\n /**\n * Performs a request with `options` http method.\n */\n /**\n * Performs a request with `options` http method.\n */\n Http.prototype.options = /**\n * Performs a request with `options` http method.\n */\n function (url, options) {\n return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Options, url)));\n };\n Http.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n Http.ctorParameters = function () { return [\n { type: ConnectionBackend, },\n { type: RequestOptions, },\n ]; };\n return Http;\n}());\n/**\n * @deprecated use @angular/common/http instead\n */\nvar Jsonp = /** @class */ (function (_super) {\n __extends(Jsonp, _super);\n function Jsonp(backend, defaultOptions) {\n return _super.call(this, backend, defaultOptions) || this;\n }\n /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n *\n * @security Regular XHR is the safest alternative to JSONP for most applications, and is\n * supported by all current browsers. Because JSONP creates a `<script>` element with\n * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted\n * source could expose your application to XSS risks. Data exposed by JSONP may also be\n * readable by malicious third-party websites. In addition, JSONP introduces potential risk for\n * future security issues (e.g. content sniffing). For more detail, see the\n * [Security Guide](http://g.co/ng/security).\n */\n /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n *\n * @security Regular XHR is the safest alternative to JSONP for most applications, and is\n * supported by all current browsers. Because JSONP creates a `<script>` element with\n * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted\n * source could expose your application to XSS risks. Data exposed by JSONP may also be\n * readable by malicious third-party websites. In addition, JSONP introduces potential risk for\n * future security issues (e.g. content sniffing). For more detail, see the\n * [Security Guide](http://g.co/ng/security).\n */\n Jsonp.prototype.request = /**\n * Performs any type of http request. First argument is required, and can either be a url or\n * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}\n * object can be provided as the 2nd argument. The options object will be merged with the values\n * of {@link BaseRequestOptions} before performing the request.\n *\n * @security Regular XHR is the safest alternative to JSONP for most applications, and is\n * supported by all current browsers. Because JSONP creates a `<script>` element with\n * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted\n * source could expose your application to XSS risks. Data exposed by JSONP may also be\n * readable by malicious third-party websites. In addition, JSONP introduces potential risk for\n * future security issues (e.g. content sniffing). For more detail, see the\n * [Security Guide](http://g.co/ng/security).\n */\n function (url, options) {\n var responseObservable;\n if (typeof url === 'string') {\n url =\n new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, url));\n }\n if (url instanceof Request) {\n if (url.method !== RequestMethod.Get) {\n throw new Error('JSONP requests must use GET request method.');\n }\n responseObservable = httpRequest(this._backend, url);\n }\n else {\n throw new Error('First argument must be a url string or Request instance.');\n }\n return responseObservable;\n };\n Jsonp.decorators = [\n { type: Injectable }\n ];\n /** @nocollapse */\n Jsonp.ctorParameters = function () { return [\n { type: ConnectionBackend, },\n { type: RequestOptions, },\n ]; };\n return Jsonp;\n}(Http));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction _createDefaultCookieXSRFStrategy() {\n return new CookieXSRFStrategy();\n}\nfunction httpFactory(xhrBackend, requestOptions) {\n return new Http(xhrBackend, requestOptions);\n}\nfunction jsonpFactory(jsonpBackend, requestOptions) {\n return new Jsonp(jsonpBackend, requestOptions);\n}\n/**\n * The module that includes http's providers\n *\n * @deprecated use @angular/common/http instead\n */\nvar HttpModule = /** @class */ (function () {\n function HttpModule() {\n }\n HttpModule.decorators = [\n { type: NgModule, args: [{\n providers: [\n // TODO(pascal): use factory type annotations once supported in DI\n // issue: https://github.com/angular/angular/issues/3183\n { provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions] },\n BrowserXhr,\n { provide: RequestOptions, useClass: BaseRequestOptions },\n { provide: ResponseOptions, useClass: BaseResponseOptions },\n XHRBackend,\n { provide: XSRFStrategy, useFactory: _createDefaultCookieXSRFStrategy },\n ],\n },] }\n ];\n /** @nocollapse */\n HttpModule.ctorParameters = function () { return []; };\n return HttpModule;\n}());\n/**\n * The module that includes jsonp's providers\n *\n * @deprecated use @angular/common/http instead\n */\nvar JsonpModule = /** @class */ (function () {\n function JsonpModule() {\n }\n JsonpModule.decorators = [\n { type: NgModule, args: [{\n providers: [\n // TODO(pascal): use factory type annotations once supported in DI\n // issue: https://github.com/angular/angular/issues/3183\n { provide: Jsonp, useFactory: jsonpFactory, deps: [JSONPBackend, RequestOptions] },\n BrowserJsonp,\n { provide: RequestOptions, useClass: BaseRequestOptions },\n { provide: ResponseOptions, useClass: BaseResponseOptions },\n JSONPBackend,\n ],\n },] }\n ];\n /** @nocollapse */\n JsonpModule.ctorParameters = function () { return []; };\n return JsonpModule;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @deprecated use @angular/common/http instead\n */\nvar VERSION = new Version('6.0.3');\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserJsonp as ɵangular_packages_http_http_e, Body as ɵangular_packages_http_http_f, _createDefaultCookieXSRFStrategy as ɵangular_packages_http_http_a, httpFactory as ɵangular_packages_http_http_b, jsonpFactory as ɵangular_packages_http_http_c, BrowserXhr, JSONPBackend, JSONPConnection, CookieXSRFStrategy, XHRBackend, XHRConnection, BaseRequestOptions, RequestOptions, BaseResponseOptions, ResponseOptions, ReadyState, RequestMethod, ResponseContentType, ResponseType, Headers, Http, Jsonp, HttpModule, JsonpModule, Connection, ConnectionBackend, XSRFStrategy, Request, Response, QueryEncoder, URLSearchParams, VERSION };\n//# sourceMappingURL=http.js.map\n","export { Observable } from 'rxjs';\n//# sourceMappingURL=Observable.js.map","import { Observable, of as staticOf } from 'rxjs';\nObservable.of = staticOf;\n//# sourceMappingURL=of.js.map","import { Observable } from 'rxjs';\nimport { _catch } from '../../operator/catch';\nObservable.prototype.catch = _catch;\nObservable.prototype._catch = _catch;\n//# sourceMappingURL=catch.js.map","import { Observable } from 'rxjs';\nimport { distinctUntilChanged } from '../../operator/distinctUntilChanged';\nObservable.prototype.distinctUntilChanged = distinctUntilChanged;\n//# sourceMappingURL=distinctUntilChanged.js.map","import { Observable } from 'rxjs';\nimport { _do } from '../../operator/do';\nObservable.prototype.do = _do;\nObservable.prototype._do = _do;\n//# sourceMappingURL=do.js.map","import { Observable } from 'rxjs';\nimport { switchMap } from '../../operator/switchMap';\nObservable.prototype.switchMap = switchMap;\n//# sourceMappingURL=switchMap.js.map","import { catchError as higherOrder } from 'rxjs/operators';\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * <img src=\"./img/catch.png\" width=\"100%\">\n *\n * @example <caption>Continues with a different Observable when there's an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example <caption>Retries the caught source Observable again in case of error, similar to retry() operator</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example <caption>Throws a new error when the source Observable throws an error</caption>\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @method catch\n * @name catch\n * @owner Observable\n */\nexport function _catch(selector) {\n return higherOrder(selector)(this);\n}\n//# sourceMappingURL=catch.js.map","import { distinctUntilChanged as higherOrder } from 'rxjs/operators';\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example <caption>A simple example with numbers</caption>\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example <caption>An example using a compare function</caption>\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of<Person>(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nexport function distinctUntilChanged(compare, keySelector) {\n return higherOrder(compare, keySelector)(this);\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","module.exports = \"<div class=\\\"row\\\">\\r\\n <div class=\\\"col-md-6\\\">\\r\\n <div class=\\\"card\\\">\\r\\n <div class=\\\"card-body\\\">\\r\\n <h3 class=\\\"card-title\\\">Simple Typeahead</h3>\\r\\n <h6 class=\\\"card-subtitle\\\">A typeahead example that gets values from a static string</h6>\\r\\n <label for=\\\"typeahead-basic\\\">Search for a USA state:</label>\\r\\n <input id=\\\"typeahead-basic\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"model\\\" [ngbTypeahead]=\\\"search\\\"/>\\r\\n <div class=\\\"m-t-10\\\">Model: {{ model | json }}</div>\\r\\n \\t\\t\\t</div>\\r\\n </div>\\r\\n </div>\\r\\n <div class=\\\"col-md-6\\\">\\r\\n <div class=\\\"card\\\">\\r\\n <div class=\\\"card-body\\\">\\r\\n <h3 class=\\\"card-title\\\">Formatted results</h3>\\r\\n <h6 class=\\\"card-subtitle\\\">A typeahead example that uses a formatter function for string results</h6>\\r\\n <label for=\\\"typeahead-format\\\">Search for a state:</label>\\r\\n <input id=\\\"typeahead-format\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"model\\\" [ngbTypeahead]=\\\"search\\\" [resultFormatter]=\\\"formatter\\\" />\\r\\n <hr>\\r\\n <pre>Model: {{ model | json }}</pre>\\r\\n \\t\\t\\t</div>\\r\\n </div>\\r\\n </div>\\r\\n <div class=\\\"col-md-6\\\"> \\r\\n <div class=\\\"card\\\">\\r\\n <div class=\\\"card-body\\\">\\r\\n <h3 class=\\\"card-title\\\">Wikipedia search</h3>\\r\\n <h6 class=\\\"card-subtitle\\\">A typeahead example that gets values from the <code>WikipediaService</code></h6>\\r\\n <div class=\\\"form-group\\\" [class.has-danger]=\\\"searchFailed\\\">\\r\\n <label for=\\\"typeahead-HttpClient\\\">Search for a wiki page:</label>\\r\\n <input id=\\\"typeahead-HttpClient\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"model2\\\" [ngbTypeahead]=\\\"search2\\\" placeholder=\\\"Wikipedia search\\\" />\\r\\n <span *ngIf=\\\"searching\\\">searching...</span>\\r\\n <div class=\\\"form-control-feedback\\\" *ngIf=\\\"searchFailed\\\">Sorry, suggestions could not be loaded.</div> \\r\\n </div>\\r\\n\\r\\n <hr>\\r\\n <pre>Model: {{ model2 | json }}</pre>\\r\\n \\t\\t\\t</div>\\r\\n </div>\\r\\n </div>\\r\\n <div class=\\\"col-md-6\\\">\\r\\n <div class=\\\"card\\\">\\r\\n <div class=\\\"card-body\\\">\\r\\n <h3 class=\\\"card-title\\\">Template for results</h3>\\r\\n <h6 class=\\\"card-subtitle\\\">A typeahead example that uses custom template for results display and uses object as a model</h6>\\r\\n <ng-template #rt let-r=\\\"result\\\" let-t=\\\"term\\\">\\r\\n <img [src]=\\\"'HttpClients://upload.wikimedia.org/wikipedia/commons/thumb/' + r.flag\\\" width=\\\"16\\\">\\r\\n {{ r.name}}\\r\\n </ng-template>\\r\\n\\r\\n <label for=\\\"typeahead-template\\\">Search for a state:</label>\\r\\n <input id=\\\"typeahead-template\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"model4\\\" [ngbTypeahead]=\\\"search3\\\" [resultTemplate]=\\\"rt\\\"\\r\\n [inputFormatter]=\\\"formatter2\\\" />\\r\\n <hr>\\r\\n <pre>Model: {{ model4 | json }}</pre>\\r\\n \\t\\t\\t</div>\\r\\n </div>\\r\\n </div>\\r\\n</div>\"","import { Component, Injectable } from '@angular/core';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport {Jsonp, URLSearchParams} from '@angular/Http';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\n\r\nconst states = ['Alabama', 'Alaska', 'American Samoa', 'Arizona', 'Arkansas', 'California', 'Colorado',\r\n 'Connecticut', 'Delaware', 'District Of Columbia', 'Federated States Of Micronesia', 'Florida', 'Georgia',\r\n 'Guam', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine',\r\n 'Marshall Islands', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana',\r\n 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',\r\n 'Northern Mariana Islands', 'Ohio', 'Oklahoma', 'Oregon', 'Palau', 'Pennsylvania', 'Puerto Rico', 'Rhode Island',\r\n 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virgin Islands', 'Virginia',\r\n 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'];\r\n\r\nconst statesWithFlags = [\r\n {'name': 'Alabama', 'flag': '5/5c/Flag_of_Alabama.svg/45px-Flag_of_Alabama.svg.png'},\r\n {'name': 'Alaska', 'flag': 'e/e6/Flag_of_Alaska.svg/43px-Flag_of_Alaska.svg.png'},\r\n {'name': 'Arizona', 'flag': '9/9d/Flag_of_Arizona.svg/45px-Flag_of_Arizona.svg.png'},\r\n {'name': 'Arkansas', 'flag': '9/9d/Flag_of_Arkansas.svg/45px-Flag_of_Arkansas.svg.png'},\r\n {'name': 'California', 'flag': '0/01/Flag_of_California.svg/45px-Flag_of_California.svg.png'},\r\n {'name': 'Colorado', 'flag': '4/46/Flag_of_Colorado.svg/45px-Flag_of_Colorado.svg.png'},\r\n {'name': 'Connecticut', 'flag': '9/96/Flag_of_Connecticut.svg/39px-Flag_of_Connecticut.svg.png'},\r\n {'name': 'Delaware', 'flag': 'c/c6/Flag_of_Delaware.svg/45px-Flag_of_Delaware.svg.png'},\r\n {'name': 'Florida', 'flag': 'f/f7/Flag_of_Florida.svg/45px-Flag_of_Florida.svg.png'},\r\n {\r\n 'name': 'Georgia',\r\n 'flag': '5/54/Flag_of_Georgia_%28U.S._state%29.svg/46px-Flag_of_Georgia_%28U.S._state%29.svg.png'\r\n },\r\n {'name': 'Hawaii', 'flag': 'e/ef/Flag_of_Hawaii.svg/46px-Flag_of_Hawaii.svg.png'},\r\n {'name': 'Idaho', 'flag': 'a/a4/Flag_of_Idaho.svg/38px-Flag_of_Idaho.svg.png'},\r\n {'name': 'Illinois', 'flag': '0/01/Flag_of_Illinois.svg/46px-Flag_of_Illinois.svg.png'},\r\n {'name': 'Indiana', 'flag': 'a/ac/Flag_of_Indiana.svg/45px-Flag_of_Indiana.svg.png'},\r\n {'name': 'Iowa', 'flag': 'a/aa/Flag_of_Iowa.svg/44px-Flag_of_Iowa.svg.png'},\r\n {'name': 'Kansas', 'flag': 'd/da/Flag_of_Kansas.svg/46px-Flag_of_Kansas.svg.png'},\r\n {'name': 'Kentucky', 'flag': '8/8d/Flag_of_Kentucky.svg/46px-Flag_of_Kentucky.svg.png'},\r\n {'name': 'Louisiana', 'flag': 'e/e0/Flag_of_Louisiana.svg/46px-Flag_of_Louisiana.svg.png'},\r\n {'name': 'Maine', 'flag': '3/35/Flag_of_Maine.svg/45px-Flag_of_Maine.svg.png'},\r\n {'name': 'Maryland', 'flag': 'a/a0/Flag_of_Maryland.svg/45px-Flag_of_Maryland.svg.png'},\r\n {'name': 'Massachusetts', 'flag': 'f/f2/Flag_of_Massachusetts.svg/46px-Flag_of_Massachusetts.svg.png'},\r\n {'name': 'Michigan', 'flag': 'b/b5/Flag_of_Michigan.svg/45px-Flag_of_Michigan.svg.png'},\r\n {'name': 'Minnesota', 'flag': 'b/b9/Flag_of_Minnesota.svg/46px-Flag_of_Minnesota.svg.png'},\r\n {'name': 'Mississippi', 'flag': '4/42/Flag_of_Mississippi.svg/45px-Flag_of_Mississippi.svg.png'},\r\n {'name': 'Missouri', 'flag': '5/5a/Flag_of_Missouri.svg/46px-Flag_of_Missouri.svg.png'},\r\n {'name': 'Montana', 'flag': 'c/cb/Flag_of_Montana.svg/45px-Flag_of_Montana.svg.png'},\r\n {'name': 'Nebraska', 'flag': '4/4d/Flag_of_Nebraska.svg/46px-Flag_of_Nebraska.svg.png'},\r\n {'name': 'Nevada', 'flag': 'f/f1/Flag_of_Nevada.svg/45px-Flag_of_Nevada.svg.png'},\r\n {'name': 'New Hampshire', 'flag': '2/28/Flag_of_New_Hampshire.svg/45px-Flag_of_New_Hampshire.svg.png'},\r\n {'name': 'New Jersey', 'flag': '9/92/Flag_of_New_Jersey.svg/45px-Flag_of_New_Jersey.svg.png'},\r\n {'name': 'New Mexico', 'flag': 'c/c3/Flag_of_New_Mexico.svg/45px-Flag_of_New_Mexico.svg.png'},\r\n {'name': 'New York', 'flag': '1/1a/Flag_of_New_York.svg/46px-Flag_of_New_York.svg.png'},\r\n {'name': 'North Carolina', 'flag': 'b/bb/Flag_of_North_Carolina.svg/45px-Flag_of_North_Carolina.svg.png'},\r\n {'name': 'North Dakota', 'flag': 'e/ee/Flag_of_North_Dakota.svg/38px-Flag_of_North_Dakota.svg.png'},\r\n {'name': 'Ohio', 'flag': '4/4c/Flag_of_Ohio.svg/46px-Flag_of_Ohio.svg.png'},\r\n {'name': 'Oklahoma', 'flag': '6/6e/Flag_of_Oklahoma.svg/45px-Flag_of_Oklahoma.svg.png'},\r\n {'name': 'Oregon', 'flag': 'b/b9/Flag_of_Oregon.svg/46px-Flag_of_Oregon.svg.png'},\r\n {'name': 'Pennsylvania', 'flag': 'f/f7/Flag_of_Pennsylvania.svg/45px-Flag_of_Pennsylvania.svg.png'},\r\n {'name': 'Rhode Island', 'flag': 'f/f3/Flag_of_Rhode_Island.svg/32px-Flag_of_Rhode_Island.svg.png'},\r\n {'name': 'South Carolina', 'flag': '6/69/Flag_of_South_Carolina.svg/45px-Flag_of_South_Carolina.svg.png'},\r\n {'name': 'South Dakota', 'flag': '1/1a/Flag_of_South_Dakota.svg/46px-Flag_of_South_Dakota.svg.png'},\r\n {'name': 'Tennessee', 'flag': '9/9e/Flag_of_Tennessee.svg/46px-Flag_of_Tennessee.svg.png'},\r\n {'name': 'Texas', 'flag': 'f/f7/Flag_of_Texas.svg/45px-Flag_of_Texas.svg.png'},\r\n {'name': 'Utah', 'flag': 'f/f6/Flag_of_Utah.svg/45px-Flag_of_Utah.svg.png'},\r\n {'name': 'Vermont', 'flag': '4/49/Flag_of_Vermont.svg/46px-Flag_of_Vermont.svg.png'},\r\n {'name': 'Virginia', 'flag': '4/47/Flag_of_Virginia.svg/44px-Flag_of_Virginia.svg.png'},\r\n {'name': 'Washington', 'flag': '5/54/Flag_of_Washington.svg/46px-Flag_of_Washington.svg.png'},\r\n {'name': 'West Virginia', 'flag': '2/22/Flag_of_West_Virginia.svg/46px-Flag_of_West_Virginia.svg.png'},\r\n {'name': 'Wisconsin', 'flag': '2/22/Flag_of_Wisconsin.svg/45px-Flag_of_Wisconsin.svg.png'},\r\n {'name': 'Wyoming', 'flag': 'b/bc/Flag_of_Wyoming.svg/43px-Flag_of_Wyoming.svg.png'}\r\n];\r\n\r\n@Injectable()\r\nexport class WikipediaService {\r\n constructor(private _jsonp: Jsonp) {}\r\n\r\n search(term: string) {\r\n if (term === '') {\r\n return Observable.of([]);\r\n }\r\n\r\n let wikiUrl = 'HttpClients://en.wikipedia.org/w/api.php';\r\n let params = new URLSearchParams();\r\n params.set('search', term);\r\n params.set('action', 'opensearch');\r\n params.set('format', 'json');\r\n params.set('callback', 'JSONP_CALLBACK');\r\n\r\n return this._jsonp\r\n .get(wikiUrl, {search: params})\r\n .map(response => <string[]> response.json()[1]);\r\n }\r\n}\r\n\r\n@Component({\r\n\tselector: 'ngbd-pagination',\r\n\ttemplateUrl: './typehead.component.html',\r\n\tproviders: [WikipediaService]\r\n}) \r\n \r\nexport class NgbdtypeheadBasic{\r\n public model: any;\r\n model2: any;\r\n searching = false;\r\n searchFailed = false;\r\n\r\n constructor(private _service: WikipediaService) {}\r\n\r\n formatter = (result: string) => result.toUpperCase();\r\n \r\n search = (text$: Observable<string>) =>\r\n text$\r\n .debounceTime(200)\r\n .distinctUntilChanged()\r\n .map(term => term.length < 2 ? []\r\n : states.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10));\r\n\r\n search2 = (text2$: Observable<string>) =>\r\n text2$\r\n .debounceTime(300)\r\n .distinctUntilChanged()\r\n .do(() => this.searching = true)\r\n .switchMap(term =>\r\n this._service.search(term)\r\n .do(() => this.searchFailed = false)\r\n .catch(() => {\r\n this.searchFailed = true;\r\n return Observable.of([]);\r\n }))\r\n .do(() => this.searching = false); \r\n\r\n // This is with the flag\r\n public model4: any;\r\n\r\n search3 = (text3$: Observable<string>) =>\r\n text3$\r\n .debounceTime(200)\r\n .map(term => term === '' ? []\r\n : statesWithFlags.filter(v => v.name.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10));\r\n\r\n formatter2 = (x: {name: string}) => x.name; \r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgbdtypeheadBasic } from './typehead.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { JsonpModule } from '@angular/Http';\r\n\r\nconst routes: Routes = [{\r\n\tpath: '',\r\n\tdata: {\r\n title: 'Typehead',\r\n urls: [{title: 'Dashboard', url: '/'},{title: 'ngComponent'},{title: 'Typehead'}]\r\n },\r\n\tcomponent: NgbdtypeheadBasic\r\n}];\r\n\r\n@NgModule({\r\n\timports: [\r\n \tFormsModule,\r\n \tCommonModule,\r\n HttpClientModule,\r\n JsonpModule,\r\n NgbModule.forRoot(),\r\n \tRouterModule.forChild(routes)\r\n ],\r\n\tdeclarations: [NgbdtypeheadBasic]\r\n})\r\nexport class TypeheadModule { }\r\n"],"sourceRoot":""}