{"version":3,"sources":["./src/app/public/not-logged-in/auction/auction-routing.module.ts","./src/app/services/auction-announcement.service.ts","./src/app/public/not-logged-in/auction/auctions-list/auctions-list.component.ts","./src/app/public/not-logged-in/auction/auctions-list/auctions-list.component.html","./src/app/public/not-logged-in/auction/auction-status-resolver.service.ts","./src/app/admin/auction/import-result/import-result.component.ts","./src/app/admin/auction/import-result/import-result.component.html","./src/app/admin/auction/manage-lot/lot-form/lot-form.component.ts","./src/app/admin/auction/manage-lot/lot-form/lot-form.component.html","./src/app/admin/auction/manage-lot/auction-announcement/auction-announcement.component.ts","./src/app/admin/auction/manage-lot/auction-announcement/auction-announcement.component.html","./src/app/admin/auction/add-auction-step2/add-auction-step2.component.ts","./src/app/admin/auction/add-auction-step2/add-auction-step2.component.html","./src/app/public/not-logged-in/auction/auction.module.ts","./src/app/admin/auction/add-auction-step3/add-auction-step3.component.ts","./src/app/admin/auction/add-auction-step3/add-auction-step3.component.html","./src/app/public/not-logged-in/auction/auction-lot-catalog/auction-lot-catalog.component.ts","./src/app/public/not-logged-in/auction/auction-lot-catalog/auction-lot-catalog.component.html","./src/app/admin/auction/auction.module.ts","./src/app/admin/auction/manage-lot/manage-lot.module.ts","./src/app/public/not-logged-in/auction/enquiry-now/enquiry-now.component.ts","./src/app/public/not-logged-in/auction/enquiry-now/enquiry-now.component.html","./node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","./src/app/admin/auction/auction-result/auction-result.component.ts","./src/app/admin/auction/auction-result/auction-result.component.html","./src/app/public/not-logged-in/auction/auction-registeration-success/auction-registeration-success.component.ts","./src/app/public/not-logged-in/auction/auction-registeration-success/auction-registeration-success.component.html","./src/app/public/not-logged-in/auction/auction-lot-card/auction-lot-card.component.ts","./src/app/public/not-logged-in/auction/auction-lot-card/auction-lot-card.component.html","./src/app/admin/auction/auction-list/auction-list.component.ts","./src/app/admin/auction/auction-list/auction-list.component.html","./src/app/admin/auction/add-auction-step1/add-auction-step1.component.ts","./src/app/admin/auction/add-auction-step1/add-auction-step1.component.html","./src/app/public/not-logged-in/auction/auction-registeration/auction-registeration.component.ts","./src/app/public/not-logged-in/auction/auction-registeration/auction-registeration.component.html","./src/app/admin/auction/add-auction/add-auction.component.ts","./src/app/admin/auction/add-auction/add-auction.component.html","./src/app/admin/auction/auction-routing.module.ts","./src/app/services/auction-survey.service.ts","./src/app/public/not-logged-in/auction/view-lot/view-lot.component.ts","./src/app/public/not-logged-in/auction/view-lot/view-lot.component.html","./src/app/admin/auction/manage-lot/bulk-lot-form/bulk-lot-form.component.ts","./src/app/admin/auction/manage-lot/bulk-lot-form/bulk-lot-form.component.html","./src/app/admin/auction/imported-users/imported-users.component.ts","./src/app/admin/auction/imported-users/imported-users.component.html","./node_modules/fflate/esm/browser.js","./src/app/admin/auction/service/import-result.service.ts","./src/app/admin/auction/add-auction-step4/add-auction-step4.component.ts","./src/app/admin/auction/add-auction-step4/add-auction-step4.component.html","./node_modules/jspdf/dist/jspdf.es.min.js","./src/app/admin/auction/view-auction/view-auction.component.ts","./src/app/admin/auction/view-auction/view-auction.component.html","./node_modules/@angular/material/fesm2015/slider.js","./node_modules/@angular/material/fesm2015/progress-spinner.js","./src/app/admin/auction/manage-lot/lot-listing/lot-listing.component.ts","./src/app/admin/auction/manage-lot/lot-listing/lot-listing.component.html","./src/app/core/validators/text-file-validators.ts","./node_modules/@angular/material/fesm2015/autocomplete.js"],"names":[],"mappings":"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ACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,8BAA8B,+BAA+B,EAAE;AAC/D,iCAAiC,uBAAuB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,6CAA6C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAqD;AACzE,mBAAmB,+DAA+D;AAClF,oBAAoB;AACpB,mBAAmB,+DAA+D;AAClF,2BAA2B,iBAAiB;AAC5C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,4BAA4B;AAC5B,SAAS;AACT;AACA,mBAAmB,oBAAoB;AACvC,mBAAmB,oBAAoB;AACvC,SAAS;AACT;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4CAA4C,EAAE;AACnG;AACA;AACA,qDAAqD,4CAA4C,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,iCAAiC,EAAE;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,4BAA4B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,QAAQ,8GAA8G,EAAE;AAC9K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,uCAAuC,2BAA2B;AAClE,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,8BAA8B;AAC9B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA,yDAAyD,yBAAyB,EAAE;AACpF,sDAAsD;AACtD;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,0BAA0B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B,EAAE;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,KAAK;AACL;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,yDAAyD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,+CAA+C,yDAAyD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uBAAuB;AAChE;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,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;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;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,CAAC;AACD;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,2CAA2C;AAC3C;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,qCAAqC,uBAAuB,EAAE,EAAE;AACzG;AACA,gDAAgD,qCAAqC,gCAAgC,EAAE,EAAE;AACzH;AACA,wCAAwC,qCAAqC,sBAAsB,EAAE,EAAE;AACvG,0CAA0C,qCAAqC,wBAAwB,EAAE,EAAE;AAC3G,uCAAuC,qCAAqC,qBAAqB,EAAE,EAAE;AACrG,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,+BAA+B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kBAAkB,EAAE;AACpE,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G,sBAAsB;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,SAAS;AACT;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,UAAU,gBAAgB;AAC1B;AACA,gDAAgD;AAChD;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA,+CAA+C;AAC/C;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;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;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,sFAAsF,wBAAwB,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,kCAAkC,EAAE;AACrG,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,0CAA0C,gBAAgB;AAC1D;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+FAA+F,iCAAiC;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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B,SAAS;AAC1B;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sCAAsC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB,EAAE;AAChD;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,uCAAuC,EAAE;AAC1E,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,UAAU,kCAAkC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yEAAyE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,SAAS;AAC5C;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAA6C;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,SAAS;AACT,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT,wBAAwB,+EAA+E;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA,mBAAmB;AACnB,4BAA4B,sBAAsB,sCAAsC,kCAAkC;AAC1H;AACA;AACA,0BAA0B,oIAAoI;AAC9J,yBAAyB,0LAA0L;AACnN;AACA,uBAAuB,uCAAuC;AAC9D;AACA,wBAAwB,mBAAmB;AAC3C;AACA,uBAAuB,6BAA6B;AACpD;AACA,wBAAwB,cAAc;AACtC;AACA,0BAA0B,uCAAuC;AACjE;AACA,wBAAwB,sCAAsC;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,yCAAyC,gDAAgD;AACzF,0BAA0B,0CAA0C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA,0BAA0B,+BAA+B;AACzD;AACA,0BAA0B,2EAA2E;AACrG;AACA;AACA,UAAU,GAAG;AACb;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4DAA4D;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACkB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACuB;AACjB;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iDAAiD,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACkB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACuB;AACjB;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sDAAsD,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACe;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACoB;AACd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC,sBAAsB,8CAA8C,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACiB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACsB;AAChB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,sBAAsB,oCAAoC,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;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;AACe;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACoB;AACd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC,sBAAsB,8CAA8C,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACiB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACsB;AAChB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,sBAAsB,qDAAqD,EAAE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACwD;AACxD;AACsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,0CAA0C;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACqB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC0B;AACpB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+CAA+C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;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,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AAC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,sCAAsC,kDAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;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,SAAS;AACT;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA,uBAAuB,mFAAqB;AAC5C;AACA;AACA,eAAe,kBAAkB;AACjC;AACA,oBAAoB,kFAAoB;AACxC;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA,oBAAoB,kFAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA,qBAAqB,kFAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C,2BAA2B,oBAAoB,mFAAqB,QAAQ;AAC5E;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA,iCAAiC,kFAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kFAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA,yBAAyB,mFAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iBAAiB,UAAU,iBAAiB;AACxF;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ,UAAU,QAAQ;AACtE;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,GAAG,KAAK,EAAE,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA,oDAAoD,SAAS,QAAQ,SAAS;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,KAAK,GAAG,KAAK,EAAE,aAAa,IAAI,OAAO;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,KAAK,QAAQ,oBAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,IAAI,OAAO;AACrD;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,aAAa;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,6BAA6B,4EAAc;AAC3C;AACA;AACA;AACA;AACA,iBAAiB,6DAAO;AACxB;AACA;AACA,iBAAiB,+DAAS;AAC1B;AACA;AACA,iBAAiB,yDAAG;AACpB;AACA;AACA,iBAAiB,0DAAI;AACrB;AACA;AACA,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8DAAQ;AACzB;AACA;AACA,iBAAiB,iEAAW;AAC5B;AACA;AACA;AACA,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B,+DAAwB,CAAC,wDAAiB,GA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA,yBAAyB,kFAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kFAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kFAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4EAAc;AACxC;AACA;AACA;AACA,oEAAoE,2CAA2C;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,GAAG,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,2BAA2B;AACnE,sCAAsC,0BAA0B;AAChE,qCAAqC,4BAA4B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,sCAAsC,+DAAwB,CAAC,wDAAiB,GAAG,+DAAwB,CAAC,8DAAe,GAAG,+DAAwB,CAAC,wDAAQ,MAAM,+DAAwB,CAAC,0FAAqB,MAAM,+DAAwB,wCAAwC;AAC3V,0BAA0B,+DAAwB,EAAE,gNAAgN;AACpQ,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,KAAK,EAAE,WAAW,iGAAiG,+CAA+C,wEAAiC,4aAA4a;AAC/mB,QAAQ,4DAAqB;AAC7B,QAAQ,4DAAqB;AAC7B,QAAQ,wDAAiB;AACzB,QAAQ,wDAAiB;AACzB,QAAQ,0DAAmB;AAC3B,KAAK;AACL,QAAQ,yDAAkB;AAC1B,QAAQ,wDAAiB;AACzB,QAAQ,yDAAkB;AAC1B,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I;4BACrB,YAAY,EAAE,CAAC,QAAQ;yBAC1B;qBACJ,CAAC;aACT;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;ACnDD;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;AAA+D;AACD;AACgO;AACvD;AAC7J;AACjB;AACoB;AACD;AACzB;AAC8C;AAC1C;AACF;AACF;AACyB;AACF;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACE;AACK;AACH;AACK;AACM;;AAEvD;AACA,0DAA0D;AAC1D,IAAI,4DAAqB;AACzB,IAAI,0DAAmB;AACvB,IAAI,0DAAmB;AACvB,CAAC;AACD,mBAAmB,2DAAoB;AACvC,IAAI,wDAAiB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iFAAkB;AACpD;AACA,6CAA6C,4DAAc;AAC3D;AACA;AACA,CAAC;AACD;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iDAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0DAAY;AAC9C;AACA,0BAA0B,0DAAY;AACtC;AACA,0BAA0B,0DAAY;AACtC;AACA,mCAAmC,0DAAY;AAC/C;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA;AACA;AACA,iCAAiC,oCAAoC;AACrE;AACA,sCAAsC,mFAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4EAA0B;AACzD;AACA,uCAAuC,8DAA8D;AACrG,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,sEAAsE,wCAAwC,+DAAwB,CAAC,+DAAwB,GAAG,+DAAwB,CAAC,wDAAiB,GAAG,+DAAwB,oCAAoC;AAC3Q,4BAA4B,+DAAwB,EAAE,sFAAsF;AAC5I,QAAQ,+DAAwB,CAAC,yDAAW;AAC5C,QAAQ,yDAAkB;AAC1B,KAAK;AACL;AACA,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,KAAK,EAAE,WAAW,0IAA0I,YAAY,2GAA2G,aAAa,wEAAiC,GAAG;AACpU;AACA,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,gCAAgC,OAAO,oDAAM,6CAA6C;AAC/F;AACA;AACA,gBAAgB,OAAO,uDAAS,SAAS,yDAAW,GAAG,eAAe,IAAI;AAC1E,aAAa,OAAO,uDAAS,oBAAoB;AACjD,mBAAmB,OAAO,mDAAK,EAAE;AACjC,6BAA6B,OAAO,mDAAK,EAAE;AAC3C,kBAAkB,OAAO,mDAAK,EAAE;AAChC,sBAAsB,OAAO,oDAAM,EAAE;AACrC,cAAc,OAAO,oDAAM,EAAE;AAC7B,cAAc,OAAO,oDAAM,EAAE;AAC7B,uBAAuB,OAAO,oDAAM,EAAE;AACtC,iBAAiB,OAAO,mDAAK,oBAAoB;AACjD;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB,KAAK,gBAAgB,UAAU,OAAO,+DAAwB,EAAE,GAAG,OAAO,wDAAiB,EAAE,GAAG;AAChG,sBAAsB,oDAAM;AAC5B;AACA,aAAa,GAAG,EAAE,EAAE,GAAG;AACvB,kBAAkB,mDAAK;AACvB,SAAS;AACT,kBAAkB,oDAAM;AACxB,SAAS;AACT,kBAAkB,oDAAM;AACxB,SAAS;AACT,kBAAkB,oDAAM;AACxB,SAAS;AACT,kBAAkB,oDAAM;AACxB,SAAS;AACT,kBAAkB,mDAAK;AACvB,SAAS;AACT,kBAAkB,mDAAK;AACvB;AACA,SAAS;AACT,kBAAkB,uDAAS;AAC3B,mBAAmB,yDAAW,GAAG,eAAe;AAChD,SAAS;AACT,kBAAkB,uDAAS;AAC3B;AACA,SAAS;AACT,kBAAkB,mDAAK;AACvB,SAAS,GAAG,EAAE,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,2DAA2D;AACvH,uBAAuB,+DAAwB,EAAE,uIAAuI;AACxL,QAAQ,4DAAqB,WAAW,mEAAY;AACpD,QAAQ,4DAAqB,WAAW,gEAAS;AACjD,KAAK;AACL;AACA,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,KAAK,EAAE,+CAA+C,iCAAiC,4CAA4C,gEAAyB;AAC5J,aAAa,UAAU,kFAA2B;AAClD,YAAY,wEAAiC,oMAAoM;AACjP,QAAQ,6DAAsB;AAC9B,QAAQ,wDAAiB;AACzB,KAAK,EAAE,eAAe,uDAAc,qCAAqC,gBAAgB,gBAAgB,cAAc,iCAAiC,kBAAkB,eAAe,iBAAiB,kBAAkB,WAAW,8BAA8B,+BAA+B,iDAAiD,mBAAmB,gDAAgD,kBAAkB,sDAAsD,gBAAgB,2BAA2B,4BAA4B,gDAAgD,gBAAgB,kDAAkD,kBAAkB,4CAA4C;AACvtB;AACA,oBAAoB,OAAO,6DAAe,SAAS,mEAAY,GAAG,oBAAoB,IAAI;AAC1F,eAAe,OAAO,6DAAe,SAAS,gEAAS,GAAG,oBAAoB,IAAI;AAClF;AACA,mDAAmD,mEAA4B;AAC/E,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA,+BAA+B,+DAAiB;AAChD,iCAAiC,qEAAuB;AACxD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,qBAAqB,UAAU,kFAA2B;AAC1D;AACA,kDAAkD,gBAAgB,gBAAgB,cAAc,iCAAiC,kBAAkB,eAAe,iBAAiB,kBAAkB,WAAW,8BAA8B,+BAA+B,iDAAiD,mBAAmB,gDAAgD,kBAAkB,sDAAsD,gBAAgB,2BAA2B,4BAA4B,gDAAgD,gBAAgB,kDAAkD,kBAAkB;AACppB,aAAa;AACb,KAAK,UAAU;AACf,kBAAkB,6DAAe;AACjC,mBAAmB,mEAAY,GAAG,oBAAoB;AACtD,SAAS;AACT,kBAAkB,6DAAe;AACjC,mBAAmB,gEAAS,GAAG,oBAAoB;AACnD,SAAS,GAAG,EAAE,EAAE;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,8CAA8C,+DAAwB,CAAC,wDAAiB,GAAG;AAC7K,kCAAkC,+DAAwB,EAAE,mCAAmC;AAC/F;AACA,KAAK,OAAO,wDAAU;AACtB;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB,KAAK,gBAAgB,UAAU,OAAO,wDAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,uEAAuE;AAC/I,6BAA6B,+DAAwB,EAAE,8HAA8H,wEAAiC,GAAG;AACzN,yDAAyD,mEAA4B;AACrF,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA,aAAa;AACb,KAAK,eAAe,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,4DAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iEAAiB;AAC9B,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iDAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,4CAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kDAAK;AACrC;AACA,uBAAuB,kDAAK;AAC5B;AACA;AACA;AACA;AACA,sBAAsB,4DAAI,KAAK,iEAAS;AACxC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAmC;AACnE;AACA,qCAAqC,mFAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAK,kEAAkE,8DAAM;AAC5F,gDAAgD,8DAAM;AACtD,YAAY,+CAAE;AACd;AACA,QAAQ,2DAAG,2BAA2B,+EAAwB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAK,CAAC,sDAAS,2BAA2B,sDAAS;AAClE,kBAAkB,8DAAM;AACxB;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,wBAAwB,4DAAM,KAAK,4EAAc;AACjD;AACA;AACA,6CAA6C,2DAAK;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,8DAAQ,gBAAgB,gEAAU;AAC7E,8CAA8C,yDAAG;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4DAAI;AACzD,qEAAqE,2DAAG;AACxE;AACA;AACA,QAAQ,6DAAK;AACb;AACA,eAAe,kDAAK;AACpB;AACA;AACA;AACA,QAAQ,iEAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ,4DAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,yCAAyC,6EAAc;AACvD;AACA;AACA;AACA,+BAA+B,mEAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,4DAAM,KAAK,4EAAc;AAChE,uCAAuC,8DAAQ,IAAI,4EAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2CAA2C,+BAA+B;AAC1E;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,mCAAmC,+BAA+B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kEAAa;AAChC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,0EAA0E;AACvF,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,sFAAsF;AACnG,aAAa;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,2BAA2B,4FAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uFAAwB;AAClE;AACA;AACA;AACA;AACA;AACA,oFAAoF,+CAA+C,+DAAwB,CAAC,wDAAiB,GAAG,+DAAwB,CAAC,4DAAc,GAAG,+DAAwB,CAAC,8DAAuB,GAAG,+DAAwB,CAAC,oDAAa,GAAG,+DAAwB,CAAC,+DAAwB,GAAG,+DAAwB,oCAAoC,+DAAwB,CAAC,gEAAqB,MAAM,+DAAwB,CAAC,4EAAc,MAAM,+DAAwB,CAAC,wDAAQ,MAAM,+DAAwB,CAAC,oEAAoB,GAAG;AAC9lB,mCAAmC,+DAAwB,EAAE,6CAA6C,gTAAgT,aAAa,kEAA2B,GAAG;AACrc;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,4DAAO,EAAE;AACrB,KAAK,OAAO,8DAAgB,EAAE;AAC9B,KAAK,OAAO,oDAAM,EAAE;AACpB,KAAK,OAAO,+DAAiB,EAAE;AAC/B,KAAK,gCAAgC,OAAO,oDAAM,6CAA6C,GAAG;AAClG,KAAK,OAAO,gEAAc,gBAAgB,OAAO,sDAAQ,EAAE,GAAG;AAC9D,KAAK,OAAO,0EAAY,gBAAgB,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,4EAAc,IAAI,GAAG,OAAO,kDAAI,EAAE,GAAG;AACvH,KAAK,gCAAgC,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,wDAAQ,IAAI,GAAG;AAC9F,KAAK,OAAO,oEAAa;AACzB;AACA;AACA,oBAAoB,OAAO,mDAAK,8BAA8B;AAC9D,gBAAgB,OAAO,mDAAK,sCAAsC;AAClE,mBAAmB,OAAO,mDAAK,yCAAyC;AACxE,6BAA6B,OAAO,mDAAK,2BAA2B;AACpE,4BAA4B,OAAO,mDAAK,sCAAsC;AAC9E;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB,KAAK,gBAAgB,UAAU,OAAO,wDAAiB,EAAE,GAAG,OAAO,4DAAc,EAAE,GAAG,OAAO,8DAAuB,EAAE,GAAG,OAAO,oDAAa,EAAE,GAAG,OAAO,+DAAwB,EAAE,GAAG;AACtL,sBAAsB,oDAAM;AAC5B;AACA,aAAa,GAAG,GAAG,OAAO,gEAAqB;AAC/C,sBAAsB,sDAAQ;AAC9B,aAAa,GAAG,GAAG,OAAO,0EAAmB;AAC7C,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,4EAAc;AACrC,aAAa;AACb,sBAAsB,kDAAI;AAC1B,aAAa,GAAG,GAAG;AACnB,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,wDAAQ;AAC/B,aAAa,GAAG,GAAG,OAAO,oEAAoB,EAAE,EAAE,EAAE,GAAG;AACvD,kBAAkB,mDAAK;AACvB;AACA,SAAS;AACT,kBAAkB,mDAAK;AACvB;AACA,SAAS;AACT,kBAAkB,mDAAK;AACvB;AACA,SAAS;AACT,kBAAkB,mDAAK;AACvB;AACA,SAAS;AACT,kBAAkB,mDAAK;AACvB;AACA,SAAS,GAAG,EAAE,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,yEAAyE;AACnJ,8BAA8B,+DAAwB,EAAE,iPAAiP;AACzS,QAAQ,wDAAiB,0EAA0E,2BAA2B,EAAE,qEAAqE,yBAAyB,EAAE,6EAA6E,iCAAiC,EAAE,iFAAiF,mCAAmC,EAAE;AACtc,KAAK;AACL,QAAQ,yDAAkB;AAC1B,KAAK,EAAE,mDAAmD,gEAAyB,qCAAqC,wEAAiC,GAAG;AAC5J,0DAA0D,mEAA4B;AACtF,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,KAAK,eAAe,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8DAAuB,EAAE,8BAA8B;AACpF,6BAA6B,8DAAuB,EAAE,qDAAqD,2CAA2C,EAAE;AACxJ,YAAY,kEAAa;AACzB,YAAY,sEAAe;AAC3B,YAAY,sEAAe;AAC3B,YAAY,4DAAY;AACxB,WAAW,0EAAmB;AAC9B,QAAQ,sEAAe;AACvB,QAAQ,sEAAe,GAAG;AAC1B,cAAc,oDAAoD,gEAAyB,yBAAyB,4BAA4B,yEAAyE,EAAE,wBAAwB,SAAS,kEAAa;AACzQ,QAAQ,sEAAe;AACvB,QAAQ,sEAAe;AACvB,QAAQ,4DAAY,EAAE,EAAE,wBAAwB,yEAAyE,0EAAmB;AAC5I,QAAQ,sEAAe;AACvB,QAAQ,sEAAe,EAAE,EAAE,EAAE,EAAE,EAAE;AACjC,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,sDAAQ;AACtB;AACA;AACA,oBAAoB,kEAAa;AACjC,oBAAoB,sEAAe;AACnC,oBAAoB,sEAAe;AACnC,oBAAoB,4DAAY;AAChC;AACA;AACA;AACA;AACA;AACA,oBAAoB,0EAAmB;AACvC,oBAAoB,sEAAe;AACnC,oBAAoB,sEAAe;AACnC;AACA;AACA;AACA,aAAa;AACb,KAAK,eAAe,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEshB;;AAEthB,wC","file":"auction-auction-module-es2015.js","sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport routeTable from '../../../utility/routeTable';\r\nimport { AuctionsListComponent } from './auctions-list/auctions-list.component';\r\nimport { AuctionRegisterationComponent } from './auction-registeration/auction-registeration.component';\r\nimport { AuctionLotCatalogComponent } from './auction-lot-catalog/auction-lot-catalog.component';\r\nimport { EnquiryNowComponent } from './enquiry-now/enquiry-now.component';\r\nimport { ViewLotComponent } from './view-lot/view-lot.component';\r\nimport { AuctionDetailsComponent } from '../../shared/component/auction-details/auction-details.component';\r\nimport { AuctionStatusResolver } from './auction-status-resolver.service';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: routeTable.public.currentAuction,\r\n component: AuctionsListComponent,\r\n data: { title: 'Current Auctions', type: 'CurrentAuction' },\r\n },\r\n {\r\n path: routeTable.public.pastAuction,\r\n component: AuctionsListComponent,\r\n data: { title: 'Recent Auctions', type: 'PastAuction' },\r\n },\r\n {\r\n path: routeTable.public.turnKeySale,\r\n component: AuctionsListComponent,\r\n data: { title: 'Past Turn Key Sales', type: 'TurnKeySale' },\r\n },\r\n {\r\n path: routeTable.public.machinery,\r\n component: AuctionsListComponent,\r\n data: { title: 'Industrial Surplus', type: 'Machinery' },\r\n },\r\n {\r\n path: routeTable.public.featuredPast,\r\n component: AuctionsListComponent,\r\n data: { title: 'Featured Past Auctions', type: 'FeaturedPast' },\r\n },\r\n {\r\n path: routeTable.public.publicLink,\r\n resolve: {\r\n auctionState: AuctionStatusResolver,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n component: AuctionDetailsComponent,\r\n },\r\n {\r\n path: routeTable.public.auctionRegister,\r\n component: AuctionRegisterationComponent,\r\n },\r\n {\r\n path: routeTable.public.auctionLot,\r\n data: { lowConnectionNeeded: true },\r\n children: [\r\n {\r\n path: '',\r\n component: AuctionLotCatalogComponent,\r\n },\r\n {\r\n path: routeTable.public.viewAuctionLotDetail,\r\n component: ViewLotComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: routeTable.public.enquire,\r\n component: EnquiryNowComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AuctionRoutingModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiBaseResponse } from '../models';\r\nimport { Observable } from 'rxjs';\r\nimport { AuctionAnnouncement } from '../models/auctionAnnouncement';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuctionAnnouncementService {\r\n private apiUrl: string = environment.apiUrl;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAuctionAnnouncementById(auctionId: number): Observable<AuctionAnnouncement> {\r\n let param = new HttpParams();\r\n param = param.append('auctionId', '' + auctionId);\r\n return this.http.get<ApiBaseResponse<AuctionAnnouncement>>(`${this.apiUrl}/auctionAnnouncement`, { params: param })\r\n .pipe(map((it) => (it.data)));\r\n }\r\n\r\n // this is for public\r\n getAuctionAnnouncementByCode(auctionCode: string): Observable<AuctionAnnouncement> {\r\n let param = new HttpParams();\r\n param = param.append('auctionCode', auctionCode);\r\n return this.http.get<ApiBaseResponse<AuctionAnnouncement>>(`${this.apiUrl}/auctionAnnouncement`, {\r\n params: param\r\n }).pipe(map((it) => (it.data)));\r\n }\r\n\r\n addEditRemoveAuctionAnnouncement(auctionId: number, announcement: string, isRemoveAnnouncement: boolean = false): Observable<AuctionAnnouncement> {\r\n let request: Observable<ApiBaseResponse<AuctionAnnouncement>>;\r\n if (isRemoveAnnouncement) {\r\n request = this.http.patch<any>(`${this.apiUrl}/auctionAnnouncement`, {\r\n auctionId: auctionId\r\n })\r\n } else {\r\n request = this.http.post<any>(`${this.apiUrl}/auctionAnnouncement`, {\r\n auctionId: auctionId,\r\n text: announcement\r\n })\r\n }\r\n return request.pipe(map((it) => (it.data)));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonDropdown } from '../../../../models';\r\nimport { CurrentAuctionList } from '../../../../models/auctionList';\r\nimport {\r\n AuctionService,\r\n CategoryService,\r\n AuthenticationService,\r\n LoaderService,\r\n SaleTypeService,\r\n} from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport { Subscription } from 'rxjs';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-auctions-list',\r\n templateUrl: './auctions-list.component.html',\r\n styleUrls: ['./auctions-list.component.css'],\r\n})\r\nexport class AuctionsListComponent implements OnInit {\r\n showListView = true;\r\n sectionTitle: string;\r\n registerBidText: string;\r\n showPaginator: boolean = false;\r\n statusValue = constants.common.auctionStatus;\r\n isShowStatusFilter: boolean = false;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n currentAuctionType: string;\r\n backgroundPic: string = '';\r\n\r\n auctionStatuses = constants.common.auctionStatus;\r\n\r\n auctionType = {\r\n currentAuction: {\r\n title: 'CurrentAuction',\r\n bgPicture: '/assets/images/Current-Auction.jpg',\r\n },\r\n pastAuction: {\r\n title: 'PastAuction',\r\n bgPicture: '/assets/images/Past-Auctions.jpg',\r\n },\r\n turnKeySale: {\r\n title: 'TurnKeySale',\r\n bgPicture: '/assets/images/Past-Turn-Key-Sales.jpg',\r\n },\r\n machinery: {\r\n title: 'Machinery',\r\n bgPicture: '/assets/images/Machinery-Marketplace.jpg',\r\n },\r\n featuredPast: {\r\n title: 'FeaturedPast',\r\n bgPicture: '/assets/images/Past-Auctions.jpg',\r\n },\r\n };\r\n\r\n private sortOrderKeys = {\r\n ASCENDING: 'Ascending',\r\n DESCENDING: 'Descending',\r\n };\r\n\r\n private sortByKeys = {\r\n START_DATE_TIME: 'StartDateTime',\r\n END_DATE_TIME: 'EndDateTime',\r\n AUCTION_NAME: 'Name',\r\n };\r\n\r\n sortingObject: Array<CommonDropdown> = [\r\n {\r\n text: 'Start Date: Ascending',\r\n value: 1,\r\n },\r\n {\r\n text: 'Start Date: Descending',\r\n value: 2,\r\n },\r\n {\r\n text: 'End Date: Ascending',\r\n value: 3,\r\n },\r\n {\r\n text: 'End Date: Descending',\r\n value: 4,\r\n },\r\n {\r\n text: 'Auction Name: Ascending',\r\n value: 5,\r\n },\r\n {\r\n text: 'Auction Name: Descending',\r\n value: 6,\r\n },\r\n ];\r\n\r\n displaySectionDD: Array<CommonDropdown> = [\r\n {\r\n value: 1,\r\n text: 'All',\r\n },\r\n {\r\n value: 2,\r\n text: 'Current Auctions',\r\n },\r\n {\r\n value: 3,\r\n text: 'Turn Key Sales',\r\n },\r\n ];\r\n\r\n selectedDisplaySection: number;\r\n\r\n auctionData: Array<CurrentAuctionList>;\r\n totalAuction: number;\r\n\r\n // date functions\r\n isStartDate: boolean;\r\n isEndDate: boolean;\r\n\r\n // paging info\r\n saleType = 0;\r\n category = {\r\n text: '',\r\n value: 0\r\n }\r\n sortModel = {\r\n text: '',\r\n value: 0\r\n };\r\n searchTerm = '';\r\n pageNumber = 1;\r\n pageSize = 20;\r\n sortBy = '';\r\n sortOrder = '';\r\n isPaginated = true;\r\n onlyActive = false;\r\n auctionStatus = 0;\r\n displaySection = [];\r\n categories: Array<CommonDropdown>;\r\n searchControl = new FormControl();\r\n isInquireForm: number =\r\n constants.common.saletypeRegistrationFormat.inquiryForm;\r\n params: HttpParams = new HttpParams();\r\n\r\n isLoggedIn: boolean | null;\r\n private displaySections = constants.common.displaySection;\r\n\r\n constructor(\r\n private auctionService: AuctionService,\r\n private categoryService: CategoryService,\r\n private saletypeService: SaleTypeService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private authService: AuthenticationService,\r\n private loader: LoaderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.getAuctionType();\r\n this.getCategories();\r\n this.getSaleTypes();\r\n\r\n this.isLoggedIn = this.authService.checkLoggedIn();\r\n\r\n if (this.auctionStatus == 4) {\r\n this.sortingObject.splice(0, 2);\r\n }\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n let model = this.filterModel();\r\n if (params['searchTerm']) {\r\n model.searchTerm = params['searchTerm']\r\n this.searchTerm = params['searchTerm'];\r\n }\r\n if (params['category']) {\r\n model.category = params['category']\r\n this.category.value = parseInt(params['category'])\r\n }\r\n if (params['sortBy']) {\r\n model.sortBy = params['sortBy']\r\n this.sortBy = params['sortBy'];\r\n }\r\n if (params['sortOrder']) {\r\n model.sortOrder = params['sortOrder']\r\n this.sortOrder = params['sortOrder'];\r\n let sortValue = this.getSortValue(this.sortBy, this.sortOrder);\r\n this.sortModel = this.sortingObject.find(x => x.value === sortValue);\r\n }\r\n if (params['saleType']) {\r\n model.saleType = params['saleType']\r\n this.saleType = parseInt(params['saleType']);\r\n }\r\n if (params['pageNumber']) {\r\n model.pageNumber = params['pageNumber']\r\n this.pageNumber = parseInt(params['pageNumber']);\r\n }\r\n if (params['auctionStatus']) {\r\n model.auctionStatus = params['auctionStatus']\r\n this.auctionStatus = parseInt(params['auctionStatus']);\r\n }\r\n this.getCurrentAuctionsData();\r\n });\r\n this.searchFilter();\r\n }\r\n\r\n ///// this is the method which is responsible for differenciate the type of list to show\r\n ///// i.e. past or current or turn-key-sale\r\n getAuctionType() {\r\n let type: string;\r\n this.route.data.subscribe((data) => {\r\n this.sectionTitle = data['title'];\r\n type = data['type'];\r\n });\r\n\r\n let auctionStatus = constants.common.auctionStatus;\r\n this.currentAuctionType = type;\r\n\r\n switch (type) {\r\n case this.auctionType.currentAuction.title:\r\n this.selectedDisplaySection = 1; // for All\r\n this.auctionStatus = auctionStatus.liveUpcoming;\r\n this.displaySection = this.assignDisplaySectionForCurrentAuction();\r\n this.backgroundPic = this.auctionType.currentAuction.bgPicture;\r\n break;\r\n case this.auctionType.turnKeySale.title:\r\n this.auctionStatus = auctionStatus.past;\r\n this.displaySection = [this.displaySections.turnKey];\r\n this.backgroundPic = this.auctionType.turnKeySale.bgPicture;\r\n break;\r\n case this.auctionType.pastAuction.title:\r\n // updated to auctionStatus.archived to default to archived - set auctionStatus.past to revert\r\n this.auctionStatus = auctionStatus.archived;\r\n this.displaySection = [this.displaySections.auctionCalender];\r\n this.backgroundPic = this.auctionType.pastAuction.bgPicture;\r\n break;\r\n case this.auctionType.machinery.title:\r\n this.auctionStatus = auctionStatus.LiveUpcomingPast;\r\n this.displaySection = [this.displaySections.machinery];\r\n this.isShowStatusFilter = true;\r\n this.backgroundPic = this.auctionType.machinery.bgPicture;\r\n break;\r\n case this.auctionType.featuredPast.title:\r\n this.auctionStatus = auctionStatus.featuredPast;\r\n this.displaySection = [...this.displaySections.featuredPast];\r\n this.isShowStatusFilter = true;\r\n this.backgroundPic = this.auctionType.featuredPast.bgPicture;\r\n break;\r\n }\r\n }\r\n\r\n saletypesForDD: Array<{ text: string; value: number }>;\r\n\r\n getSaleTypes() {\r\n const saleType = this.saletypeService\r\n .getSaletypeForDropDownPublic(this.statusValue.liveUpcoming, [\r\n this.displaySections.auctionCalender,\r\n this.displaySections.turnKey,\r\n ])\r\n .subscribe((res) => {\r\n this.saletypesForDD = res;\r\n });\r\n this.subscriptions.push(saleType)\r\n }\r\n\r\n getCategories() {\r\n const category = this.categoryService.categoryForDropDown().subscribe((res) => {\r\n this.categories = res;\r\n });\r\n this.subscriptions.push(category)\r\n }\r\n\r\n categoryFilter(value) {\r\n if (value == null) this.category.value = 0;\r\n else this.category.value = value;\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n saletypeFilter(value) {\r\n this.saleType = value;\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n searchFilter() {\r\n this.searchControl.valueChanges\r\n .pipe(debounceTime(700))\r\n .subscribe((value) => {\r\n //this.pageNumber = 1;\r\n this.searchTerm = value;\r\n this.getCurrentAuctionsData();\r\n });\r\n }\r\n\r\n statusFilter(value: number) {\r\n this.auctionStatus = value;\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n displaySectionFilter(value: number) {\r\n this.selectedDisplaySection = value;\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n private assignDisplaySectionForCurrentAuction(): number[] {\r\n switch (this.selectedDisplaySection) {\r\n case 1:\r\n return [\r\n this.displaySections.turnKey,\r\n this.displaySections.auctionCalender,\r\n ];\r\n case 2:\r\n return [this.displaySections.auctionCalender];\r\n case 3:\r\n return [this.displaySections.turnKey];\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n resetSearch() {\r\n this.searchControl.reset();\r\n }\r\n\r\n sortFilter(value) {\r\n if (value == null) {\r\n this.sortBy = '';\r\n this.sortOrder = '';\r\n } else {\r\n switch (value) {\r\n case 1:\r\n this.sortBy = this.sortByKeys.START_DATE_TIME;\r\n this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n break;\r\n case 2:\r\n this.sortBy = this.sortByKeys.START_DATE_TIME;\r\n this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n break;\r\n case 3:\r\n this.sortBy = this.sortByKeys.END_DATE_TIME;\r\n this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n break;\r\n case 4:\r\n this.sortBy = this.sortByKeys.END_DATE_TIME;\r\n this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n break;\r\n case 5:\r\n this.sortBy = this.sortByKeys.AUCTION_NAME;\r\n this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n break;\r\n case 6:\r\n this.sortBy = this.sortByKeys.AUCTION_NAME;\r\n this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n break;\r\n }\r\n }\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n getSortValue(sortBy, sortOrder) {\r\n switch (sortBy) {\r\n case this.sortByKeys.START_DATE_TIME:\r\n return sortOrder === this.sortOrderKeys.ASCENDING ? 1 : 2;\r\n case this.sortByKeys.END_DATE_TIME:\r\n return sortOrder === this.sortOrderKeys.ASCENDING ? 3 : 4;\r\n case this.sortByKeys.AUCTION_NAME:\r\n return sortOrder === this.sortOrderKeys.ASCENDING ? 5 : 6;\r\n default:\r\n return null; // Handle the case where sortBy is not recognized.\r\n }\r\n }\r\n\r\n filterModel() {\r\n return {\r\n saleType: this.saleType,\r\n category: this.category.value,\r\n searchTerm: this.searchTerm,\r\n pageNumber: this.pageNumber,\r\n pageSize: this.pageSize,\r\n sortBy: this.sortBy,\r\n sortOrder: this.sortOrder,\r\n isPaginated: this.isPaginated,\r\n onlyActive: this.onlyActive,\r\n auctionStatus: this.auctionStatus,\r\n displaySection:\r\n this.assignDisplaySectionForCurrentAuction() || this.displaySection,\r\n };\r\n }\r\n\r\n getCurrentAuctionsData() {\r\n this.showPaginator = false;\r\n this.loader.showLoader(true);\r\n let model = this.filterModel();\r\n const currentParams = { ...this.router.parseUrl(this.router.url).queryParams };\r\n let paramCopy = {...currentParams}\r\n const resetPageNumber = (paramName: string) => {\r\n if (this.pageNumber === 1) {\r\n return;\r\n }\r\n if (!paramCopy[paramName] && model[paramName]) {\r\n this.pageNumber = 1\r\n model.pageNumber = 1\r\n } else if (paramCopy[paramName] && paramCopy[paramName] != model[paramName]) {\r\n this.pageNumber = 1\r\n model.pageNumber = 1\r\n }\r\n }\r\n if (model.searchTerm) {\r\n resetPageNumber('searchTerm')\r\n currentParams['searchTerm'] = model.searchTerm;\r\n } else if (!model.searchTerm) {\r\n delete currentParams['searchTerm']\r\n }\r\n if (model.category) {\r\n resetPageNumber('category')\r\n currentParams['category'] = model.category;\r\n } else if (!model.category) {\r\n delete currentParams['category']\r\n }\r\n if (model.sortBy) {\r\n currentParams['sortBy'] = model.sortBy;\r\n } else if (!model.sortBy) {\r\n delete currentParams['sortBy']\r\n }\r\n if (model.sortOrder) {\r\n currentParams['sortOrder'] = model.sortOrder;\r\n } else if (!model.sortOrder) {\r\n delete currentParams['sortOrder']\r\n }\r\n if (model.saleType) {\r\n resetPageNumber('saleType')\r\n currentParams['saleType'] = model.saleType;\r\n } else if (!model.saleType) {\r\n delete currentParams['saleType']\r\n }\r\n if (model.pageNumber) {\r\n currentParams['pageNumber'] = model.pageNumber;\r\n } else if (!model.pageNumber) {\r\n delete currentParams['pageNumber']\r\n }\r\n if (model.auctionStatus) {\r\n resetPageNumber('auctionStatus')\r\n currentParams['auctionStatus'] = model.auctionStatus;\r\n } else if (!model.auctionStatus) {\r\n delete currentParams['auctionStatus']\r\n }\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: currentParams,\r\n });\r\n const allCurrentAuctions = this.auctionService.getAllCurrentAuctions(model).subscribe(\r\n (res) => {\r\n this.loader.showLoader(false);\r\n this.showPaginator = true;\r\n this.auctionData = res.data;\r\n this.totalAuction = res.totalCount;\r\n },\r\n () => {\r\n this.loader.showLoader(false);\r\n this.showPaginator = false;\r\n this.auctionData = null;\r\n this.totalAuction = 0;\r\n }\r\n );\r\n this.subscriptions.push(allCurrentAuctions)\r\n }\r\n\r\n goToRegister(auctionId: number) {\r\n this.router.navigate([auctionId, 'register'], {\r\n relativeTo: this.route,\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n onPageChange(paging: number) {\r\n this.pageNumber = paging;\r\n this.getCurrentAuctionsData();\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth' // You can change this to 'auto' for instant scrolling\r\n });\r\n }\r\n\r\n switchToArchive() {\r\n this.auctionStatus = this.auctionStatuses.archived;\r\n this.displaySection = [this.displaySections.auctionCalender];\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n switchToRecent() {\r\n this.auctionStatus = this.auctionStatuses.past;\r\n this.displaySection = [this.displaySections.auctionCalender];\r\n this.getCurrentAuctionsData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<div\r\n class=\"banner-with-text\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + backgroundPic + ')' }\"\r\n>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h1 class=\"hdg\">{{ sectionTitle }}</h1>\r\n <h5 class=\"sb-hdg\">Auctions</h5>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"blog-wrap\">\r\n <div class=\"container\">\r\n <div class=\"row mt-4 pt-1 mb-3\">\r\n <div class=\"col-auto\">\r\n <h3 class=\"page-h3 m-0\">{{ sectionTitle }}</h3>\r\n </div>\r\n <div class=\"col-auto ml-auto\">\r\n <button\r\n class=\"lgv-btn mr-3\"\r\n [ngClass]=\"{ active: !showListView }\"\r\n role=\"button\"\r\n (click)=\"showListView = false\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n >\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M1210.335 346.889c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555zM1210.335 338c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555z\"\r\n transform=\"translate(-1205 -338) matrix(-1 0 0 1 2426 0)\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </button>\r\n <button\r\n class=\"lgv-btn\"\r\n [ngClass]=\"{ active: showListView }\"\r\n role=\"button\"\r\n (click)=\"showListView = true\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"13\"\r\n viewBox=\"0 0 16 13\"\r\n >\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M1266.071 350.143c.513 0 .929.416.929.928 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.512.416-.928.929-.928h14.142zm0-5.572c.513 0 .929.416.929.929 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.513.416-.929.929-.929h14.142zm0-5.571c.513 0 .929.416.929.929 0 .512-.416.928-.929.928h-14.142c-.513 0-.929-.416-.929-.928 0-.513.416-.929.929-.929h14.142z\"\r\n transform=\"translate(-1251 -339) matrix(-1 0 0 1 2518 0)\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"auction-search\">\r\n <div\r\n class=\"form-group mb-4 no-float-fields no-float-with-search search-width\"\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n [(ngModel)]=\"searchTerm\"\r\n [formControl]=\"searchControl\"\r\n placeholder=\"Search\"\r\n maxlength=\"50\"\r\n />\r\n </mat-form-field>\r\n <span\r\n class=\"search-icon\"\r\n role=\"button\"\r\n (click)=\"resetSearch()\"\r\n *ngIf=\"searchControl.value != null; else showSearch\"\r\n >\r\n <img\r\n src=\"../assets/images/cross.svg\"\r\n title=\"filter-search-icon\"\r\n alt=\"filter-clear-icon\"\r\n />\r\n </span>\r\n <ng-template #showSearch>\r\n <span class=\"search-icon\">\r\n <img src=\"/assets/images/search-icon2.svg\" />\r\n </span>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields auc-width\">\r\n <mat-select\r\n [(value)]=\"category.value\"\r\n (selectionChange)=\"categoryFilter($event.value)\"\r\n placeholder=\"Auction Category\"\r\n >\r\n <mat-option [value]=\"null\">All</mat-option>\r\n <mat-option\r\n *ngFor=\"let category of categories\"\r\n [value]=\"category.value\"\r\n >{{ category.text }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n <mat-select\r\n (selectionChange)=\"sortFilter($event.value)\"\r\n placeholder=\"Sort By\"\r\n [(value)]=\"sortModel.value\"\r\n >\r\n <mat-option [value]=\"null\">All</mat-option>\r\n <mat-option\r\n *ngFor=\"let sort of sortingObject\"\r\n [value]=\"sort.value\"\r\n >{{ sort.text }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <div\r\n class=\"form-group mb-4 no-float-fields sort-width\"\r\n *ngIf=\"isShowStatusFilter\"\r\n >\r\n <mat-select\r\n (selectionChange)=\"statusFilter($event.value)\"\r\n placeholder=\"Status\"\r\n >\r\n <mat-option [value]=\"statusValue.LiveUpcomingPast\" selected\r\n >All</mat-option\r\n >\r\n <mat-option [value]=\"statusValue.liveUpcoming\"\r\n >Available</mat-option\r\n >\r\n <mat-option [value]=\"statusValue.past\">Sold</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"currentAuctionType === auctionType.currentAuction.title\"\r\n >\r\n <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n <mat-select\r\n [(value)]=\"saleType\"\r\n (selectionChange)=\"saletypeFilter($event.value)\"\r\n placeholder=\"Sale Type\"\r\n >\r\n <mat-option [value]=\"0\">All</mat-option>\r\n <mat-option\r\n *ngFor=\"let saletype of saletypesForDD\"\r\n [value]=\"saletype.value\"\r\n >{{ saletype.text }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"currentAuctionType == auctionType.pastAuction.title\"\r\n >\r\n <div class=\"form-group mb-4\">\r\n <a\r\n *ngIf=\"auctionStatus == auctionStatuses.past\"\r\n role=\"button\"\r\n role=\"button\"\r\n (click)=\"switchToArchive()\"\r\n class=\"btn btn-white-border btnWithMarg btn-full viewAchivedAuction-link\"\r\n >\r\n View Archived Auctions\r\n </a>\r\n </div>\r\n\r\n <a\r\n *ngIf=\"auctionStatus == auctionStatuses.archived\"\r\n role=\"button\"\r\n role=\"button\"\r\n (click)=\"switchToRecent()\"\r\n class=\"btn btn-white-border btnWithMarg btn-full viewAchivedAuction-link\"\r\n >\r\n View Recent Auctions\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"empty-state-container empty-pad-2\"\r\n *ngIf=\"this.totalAuction == 0; else showTable\"\r\n >\r\n <div class=\"empty-state-content\">\r\n <img\r\n alt=\"empty-state\"\r\n src=\"../../../../assets/images/empty-state-icon.svg\"\r\n />\r\n <h3 class=\"_heading\">No Auction Found</h3>\r\n </div>\r\n </div>\r\n\r\n <ng-template #showTable>\r\n <ng-container *ngIf=\"currentAuctionType != auctionType.turnKeySale.title\">\r\n <div class=\"row gutter-16 auctionPagesCard\" id=\"auctionPagesCard\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalAuction > pageSize\"\r\n ></app-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-12 auctions-outer-mobile-list\"\r\n [ngClass]=\"{ 'col-md-6 col-lg-4': !showListView }\"\r\n *ngFor=\"\r\n let item of auctionData\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalAuction\r\n }\r\n \"\r\n >\r\n <auction-card\r\n [auctionData]=\"item\"\r\n [listView]=\"showListView\"\r\n [routeType]=\"null\"\r\n ></auction-card>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalAuction > pageSize\"\r\n ></app-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentAuctionType == auctionType.turnKeySale.title\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <app-paginator\r\n [paginationId]=\"'server1'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalAuction > pageSize\"\r\n ></app-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"turnKeyCards\">\r\n <div class=\"turnHdg\">\r\n <h1>PAST TURN KEY SALES</h1>\r\n </div>\r\n <div class=\"turnCardsInner\">\r\n <div\r\n class=\"eachTurnCards\"\r\n *ngFor=\"\r\n let auction of auctionData\r\n | paginate\r\n : {\r\n id: 'server1',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalAuction\r\n }\r\n \"\r\n >\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 leftWrap mb-3 mb-lg-0\">\r\n <img\r\n alt=\"Cover Photo\"\r\n AuctionDefaultImage\r\n *ngIf=\"auction\"\r\n [image]=\"auction.coverPhoto\"\r\n />\r\n </div>\r\n <div class=\"col-lg-6 rightWrap\">\r\n <div class=\"inner\">\r\n <div class=\"forLogo\">\r\n <img\r\n class=\"logo\"\r\n alt=\"Client Logo\"\r\n AuctionDefaultImage\r\n *ngIf=\"auction\"\r\n [image]=\"auction.clientLogo\"\r\n />\r\n </div>\r\n <div class=\"badge-type forBadge\">\r\n <span class=\"card-badge-colored\">{{\r\n auction.saleTypePublicName\r\n }}</span>\r\n </div>\r\n <h1 class=\"name\">{{ auction.title }}</h1>\r\n <p class=\"des\" [innerHTML]=\"auction.tagline\"></p>\r\n <p\r\n class=\"location\"\r\n *ngIf=\"\r\n auction.saleType.isDetailPageInHouse &&\r\n auction.locations\r\n \"\r\n >\r\n {{ auction.locations }}\r\n </p>\r\n <p\r\n class=\"dateTime\"\r\n [innerHtml]=\"\r\n auction?.saleType?.auctionDate\r\n | auctionDateFormat\r\n : auction?.auctionStatus\r\n : auction?.timeZoneName\r\n : auction?.startDateTime\r\n : auction?.endDateTime\r\n : auction?.saleType?.dateText\r\n \"\r\n ></p>\r\n <div class=\"forDeatils\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-colored\"\r\n [routerLink]=\"['/', auction.auctionCode]\"\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <app-paginator\r\n [paginationId]=\"'server1'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalAuction > pageSize\"\r\n ></app-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- turn Sale kay page start here -->\r\n <div class=\"empty-state-container empty-pad-2 d-none\">\r\n <div class=\"empty-state-content\">\r\n <img\r\n alt=\"empty-state\"\r\n src=\"../../../../assets/images/empty-state-icon.svg\"\r\n />\r\n <h3 class=\"_heading\">\r\n There are no current active listings. <br />\r\n Check back for future Turn Key Sales.\r\n </h3>\r\n </div>\r\n </div>\r\n <!-- turn Sale kay page end here -->\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n Resolve,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { AuctionCurrentState } from '../../../models';\r\nimport routeTable from '../../../utility/routeTable';\r\n\r\n@Injectable()\r\nexport class AuctionStatusResolver implements Resolve<AuctionCurrentState> {\r\n auctionCodeParam = routeTable.public.publicLink;\r\n constructor(\r\n private auctionService: AuctionService,\r\n private loader: LoaderService\r\n ) {}\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Promise<AuctionCurrentState> {\r\n this.loader.showLoader(true);\r\n return new Promise((resolve) => {\r\n this.auctionService\r\n .getAuctionCurrentStatus(\r\n route.paramMap.get(this.auctionCodeParam.split(':')[1])\r\n )\r\n .toPromise()\r\n .then((res) => {\r\n this.loader.showLoader(false);\r\n resolve(res);\r\n })\r\n .catch(() => {\r\n this.loader.showLoader(false);\r\n resolve(null);\r\n });\r\n });\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormControl,\r\n FormGroup,\r\n ValidatorFn,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport { TextFileValidators } from '../../../core/validators/text-file-validators';\r\nimport { AdminAuctionList } from '../../../models/adminAuctionList';\r\nimport constants from '../../../utility/constants';\r\nimport { ImportResultService } from '../service/import-result.service';\r\nimport { Subscription } from 'rxjs';\r\nexport enum FileType {\r\n AuctionUser = 1,\r\n LotResult,\r\n ErrorLog,\r\n}\r\n\r\n@Component({\r\n selector: 'app-import-result',\r\n templateUrl: './import-result.component.html',\r\n styleUrls: ['./import-result.component.css'],\r\n})\r\nexport class ImportResultComponent implements OnInit {\r\n @Input() auctionInfo: AdminAuctionList;\r\n\r\n processCompleted: boolean = false;\r\n showErrors: boolean = false;\r\n showSuccess: boolean = false;\r\n\r\n importForm: FormGroup;\r\n\r\n importFileType = FileType;\r\n\r\n fileSize: string = constants.admin.csvUploadSetting.lotImportCsvFileMaxSize;\r\n fileFormat: string = constants.admin.csvUploadSetting.lotImportCsvFileType;\r\n fileExtension: string =\r\n constants.admin.csvUploadSetting.lotImportCsvFileExtension;\r\n\r\n submitting: boolean = false;\r\n isLoading: boolean = false;\r\n\r\n errorsInFiles: {\r\n auctionUserErrors?: string;\r\n lotResultErrors?: string;\r\n };\r\n\r\n noOfLotsImported: number = 0;\r\n noOfUsersImported: number = 0;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n private validatorsForAuctionUser: ValidatorFn[] = [\r\n TextFileValidators.sizeCheck(this.fileSize),\r\n TextFileValidators.textExtension(this.fileExtension),\r\n ];\r\n\r\n private validatorsForLotResult: ValidatorFn[] = [\r\n TextFileValidators.sizeCheck(this.fileSize),\r\n TextFileValidators.textExtension(this.fileExtension),\r\n ];\r\n\r\n constructor(private importResult: ImportResultService) {}\r\n\r\n ngOnInit(): void {\r\n this.initiateForm();\r\n this.checkAuctionUsers();\r\n }\r\n\r\n private initiateForm() {\r\n this.importForm = new FormGroup({\r\n auctionUser: new FormControl(null, [\r\n Validators.required,\r\n ...this.validatorsForAuctionUser,\r\n ]),\r\n lotResult: new FormControl(null, [\r\n Validators.required,\r\n ...this.validatorsForLotResult,\r\n ]),\r\n });\r\n }\r\n\r\n private checkAuctionUsers() {\r\n this.isLoading = true;\r\n const aucUsers = this.importResult.checkAuctionUsers(this.auctionInfo.id).subscribe(\r\n (res) => {\r\n if (res) {\r\n this.importForm.controls.auctionUser.setValidators(\r\n this.validatorsForAuctionUser\r\n );\r\n this.importForm.controls.auctionUser.updateValueAndValidity();\r\n }\r\n this.isLoading = false;\r\n },\r\n () => (this.isLoading = false)\r\n );\r\n this.subscriptions.push(aucUsers);\r\n }\r\n\r\n downloadCsvFile(fileType: number) {\r\n let headers = [];\r\n let fileName: string = '';\r\n let exportedData = [];\r\n\r\n switch (fileType) {\r\n case this.importFileType.AuctionUser:\r\n headers = [\r\n 'Bidder Number',\r\n 'Company',\r\n 'First Name',\r\n 'Last Name',\r\n 'Address Line 1',\r\n 'Address Line 2',\r\n 'City',\r\n 'State',\r\n 'Postal',\r\n 'Country',\r\n 'Phone',\r\n 'Fax',\r\n 'Email',\r\n ];\r\n fileName = `Sample_AuctionUser_${this.auctionInfo.auctionCode}`;\r\n exportedData = new Array(headers.length).fill('');\r\n this.generateCsv(headers, exportedData, fileName);\r\n break;\r\n case this.importFileType.LotResult:\r\n headers = [\r\n 'Lot Number',\r\n 'Description',\r\n 'Amount',\r\n 'Bidder Number',\r\n 'Location',\r\n ];\r\n fileName = `Sample_LotResult_${this.auctionInfo.auctionCode}`;\r\n exportedData = new Array(headers.length).fill('');\r\n this.generateCsv(headers, exportedData, fileName);\r\n break;\r\n case this.importFileType.ErrorLog:\r\n fileName = `ErrorLog_${this.auctionInfo.auctionCode}`;\r\n for (const key in this.errorsInFiles) {\r\n headers.push(key);\r\n exportedData.push(this.errorsInFiles[key]);\r\n }\r\n this.generateCsv(headers, exportedData, fileName, true);\r\n break;\r\n }\r\n }\r\n\r\n private generateCsv(\r\n headers: string[],\r\n data: any,\r\n fileName: string,\r\n isErrorFile: boolean = false\r\n ) {\r\n const errorOptions = {\r\n filename: fileName,\r\n showLabels: true,\r\n useKeysAsHeaders: false,\r\n headers: headers,\r\n fieldSeparator: '',\r\n quoteStrings: '',\r\n useTextFile: true,\r\n };\r\n\r\n const options = {\r\n filename: fileName,\r\n showLabels: true,\r\n useKeysAsHeaders: false,\r\n headers: headers,\r\n };\r\n const csvExporter = new ExportToCsv(isErrorFile ? errorOptions : options);\r\n if (data) csvExporter.generateCsv(data);\r\n }\r\n\r\n uploadLotResult(files: FileList) {\r\n let control = this.importForm.controls.lotResult;\r\n if (files.length > 0) {\r\n control.setValue(files[0]);\r\n control.updateValueAndValidity();\r\n control.markAsTouched();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n uploadAuctionUser(files: FileList) {\r\n let control = this.importForm.controls.auctionUser;\r\n if (files.length > 0) {\r\n control.setValue(files[0]);\r\n control.updateValueAndValidity();\r\n control.markAsTouched();\r\n }\r\n }\r\n\r\n removeFile(control: AbstractControl) {\r\n control.reset();\r\n }\r\n\r\n async uploadFiles() {\r\n this.submitting = true;\r\n if (this.importForm.invalid) return;\r\n this.submitting = false;\r\n\r\n this.isLoading = true;\r\n\r\n this.processCompleted = false;\r\n this.showErrors = false;\r\n this.showSuccess = false;\r\n\r\n let lotResultFile = this.importForm.getRawValue().lotResult;\r\n let auctionUserFile = this.importForm.getRawValue().auctionUser;\r\n\r\n if (auctionUserFile) {\r\n try {\r\n this.noOfUsersImported = await this.importResult\r\n .uploadAuctionUsers(this.auctionInfo.id, auctionUserFile)\r\n .toPromise();\r\n } catch (error) {\r\n this.isLoading = false;\r\n this.processCompleted = true;\r\n this.showErrors = true;\r\n this.showSuccess = false;\r\n this.errorsInFiles = { auctionUserErrors: error };\r\n return;\r\n }\r\n }\r\n\r\n if (lotResultFile) {\r\n try {\r\n this.noOfLotsImported = await this.importResult\r\n .uploadLotResults(this.auctionInfo.id, lotResultFile)\r\n .toPromise();\r\n } catch (error) {\r\n this.isLoading = false;\r\n this.processCompleted = true;\r\n this.showErrors = true;\r\n this.showSuccess = false;\r\n this.errorsInFiles = { lotResultErrors: error };\r\n return;\r\n }\r\n }\r\n\r\n this.isLoading = false;\r\n this.processCompleted = true;\r\n this.showErrors = false;\r\n this.showSuccess = true;\r\n }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"processCompleted; else uploadSection\">\r\n <div class=\"importResultWrap importFailed text-center\" *ngIf=\"showErrors\">\r\n <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/cancel.svg\" />\r\n <h3 class=\"hdg\">Import Failed</h3>\r\n <p class=\"des\">\r\n To investigate the issues please download the log file, fix errors &\r\n upload again.\r\n </p>\r\n <button\r\n class=\"btn btn-colored importBtn text-center\"\r\n role=\"button\"\r\n (click)=\"downloadCsvFile(importFileType.ErrorLog)\"\r\n >\r\n <img alt=\"icon\" src=\"../assets/images/downloadCloud.svg\" /> Download Log\r\n File\r\n </button>\r\n </div>\r\n <div class=\"importResultWrap importSuccess text-center\" *ngIf=\"showSuccess\">\r\n <img\r\n class=\"topIcon\"\r\n alt=\"icon\"\r\n src=\"../assets/images/auction-success.svg\"\r\n />\r\n <h3 class=\"hdg\">Import Successful</h3>\r\n <p class=\"des\">\r\n {{ noOfUsersImported + \" Users\" }} |\r\n {{ noOfLotsImported + \" Winning Lots\" }} Imported\r\n </p>\r\n <ng-content select=\"[takeToAuctionButton]\"></ng-content>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- this is suppose to upload section -->\r\n<ng-template #uploadSection>\r\n <div class=\"importAuctionUserHeader\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <h3>Registered Users</h3>\r\n <p>Import registered users to map them with winning lots</p>\r\n </div>\r\n <div class=\"col-md-4 text-md-right\">\r\n <a\r\n class=\"btn btn-text px-0\"\r\n role=\"button\"\r\n (click)=\"downloadCsvFile(importFileType.AuctionUser)\"\r\n >\r\n <img alt=\"download\" src=\"../assets/images/icDownload.svg\" />\r\n <span>Download Template</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"importUpload\">\r\n <h4>Upload File</h4>\r\n <div class=\"importUploadBtn\">\r\n <button\r\n class=\"btn btn-colored\"\r\n role=\"button\"\r\n (click)=\"browserUser.click()\"\r\n >\r\n <svg\r\n width=\"16px\"\r\n height=\"15px\"\r\n viewBox=\"0 0 16 15\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g\r\n id=\"Page-1\"\r\n stroke=\"none\"\r\n stroke-width=\"1\"\r\n fill=\"none\"\r\n fill-rule=\"evenodd\"\r\n >\r\n <g\r\n id=\"Create_New_Auction_Display_Details\"\r\n transform=\"translate(-608.000000, -975.000000)\"\r\n fill=\"#F7F7F7\"\r\n >\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n\r\n <span class=\"browseFileName\">\r\n <span class=\"mr-1\">\r\n {{\r\n importForm.controls.auctionUser.value\r\n ? importForm.controls.auctionUser.value.name\r\n : \"No File Chosen\"\r\n }}\r\n </span>\r\n <img\r\n alt=\"cross\"\r\n *ngIf=\"importForm.controls.auctionUser.value\"\r\n src=\"../assets/images/cross.svg\"\r\n role=\"button\"\r\n (click)=\"removeFile(importForm.controls.auctionUser)\"\r\n />\r\n </span>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"importForm.controls.auctionUser\"\r\n ></control-messages>\r\n </div>\r\n <div>\r\n <input\r\n class=\"btn btn-colored browse-btn d-none\"\r\n accept=\".{{ fileExtension }}\"\r\n type=\"file\"\r\n (change)=\"uploadAuctionUser($event.target.files)\"\r\n text=\"Browse\"\r\n #browserUser\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"importAuctionUserHeader\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <h3>Winning Lot Data</h3>\r\n <p>Import data for winning lots</p>\r\n </div>\r\n <div\r\n class=\"col-md-4 text-md-right\"\r\n role=\"button\"\r\n (click)=\"downloadCsvFile(importFileType.LotResult)\"\r\n >\r\n <a class=\"btn btn-text px-0\">\r\n <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n <span>Download Template</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"importUpload border-0\">\r\n <h4>Upload File</h4>\r\n <div class=\"importUploadBtn\">\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"winning.click()\">\r\n <svg\r\n width=\"16px\"\r\n height=\"15px\"\r\n viewBox=\"0 0 16 15\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g\r\n id=\"Page-1\"\r\n stroke=\"none\"\r\n stroke-width=\"1\"\r\n fill=\"none\"\r\n fill-rule=\"evenodd\"\r\n >\r\n <g\r\n id=\"Create_New_Auction_Display_Details\"\r\n transform=\"translate(-608.000000, -975.000000)\"\r\n fill=\"#F7F7F7\"\r\n >\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n\r\n <span class=\"browseFileName\">\r\n <span class=\"mr-1\">\r\n {{\r\n importForm.controls.lotResult.value\r\n ? importForm.controls.lotResult.value.name\r\n : \"No File Chosen\"\r\n }}\r\n </span>\r\n <img\r\n alt=\"cross\"\r\n src=\"../assets/images/cross.svg\"\r\n *ngIf=\"importForm.controls.lotResult.value\"\r\n role=\"button\"\r\n (click)=\"removeFile(importForm.controls.lotResult)\"\r\n />\r\n </span>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"importForm.controls.lotResult\"\r\n ></control-messages>\r\n </div>\r\n <div>\r\n <input\r\n class=\"btn btn-colored browse-btn d-none\"\r\n accept=\".{{ fileExtension }}\"\r\n type=\"file\"\r\n (change)=\"uploadLotResult($event.target.files)\"\r\n text=\"Browse\"\r\n #winning\r\n />\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"importForm.invalid && submitting\">\r\n <p class=\"error-msg mb-4\">Please resolve all the error(s) first</p>\r\n </ng-container>\r\n\r\n <div class=\"footerBtns\">\r\n <ng-content select=\"[cancelButton]\"></ng-content>\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"uploadFiles()\">\r\n Import\r\n </button>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport constants from '../../../../utility/constants';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../../models';\r\nimport { LoaderService, LotService, AddLotModel } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\n@Component({\r\n selector: 'app-lot-form',\r\n templateUrl: './lot-form.component.html',\r\n styleUrls: ['./lot-form.component.css'],\r\n})\r\nexport class LotFormComponent implements OnInit {\r\n @Input() auctionId: number;\r\n @Input() lotId: number;\r\n @Input() auctionData: GetAuctionStep1;\r\n @Output('lotFormStep1Completed') step1Completed = new EventEmitter<any>();\r\n\r\n loading: boolean = false;\r\n publishLoading: boolean = false;\r\n submitting: boolean = false;\r\n\r\n private lotType: number = 1;\r\n\r\n lotForm: FormGroup;\r\n\r\n lotsForDD: Array<CommonDropdown>;\r\n\r\n fieldMaxLengthShort: number = constants.common.validations.maxLength50;\r\n mobileNumberLength: number =\r\n constants.common.validations.maxLengthMobileNumber;\r\n fieldVeryShortMaxLength: number = constants.common.validations.maxLength10;\r\n fieldMaxLength: number = constants.common.validations.maxLength100;\r\n fieldMaxLength200: number = constants.common.validations.maxLength200;\r\n fieldMaxLengthMedium: number = constants.common.validations.maxLength500;\r\n fieldMaxLengthLong: number = constants.common.validations.maxLength1500;\r\n fieldMaxLengthLonger: number = constants.common.validations.maxLength2500;\r\n fieldMaxLengthLongest: number = constants.common.validations.maxLength8000;\r\n fieldLengthForPrices: number = 3;\r\n isDisabled: boolean;\r\n message: string;\r\n private subscriptions: Array<Subscription> = [];\r\n constructor(\r\n private loaderService: LoaderService,\r\n private lotService: LotService,\r\n private toastr: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initiatelotForm();\r\n this.lotsListingForDD();\r\n\r\n if (this.lotId) this.getLotDataById();\r\n }\r\n\r\n private initiatelotForm() {\r\n this.lotForm = new FormGroup({\r\n id: new FormControl(0),\r\n lotNumbers: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldVeryShortMaxLength),\r\n AppValidators.checkLotNumber,\r\n ]),\r\n lotNumberAfterWhichThisWillBeAdded: new FormControl('', [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldVeryShortMaxLength),\r\n ]),\r\n description: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthLongest),\r\n ]),\r\n location: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLength200),\r\n ]),\r\n category: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthShort),\r\n ]),\r\n consigner: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLengthShort),\r\n ]),\r\n reserve: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric\r\n ]),\r\n quantity: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n AppValidators.onlyNumeric,\r\n ]),\r\n openingPrice: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric\r\n ]),\r\n isDeleted: new FormControl(false),\r\n });\r\n }\r\n\r\n private lotsListingForDD() {\r\n this.lotService\r\n .getLotsByAuction(this.auctionId, this.lotType)\r\n .toPromise()\r\n .then((response: CommonDropdown[]) => {\r\n this.lotsForDD = response;\r\n });\r\n }\r\n\r\n private getLotDataById() {\r\n this.loaderService.showLoader(true);\r\n const vlots = this.lotService.viewLotById(this.lotId).subscribe(\r\n (res) => {\r\n this.mapDataToForm(res);\r\n this.loaderService.showLoader(false);\r\n },\r\n () => {\r\n this.loaderService.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(vlots);\r\n }\r\n\r\n mapDataToForm(lotData: any) {\r\n this.lotForm.patchValue({\r\n id: lotData.id,\r\n lotNumbers: lotData.lotNumber,\r\n description: lotData.description,\r\n location: lotData.location,\r\n category: lotData.category,\r\n consigner: lotData.consignor,\r\n openingPrice: lotData.openingPrice,\r\n reserve: lotData.reservePrice,\r\n quantity: lotData.quantity,\r\n lotNumberAfterWhichThisWillBeAdded:\r\n lotData.lotNumberAfterWhichThisWillBeAdded,\r\n });\r\n\r\n if (lotData.addedInBulkLotId) this.lotForm.controls.reserve.disable();\r\n }\r\n\r\n private createAddLotModel(isPublishLot): AddLotModel {\r\n let formValues = this.lotForm.getRawValue();\r\n let model: AddLotModel = {\r\n isUpdateAndPublish: isPublishLot,\r\n auctionId: this.auctionId,\r\n consignor: formValues.consigner,\r\n category: formValues.category,\r\n description: formValues.description,\r\n location: formValues.location,\r\n lotId: this.lotId || 0,\r\n lotNumber: formValues.lotNumbers,\r\n lotType: this.lotType,\r\n openingPrice:\r\n formValues.openingPrice != null ? +formValues.openingPrice : null,\r\n reservePrice: formValues.reserve != null ? +formValues.reserve : null,\r\n quantity: +formValues.quantity,\r\n lotNumberAfterWhichThisWillBeAdded:\r\n +formValues.lotNumberAfterWhichThisWillBeAdded || 0,\r\n };\r\n return model;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n addUpdateLot(isPublishLot) {\r\n this.submitting = true;\r\n\r\n if (this.lotForm.invalid) return;\r\n\r\n this.submitting = false;\r\n if (isPublishLot) this.publishLoading = true;\r\n else this.loading = true;\r\n\r\n const clots = this.lotService\r\n .addUpdateLot(this.createAddLotModel(isPublishLot))\r\n .subscribe(\r\n (res: any) => {\r\n if (isPublishLot) this.publishLoading = false;\r\n else this.loading = false;\r\n this.lotForm.reset();\r\n this.stepCompleted(res);\r\n },\r\n (err) => {\r\n if (isPublishLot) this.publishLoading = false;\r\n else this.loading = false;\r\n this.toastr.error(err, 'Error');\r\n }\r\n );\r\n this.subscriptions.push(clots);\r\n }\r\n\r\n getClosingBeginsData(auctionEndDate) {\r\n let currentDate = new Date().getTime();\r\n let auctionendDate = new Date(auctionEndDate).getTime();\r\n if (currentDate < auctionendDate && this.lotsForDD?.length > 0) {\r\n this.isDisabled = false;\r\n this.message = 'applicable only when lot closing has not started.';\r\n return true;\r\n } else if (currentDate < auctionendDate && this.lotsForDD?.length == 0) {\r\n this.isDisabled = true;\r\n this.message =\r\n 'No lot present in this auction, Lot will be added at first position.';\r\n return true;\r\n } else if (currentDate > auctionendDate && this.lotsForDD?.length > 0) {\r\n this.isDisabled = true;\r\n this.message =\r\n 'Auction closing Started, So lot will be added in the last.';\r\n return true;\r\n } else if (currentDate > auctionendDate && this.lotsForDD?.length == 0) {\r\n this.isDisabled = true;\r\n this.message =\r\n 'Auction closing Started, So lot will be added at first position.';\r\n return true;\r\n }\r\n }\r\n\r\n stepCompleted(lotData: any) {\r\n this.step1Completed.emit(lotData);\r\n }\r\n}\r\n","<form [formGroup]=\"lotForm\">\r\n <div class=\"row\">\r\n <ng-content select=\".lotType\"></ng-content>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">Lot Number *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"text\"\r\n placeholder=\"Add Lot Number\"\r\n formControlName=\"lotNumbers\"\r\n [maxlength]=\"fieldVeryShortMaxLength\"\r\n [disabled]=\"lotId\"\r\n [readonly]=\"lotId\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.lotNumbers\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"col-md-12\"\r\n *ngIf=\"auctionData.auctionStatus !== 1 && lotsForDD?.length\"\r\n >\r\n <div class=\"form-group input-with-tooltip\">\r\n <label class=\"form-label\"\r\n >Enter Lot Number after which this new lot should be added</label\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select formControlName=\"lotNumberAfterWhichThisWillBeAdded\">\r\n <mat-option value=\"\" disabled>Select</mat-option>\r\n <mat-option *ngFor=\"let item of lotsForDD\" [value]=\"item?.value\">{{\r\n item?.text\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-hint>applicable only when lot closing has not started.</mat-hint>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.lotNumberAfterWhichThisWillBeAdded\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"col-md-12\"\r\n *ngIf=\"\r\n auctionData.auctionStatus == 1 &&\r\n getClosingBeginsData(auctionData.endDateTimeUtc)\r\n \"\r\n >\r\n <div class=\"form-group input-with-tooltip\">\r\n <label class=\"form-label\"\r\n >Enter Lot Number after which this new lot should be added</label\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select\r\n formControlName=\"lotNumberAfterWhichThisWillBeAdded\"\r\n [disabled]=\"isDisabled\"\r\n >\r\n <mat-option value=\"\" disabled>Select</mat-option>\r\n <mat-option *ngFor=\"let item of lotsForDD\" [value]=\"item?.value\">{{\r\n item?.text\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-hint>{{ message }}</mat-hint>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.lotNumberAfterWhichThisWillBeAdded\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-100\">\r\n <label class=\"form-label\">Description *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea\r\n matInput\r\n required\r\n placeholder=\"Enter description\"\r\n formControlName=\"description\"\r\n [maxlength]=\"fieldMaxLengthLongest\"\r\n ></textarea>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.description\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\">Location *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"text\"\r\n placeholder=\"Add Location\"\r\n formControlName=\"location\"\r\n [maxlength]=\"fieldMaxLength200\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.location\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\">Lot Category *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"text\"\r\n placeholder=\"Add Lot Category\"\r\n formControlName=\"category\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.category\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\">Consignor</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Add Consignor\"\r\n formControlName=\"consigner\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.Consignor\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\"\r\n >Reserve (in {{ auctionData.currencyName }}) *</label\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"number\"\r\n min=\"0.01\"\r\n placeholder=\"Add Reserve\"\r\n formControlName=\"reserve\"\r\n [maxlength]=\"fieldLengthForPrices\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.reserve\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\">Quantity *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"number\"\r\n placeholder=\"Enter Quantity\"\r\n formControlName=\"quantity\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.quantity\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <div class=\"min-140\">\r\n <label class=\"form-label\"\r\n >Starting Price/ Opening Price (in\r\n {{ auctionData.currencyName }}) *</label\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n required\r\n type=\"number\"\r\n min=\"0.01\"\r\n placeholder=\"Enter Price\"\r\n formControlName=\"openingPrice\"\r\n [maxlength]=\"fieldLengthForPrices\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"lotForm.controls.openingPrice\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p class=\"error-msg my-2\" *ngIf=\"lotForm.invalid && submitting\">\r\n Please resolve error(s) first\r\n </p>\r\n\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <ng-content select=\".closeModalButton\"></ng-content>\r\n\r\n <ng-container *ngIf=\"!lotId\">\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-colored font-15 ml-2\"\r\n [disabled]=\"publishLoading || loading\"\r\n role=\"button\"\r\n (click)=\"addUpdateLot(false)\"\r\n >\r\n <span\r\n *ngIf=\"loading\"\r\n class=\"spinner-border spinner-border-sm mr-1\"\r\n ></span>\r\n {{ lotId ? \"Update\" : \"Add\" }} Lot\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"lotId\">\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-colored font-15 ml-2\"\r\n [disabled]=\"loading || publishLoading\"\r\n role=\"button\"\r\n (click)=\"addUpdateLot(true)\"\r\n >\r\n <span\r\n *ngIf=\"publishLoading\"\r\n class=\"spinner-border spinner-border-sm mr-1\"\r\n ></span>\r\n {{ lotId ? \"Update\" : \"Add\" }} Lot & Publish\r\n </button>\r\n </ng-container>\r\n </div>\r\n</form>\r\n","import { Component, OnInit, TemplateRef, Input } from '@angular/core';\r\nimport { AuctionAnnouncement } from '../../../../models/auctionAnnouncement';\r\nimport { FormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport constants from '../../../../utility/constants';\r\nimport { AuctionAnnouncementService } from '../../../../services/auction-announcement.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsModalService, ModalOptions, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { LoaderService } from '../../../../services';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { GetAuctionStep1 } from '../../../../models';\r\n\r\nexport enum AnnouncementMode {\r\n Add = 1,\r\n Edit,\r\n Remove\r\n}\r\n\r\n@Component({\r\n selector: 'app-auction-announcement',\r\n templateUrl: './auction-announcement.component.html',\r\n styleUrls: ['./auction-announcement.component.css']\r\n})\r\nexport class AuctionAnnouncementComponent implements OnInit {\r\n @Input() auctionId: number;\r\n @Input() auction: GetAuctionStep1;\r\n announcementModes = AnnouncementMode;\r\n currentAnnouncementMode: number;\r\n auctionAnnoucement: AuctionAnnouncement;\r\n announcementText: string;\r\n announcementControl: FormControl;\r\n isEditorCharLimitReached: boolean;\r\n announcementMaxLength: number = constants.common.validations.maxLength1000;\r\n\r\n modalRef: BsModalRef;\r\n private subscriptions: Array<Subscription> = [];\r\n constructor(\r\n private auctionAnnoucementService: AuctionAnnouncementService,\r\n private toastr: ToastrService,\r\n private modalService: BsModalService,\r\n private loaderService: LoaderService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.announcementControl = new FormControl(null, [Validators.required]);\r\n this.getAnnouncement();\r\n }\r\n\r\n openAnnouncementModal(template: TemplateRef<any>, mode: number) {\r\n this.currentAnnouncementMode = mode;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template, modalOptions);\r\n }\r\n\r\n public editorContent(event: { data: string, limitReached: boolean }, control: AbstractControl) {\r\n control.patchValue(event.data);\r\n control.markAsDirty();\r\n if (event.limitReached)\r\n control.setErrors({ invalid: true })\r\n else\r\n control.setErrors(null);\r\n }\r\n\r\n getAnnouncement() {\r\n const announcments = this.auctionAnnoucementService.getAuctionAnnouncementById(this.auctionId).subscribe((res) => {\r\n this.auctionAnnoucement = (res?.isActive) ? res : null;\r\n this.announcementText = (res?.isActive) ? res?.text : null;\r\n this.announcementControl.patchValue(res?.text);\r\n })\r\n this.subscriptions.push(announcments);\r\n }\r\n\r\n announcementChanges() {\r\n if (this.announcementControl.invalid)\r\n return;\r\n\r\n this.loaderService.showLoader(true);\r\n let currentMode: string;\r\n let request: Observable<any>;\r\n let announcementText = this.announcementControl.value;\r\n if (this.currentAnnouncementMode === this.announcementModes.Add) {\r\n request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText);\r\n currentMode = \"Added\";\r\n } else if (this.currentAnnouncementMode === this.announcementModes.Edit) {\r\n request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText);\r\n currentMode = \"Edited\";\r\n } else if (this.currentAnnouncementMode === this.announcementModes.Remove) {\r\n request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText, true);\r\n currentMode = \"Removed\";\r\n }\r\n if (request) {\r\n const reqst = request.subscribe((res) => {\r\n this.loaderService.showLoader(false);\r\n this.toastr.success(`Announcement ${currentMode} Successfully`, constants.common.toast.successTitle, constants.common.toast.config);\r\n this.auctionAnnoucement = (res?.isActive) ? res : null;\r\n this.announcementText = (res?.isActive) ? res?.text : null;\r\n this.announcementControl.patchValue(res?.text);\r\n this.closeModal();\r\n }, (err) => {\r\n this.loaderService.showLoader(false);\r\n this.toastr.error(err, constants.common.toast.errorTitle, constants.common.toast.config);\r\n })\r\n this.subscriptions.push(reqst);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n closeModal() {\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n }\r\n}\r\n","<div class=\"col-12 lotAnnouncementWrap\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"alertAnnouncement\">\r\n <div class=\"leftZone\">\r\n <img alt=\"announcement\" src=\"../assets/images/announcement.svg\" />\r\n </div>\r\n <div class=\"rightZone\">\r\n <div class=\"dtlWrap\">\r\n <h3 class=\"hdg\" *ngIf=\"!auctionAnnoucement\">Add Announcement</h3>\r\n <p class=\"sbHdg\" *ngIf=\"!auctionAnnoucement\">\r\n Added announcement will be visible on public website on lot\r\n catalog page.\r\n </p>\r\n <p\r\n class=\"des\"\r\n *ngIf=\"auctionAnnoucement\"\r\n [innerHTML]=\"auctionAnnoucement?.text\"\r\n ></p>\r\n </div>\r\n <div class=\"ctaWrap\" *ngIf=\"!auctionAnnoucement\">\r\n <button\r\n class=\"btn btn-white-border\"\r\n type=\"button\"\r\n role=\"button\"\r\n (click)=\"\r\n openAnnouncementModal(annoucementModal, announcementModes.Add)\r\n \"\r\n >\r\n + Add Announcement\r\n </button>\r\n </div>\r\n\r\n <div class=\"ctaWrapEdit\" *ngIf=\"auctionAnnoucement\">\r\n <div class=\"for-icons\">\r\n <a\r\n class=\"hover-icon edit-icon-colored mr-2 custom-tooltip custom-tooltip2\"\r\n #tooltip=\"matTooltip\"\r\n matTooltip=\"Edit\"\r\n matTooltipClass=\"custom-tooltip-icon\"\r\n [matTooltipPosition]=\"'above'\"\r\n role=\"button\"\r\n (click)=\"\r\n openAnnouncementModal(\r\n annoucementModal,\r\n announcementModes.Edit\r\n )\r\n \"\r\n ></a>\r\n\r\n <a\r\n class=\"hover-icon del-icon-colored mr-2 custom-tooltip custom-tooltip2\"\r\n #tooltip=\"matTooltip\"\r\n matTooltip=\"Delete\"\r\n matTooltipClass=\"custom-tooltip-icon\"\r\n [matTooltipPosition]=\"'above'\"\r\n role=\"button\"\r\n (click)=\"\r\n openAnnouncementModal(\r\n annoucementModal,\r\n announcementModes.Remove\r\n )\r\n \"\r\n ></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #annoucementModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">\r\n {{\r\n currentAnnouncementMode === announcementModes.Add\r\n ? \"Add\"\r\n : currentAnnouncementMode === announcementModes.Edit\r\n ? \"Edit\"\r\n : \"Remove\"\r\n }}\r\n Announcement\r\n </h4>\r\n <button\r\n type=\"button\"\r\n class=\"close pull-right p-0 m-0\"\r\n aria-label=\"Close\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body pt-0 pb-4\">\r\n <ng-container\r\n *ngIf=\"\r\n currentAnnouncementMode === announcementModes.Remove;\r\n else showEditor\r\n \"\r\n >\r\n <h6 class=\"modal-inner-hdg mb-3\">\r\n Are you sure want to remove announcement ?\r\n </h6>\r\n </ng-container>\r\n <ng-template #showEditor>\r\n <p class=\"announceNote mb-3\">\r\n Add announcement for - '{{ auction.title }}'\r\n </p>\r\n <p class=\"des announceEditor editorMin250\">\r\n <editor\r\n [initialValue]=\"announcementText\"\r\n (editorData)=\"editorContent($event, announcementControl)\"\r\n [characterLimit]=\"announcementMaxLength\"\r\n ></editor>\r\n </p>\r\n <p class=\"announceNote mb-0\">\r\n Note more than {{ announcementMaxLength }} characters\r\n </p>\r\n </ng-template>\r\n <div class=\"delete-btns mt-4 pt-3 pb-3\">\r\n <button\r\n class=\"btn btn-white-border mr-3\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n Cancel\r\n </button>\r\n\r\n <button\r\n class=\"btn btn-colored min-110\"\r\n [disabled]=\"announcementControl.invalid\"\r\n role=\"button\"\r\n (click)=\"announcementChanges()\"\r\n >\r\n {{\r\n currentAnnouncementMode === announcementModes.Add\r\n ? \"Add\"\r\n : currentAnnouncementMode === announcementModes.Edit\r\n ? \"Update\"\r\n : \"Remove\"\r\n }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';\r\nimport constants from '../../../utility/constants';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Router } from '@angular/router';\r\nimport { GetAuctionStep2 } from '../../../models';\r\nimport messages from '../../../utility/messages';\r\nimport {\r\n AuctionImageUploadService,\r\n ImageFile,\r\n} from '../../../services/auction-image-upload.service';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-add-auction-step2',\r\n templateUrl: './add-auction-step2.component.html',\r\n styleUrls: ['./add-auction-step2.component.css'],\r\n})\r\nexport class AddAuctionStep2Component implements OnInit {\r\n @Input('isEditMode') editMode: boolean;\r\n @Input('auctionStatus') auctionStatus: number;\r\n @Input('auctionId') auctionId: number;\r\n @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n showView = false;\r\n\r\n // step 2 form\r\n createAuctionForm2: FormGroup;\r\n\r\n submitted: boolean = false;\r\n\r\n // edit Directory\r\n addEditDeleteSliderImages: Array<{ id: number; name: File | string }>;\r\n addEditDeletePhotoGallery: Array<{ id: number; name: File | string }>;\r\n\r\n //image settings\r\n coverPhotoSize: string;\r\n coverPhotoFormat: string;\r\n clientLogoSize: string;\r\n clientLogoFormat: string;\r\n sliderImageSize: string;\r\n sliderImageFormat: string;\r\n photoGallerySize: string;\r\n photoGalleryFormat: string;\r\n\r\n //images with thumbnails\r\n coverPhotoString: string;\r\n clientLogoString: string;\r\n\r\n sliderImages: Array<any> = [];\r\n galleryImages: Array<any> = [];\r\n\r\n resultantSliderImages: ImageFile[] = [];\r\n resultantGalleryImages: ImageFile[] = [];\r\n\r\n photoGalleryAsset: number;\r\n sliderImageAsset: number;\r\n\r\n auctionStatuses = constants.common.auctionStatus;\r\n modalRef: BsModalRef;\r\n\r\n sliderErrorLogs: Array<string> = [];\r\n galleryErrorLogs: Array<string> = [];\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private auctionService: AuctionService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private loader: LoaderService,\r\n private auctionImageUploader: AuctionImageUploadService,\r\n private modalService: BsModalService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeSettings();\r\n this.initiateForm2();\r\n if (this.auctionId) {\r\n this.bindFormData();\r\n } else {\r\n this.showView = true;\r\n }\r\n }\r\n\r\n private initializeSettings() {\r\n this.coverPhotoSize = constants.admin.uploadSetting.coverPhotoMaxSize;\r\n this.coverPhotoFormat = constants.admin.uploadSetting.coverPhotoType;\r\n this.clientLogoSize = constants.admin.uploadSetting.clientLogoMaxSize;\r\n this.clientLogoFormat = constants.admin.uploadSetting.clientLogoType;\r\n\r\n this.sliderImageSize = constants.admin.uploadSetting.sliderImageMaxSize;\r\n this.sliderImageFormat = constants.admin.uploadSetting.sliderImageType;\r\n this.photoGallerySize = constants.admin.uploadSetting.photoGalleryMaxSize;\r\n this.photoGalleryFormat = constants.admin.uploadSetting.photoGalleryType;\r\n\r\n this.sliderImageAsset = constants.admin.assetType.sliderImage;\r\n this.photoGalleryAsset = constants.admin.assetType.photoGallery;\r\n }\r\n\r\n private initiateForm2() {\r\n this.createAuctionForm2 = new FormGroup({\r\n coverPhoto: new FormControl(null, [\r\n ImageValidators.sizeCheck(this.coverPhotoSize),\r\n ImageValidators.imageFormat(this.coverPhotoFormat),\r\n this.conditionalRequired.bind(this),\r\n ]),\r\n clientLogo: new FormControl(null, [\r\n ImageValidators.sizeCheck(this.clientLogoSize),\r\n ImageValidators.imageFormat(this.clientLogoFormat),\r\n this.conditionalRequired.bind(this),\r\n ]),\r\n });\r\n }\r\n\r\n bindFormData() {\r\n const step1 = this.auctionService.getAuctionStepIi(this.auctionId).subscribe(\r\n (res) => {\r\n this.bindingData(res);\r\n this.showView = true;\r\n },\r\n () => {\r\n this.showView = true;\r\n this.onCancel();\r\n }\r\n );\r\n this.subscriptions.push(step1);\r\n }\r\n\r\n bindingData(value: GetAuctionStep2) {\r\n this.coverPhotoString = value.coverPhoto;\r\n this.clientLogoString = value.clientLogo;\r\n this.createAuctionForm2.patchValue({\r\n clientLogo: value.clientLogo,\r\n coverPhoto: value.coverPhoto,\r\n });\r\n this.addEditDeleteSliderImages = value.sliderImagesThumbnail;\r\n this.addEditDeletePhotoGallery = value.photoGalleryThumbnail;\r\n }\r\n\r\n private conditionalRequired(formControl: FormControl) {\r\n if (\r\n this.auctionStatus !== this.auctionStatuses.past ||\r\n this.auctionStatus !== this.auctionStatuses.archived\r\n )\r\n return Validators.required(formControl);\r\n return null;\r\n }\r\n\r\n // files handling\r\n uploadCoverPhoto(files: FileList) {\r\n let reader = new FileReader();\r\n this.coverPhotoString = null;\r\n let control = this.createAuctionForm2.controls.coverPhoto;\r\n if (files.length > 0) {\r\n this.createAuctionForm2.patchValue({ coverPhoto: files[0] });\r\n control.markAsTouched();\r\n control.updateValueAndValidity();\r\n if (control.valid) {\r\n reader.readAsDataURL(files[0]);\r\n reader.onload = () => {\r\n this.coverPhotoString = reader.result as string;\r\n };\r\n } else {\r\n this.coverPhotoString = null;\r\n control.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n uploadClientLogo(files: FileList) {\r\n let reader = new FileReader();\r\n this.clientLogoString = null;\r\n let control = this.createAuctionForm2.controls.clientLogo;\r\n if (files.length > 0) {\r\n this.createAuctionForm2.patchValue({ clientLogo: files[0] });\r\n control.markAsTouched();\r\n control.updateValueAndValidity();\r\n if (control.valid) {\r\n reader.readAsDataURL(files[0]);\r\n reader.onload = () => {\r\n this.clientLogoString = reader.result as string;\r\n };\r\n } else {\r\n this.clientLogoString = null;\r\n control.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n onCancel() {\r\n if (this.auctionStatus == 1) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.auctionStatus == 2) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.auctionStatus == 4) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n\r\n goToStep(step: number = 1) {\r\n this.step.emit(step);\r\n }\r\n\r\n async save() {\r\n this.submitted = true;\r\n\r\n if (this.createAuctionForm2.invalid) {\r\n return;\r\n }\r\n\r\n let numOfSliderImages = this.resultantSliderImages.length;\r\n let numOfGalleryImages = this.resultantGalleryImages.length;\r\n\r\n if (\r\n this.createAuctionForm2.pristine &&\r\n numOfSliderImages === 0 &&\r\n numOfGalleryImages === 0\r\n ) {\r\n this.formDone();\r\n }\r\n\r\n this.submitted = false;\r\n\r\n this.loader.showLoader(true);\r\n\r\n let clientImage = this.createAuctionForm2.value.clientLogo;\r\n let coverImage = this.createAuctionForm2.value.coverPhoto;\r\n // upload logo and cover photo\r\n if (typeof clientImage !== 'string' || typeof coverImage !== 'string') {\r\n let formData = new FormData();\r\n formData.append('AuctionId', '' + this.auctionId);\r\n if(clientImage)\r\n { \r\n if(typeof clientImage === 'string')\r\n {\r\n formData.append('ClientLogo', clientImage);\r\n } \r\n else\r\n {\r\n formData.append('ClientLogo', clientImage, clientImage?.name);\r\n }\r\n }\r\n if(coverImage)\r\n { \r\n if(typeof coverImage === 'string')\r\n {\r\n formData.append('CoverPhoto', coverImage);\r\n } \r\n else\r\n {\r\n formData.append('CoverPhoto', coverImage, coverImage?.name);\r\n }\r\n }\r\n await this.auctionService.uploadCoverLogoImages(formData).toPromise();\r\n }\r\n\r\n // upload slider images\r\n if (this.resultantSliderImages && numOfSliderImages) {\r\n let failedImages = [];\r\n this.sliderErrorLogs = [];\r\n for (let processNum = 1; processNum <= numOfSliderImages; ) {\r\n let image: ImageFile = this.resultantSliderImages[processNum - 1];\r\n try {\r\n await this.auctionImageUploader\r\n .uploadImage(\r\n this.auctionId,\r\n image.id,\r\n image.name,\r\n image.order,\r\n this.sliderImageAsset\r\n )\r\n .toPromise();\r\n } catch (err) {\r\n processNum++;\r\n let fileName =\r\n typeof image.name === 'string' ? image.name : image.name.name;\r\n this.sliderErrorLogs.push(`issue for image ${fileName} : ${err}`);\r\n failedImages.push(err);\r\n continue;\r\n }\r\n processNum++;\r\n }\r\n if (failedImages && failedImages.length > 0) {\r\n this.toastr.error(\r\n 'Error(s) occured while uploading images, please see logs',\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loader.showLoader(false);\r\n return;}\r\n }\r\n\r\n // upload gallery images\r\n if (this.resultantGalleryImages && numOfGalleryImages) {\r\n let failedImages = [];\r\n this.galleryErrorLogs = [];\r\n for (let processNum = 1; processNum <= numOfGalleryImages; ) {\r\n let image: ImageFile = this.resultantGalleryImages[processNum - 1];\r\n try {\r\n await this.auctionImageUploader\r\n .uploadImage(\r\n this.auctionId,\r\n image.id,\r\n image.name,\r\n image.order,\r\n this.photoGalleryAsset\r\n )\r\n .toPromise();\r\n } catch (err) {\r\n processNum++;\r\n let fileName =\r\n typeof image.name === 'string' ? image.name : image.name.name;\r\n this.galleryErrorLogs.push(`issue for image ${fileName} : ${err}`);\r\n failedImages.push(err);\r\n continue;\r\n }\r\n processNum++;\r\n }\r\n if (failedImages && failedImages.length > 0) {\r\n let msg = failedImages.join('\\n');\r\n this.toastr.error(\r\n 'Error(s) occured while uploading images, please see logs',\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loader.showLoader(false);\r\n return;}\r\n }\r\n\r\n this.formDone();\r\n }\r\n\r\n private formDone() {\r\n this.sliderImages = [];\r\n this.galleryImages = [];\r\n this.clientLogoString = null;\r\n this.coverPhotoString = null;\r\n this.loader.showLoader(false);\r\n this.toastr.success(\r\n this.editMode ? messages.addAuction2.updated : messages.addAuction2.saved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.goToStep(3);\r\n }\r\n syncSliderImages() {\r\n this.loader.showLoader(true);\r\n const simages = this.auctionService.syncSliderImages(this.auctionId).subscribe(\r\n (res: any) => {\r\n if (res) {\r\n this.toastr.success(\r\n 'Slider Images Upload Successfully.',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n } else {\r\n this.toastr.error(\r\n 'No image added from the server',\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n this.loader.showLoader(false);\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loader.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(simages);\r\n }\r\n\r\n syncGalleryImages() {\r\n this.loader.showLoader(true);\r\n const gimages = this.auctionService.syncGalleryImages(this.auctionId).subscribe(\r\n (res: any) => {\r\n if (res) {\r\n this.toastr.success(\r\n 'Gallery Images Upload Successfully.',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n } else {\r\n this.toastr.error(\r\n 'No image added from the server',\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n this.loader.showLoader(false);\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loader.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(gimages);\r\n }\r\n\r\n closeModal() {\r\n if (this.modalRef) this.modalRef.hide();\r\n }\r\n\r\n openSyncSliderModal(template: TemplateRef<any>) {\r\n if (this.resultantSliderImages.length) {\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template, modalOptions);\r\n } else {\r\n this.syncSliderImages();\r\n }\r\n }\r\n\r\n openSyncGalleryModal(template: TemplateRef<any>) {\r\n if (this.resultantGalleryImages.length) {\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template, modalOptions);\r\n } else {\r\n this.syncGalleryImages();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<form [formGroup]=\"createAuctionForm2\" *ngIf=\"showView\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"upload-with-name\">\r\n <div class=\"custom-file-upload\">\r\n <span class=\"upload-inner\">\r\n <div *ngIf=\"coverPhotoString != null; else showPlaceholder\">\r\n <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"coverPhotoString\" />\r\n </div>\r\n <ng-template #showPlaceholder>\r\n <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" title=\"thumb-image\"\r\n alt=\"thumb-image\" />\r\n </ng-template>\r\n <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n (click)=\"cover.click()\" />\r\n </span>\r\n <input type=\"file\" style=\"display: none\" [accept]=\"coverPhotoFormat\" #cover\r\n (change)=\"uploadCoverPhoto($event.target.files)\" />\r\n </div>\r\n <div class=\"for-info\">\r\n <p class=\"name\">Cover Photo</p>\r\n <p class=\"upload-note m-0\">\r\n Recommended Size : <br class=\"d-sm-none\" />\r\n 1024 * 720 px <br />\r\n <br class=\"d-sm-none\" />\r\n File size should not exceed {{ +coverPhotoSize / (1024 * 1024) }} MB\r\n </p>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"createAuctionForm2.controls.coverPhoto\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"upload-with-name\">\r\n <div class=\"custom-file-upload\">\r\n <span class=\"upload-inner\">\r\n <div class=\"upload-container\" *ngIf=\"clientLogoString != null; else showPlaceholder\">\r\n <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"clientLogoString\" />\r\n </div>\r\n <ng-template #showPlaceholder>\r\n <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" alt=\"thumb-image\"\r\n title=\"thumb-image\" />\r\n </ng-template>\r\n <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n (click)=\"logo.click()\" />\r\n </span>\r\n <input type=\"file\" style=\"display: none\" [accept]=\"clientLogoFormat\" #logo\r\n (change)=\"uploadClientLogo($event.target.files)\" />\r\n </div>\r\n <div class=\"for-info\">\r\n <p class=\"name\">Client Logo</p>\r\n <p class=\"upload-note m-0\">\r\n Recommended Size : <br class=\"d-sm-none\" />\r\n 240 * 240 px <br />\r\n <br class=\"d-sm-none\" />\r\n File size should not exceed {{ +clientLogoSize / (1024 * 1024) }} MB\r\n </p>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"createAuctionForm2.controls.clientLogo\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600\">\r\n <h5 class=\"small-label mt-4\">Slider Images</h5>\r\n <p class=\"upload-note m-0 pb-2\">\r\n Note : All slider images will appear in image gallery by default for\r\n front end user.\r\n </p>\r\n <p class=\"upload-note m-0 pb-2\">\r\n image should be greater than 256 Pixel X 256 pixel\r\n </p>\r\n <image-uploader [auctionId]=\"auctionId\" [imageSize]=\"+sliderImageSize\" [imageFormat]=\"sliderImageFormat\"\r\n [uploadedImages]=\"addEditDeleteSliderImages\" [assetType]=\"sliderImageAsset\" [assetName]=\"'Slider Images'\"\r\n [resetImagesNeeded]=\"true\" [orderChangeNeeded]=\"true\" (resultantImages)=\"resultantSliderImages = $event\"\r\n [errorLogs]=\"sliderErrorLogs\"></image-uploader>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600 text-center\">\r\n <p class=\"or-text\">Or</p>\r\n </div>\r\n <div class=\"max-width-600 text-center\">\r\n <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"openSyncSliderModal(syncPopup)\">\r\n Sync Images\r\n </button>\r\n </div>\r\n <p class=\"upload-note m-0 pb-2\">\r\n Note : Click \"Sync Images\" button to sync images placed on server.\r\n </p>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600\">\r\n <p class=\"small-label mt-4\">Photo Gallery</p>\r\n <p class=\"upload-note m-0 pb-2\">\r\n image should be greater than 256 Pixel X 256 pixel\r\n </p>\r\n <image-uploader [auctionId]=\"auctionId\" [imageSize]=\"+photoGallerySize\" [imageFormat]=\"photoGalleryFormat\"\r\n [assetName]=\"'Photo Gallery'\" [assetType]=\"photoGalleryAsset\" [uploadedImages]=\"addEditDeletePhotoGallery\"\r\n [resetImagesNeeded]=\"true\" [orderChangeNeeded]=\"true\" (resultantImages)=\"resultantGalleryImages = $event\"\r\n [errorLogs]=\"galleryErrorLogs\"></image-uploader>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600 text-center\">\r\n <p class=\"or-text\">Or</p>\r\n </div>\r\n <div class=\"max-width-600 text-center\">\r\n <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"openSyncGalleryModal(syncGalleryPopup)\">\r\n Sync Images\r\n </button>\r\n </div>\r\n <p class=\"upload-note m-0 pb-2\">\r\n Note : Click \"Sync Images\" button to sync images placed on server.\r\n </p>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <p class=\"error-msg my-2\" *ngIf=\"createAuctionForm2.invalid && submitted\">\r\n Please resolve error(s) first\r\n </p>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"steps-btn-wrap pt-0 pt-md-4 mt-2\">\r\n <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n <a class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"goToStep()\">Back</a>\r\n <button type=\"submit\" class=\"btn btn-colored full-mob\" role=\"button\" (click)=\"save()\">\r\n Save & Continue\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n\r\n\r\n\r\n\r\n<ng-template #syncPopup>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"delete-data\">\r\n <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n <h1 class=\"modal-inner-hdg mt-3\">\r\n Confirm\r\n </h1>\r\n <p class=\"des\">\r\n Sync Images will overwrite the uploaded images. Are you sure you want to proceed?\r\n </p>\r\n <div class=\"delete-btns\">\r\n <button type=\"button\" class=\"btn btn-text mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-colored pad-22\" role=\"button\" (click)=\"\r\n syncSliderImages()\r\n \">\r\n Yes\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #syncGalleryPopup>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"delete-data\">\r\n <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n <h1 class=\"modal-inner-hdg mt-3\">\r\n Confirm\r\n </h1>\r\n <p class=\"des\">\r\n Sync Images will overwrite the uploaded images. Are you sure you want to proceed?\r\n </p>\r\n <div class=\"delete-btns\">\r\n <button type=\"button\" class=\"btn btn-text mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-colored pad-22\" role=\"button\" (click)=\"\r\n syncGalleryImages()\r\n \">\r\n Yes\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuctionsListComponent } from './auctions-list/auctions-list.component';\r\nimport { AuctionLotCatalogComponent } from './auction-lot-catalog/auction-lot-catalog.component';\r\nimport { AuctionRegisterationComponent } from './auction-registeration/auction-registeration.component';\r\nimport { AuctionRegisterationSuccessComponent } from './auction-registeration-success/auction-registeration-success.component';\r\nimport { CoreModule } from '../../../core/core.module';\r\nimport { CommonSharedModule } from '../../../shared/shared.module';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\r\nimport { AuctionRoutingModule } from './auction-routing.module';\r\nimport { PublicSharedModule } from '../../shared/shared.module';\r\nimport { EnquiryNowComponent } from './enquiry-now/enquiry-now.component';\r\nimport { ViewLotComponent } from './view-lot/view-lot.component';\r\nimport { RecaptchaFormsModule, RecaptchaModule } from 'ng-recaptcha';\r\nimport { CountdownModule } from 'ngx-countdown';\r\nimport { AuctionStatusResolver } from './auction-status-resolver.service';\r\nimport { AuctionLotCardComponent } from './auction-lot-card/auction-lot-card.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AuctionsListComponent,\r\n AuctionLotCatalogComponent,\r\n AuctionLotCardComponent,\r\n AuctionRegisterationComponent,\r\n AuctionRegisterationSuccessComponent,\r\n EnquiryNowComponent,\r\n ViewLotComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n CommonSharedModule,\r\n SlickCarouselModule,\r\n AuctionRoutingModule,\r\n PublicSharedModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n CountdownModule,\r\n ],\r\n providers: [AuctionStatusResolver],\r\n})\r\nexport class AuctionModule {}\r\n","import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport {\r\n FormArray,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n AbstractControl,\r\n} from '@angular/forms';\r\nimport {\r\n AuctionService,\r\n EmailTemplateService,\r\n LoaderService,\r\n} from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { CommonDropdown } from '../../../models';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport messages from '../../../utility/messages';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-add-auction-step3',\r\n templateUrl: './add-auction-step3.component.html',\r\n styleUrls: ['./add-auction-step3.component.css'],\r\n})\r\nexport class AddAuctionStep3Component implements OnInit {\r\n @Input('isEditMode') editMode: boolean;\r\n @Input('auctionId') auctionId: number;\r\n @Input('auctionStatus') auctionStatus: number;\r\n @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n\r\n modalRef: BsModalRef;\r\n loading: boolean = false;\r\n fileProccessed: number;\r\n checkLoader: boolean;\r\n // null because we do not want any thing on loader\r\n checkLoader$ = new BehaviorSubject<any>(null);\r\n step3Form: FormGroup;\r\n fieldMaxLengthShorter = constants.common.validations.maxLength25;\r\n fieldMaxLength = constants.common.validations.maxLength50;\r\n fieldMaxLengthMedium = constants.common.validations.maxLength100;\r\n fieldMaxLength1000 = constants.common.validations.maxLength1000;\r\n fieldMaxLengthLong = constants.common.validations.maxLength500;\r\n premiumMaxLength = constants.common.validations.maxLength1500;\r\n fieldMaxLengthLonger = constants.common.validations.maxLength2500;\r\n keywordLength: number = constants.common.validations.maxLength100;\r\n fieldMaxLengthTenThousand = constants.common.validations.maxLength10000;\r\n isRegUrlAllowed: boolean;\r\n isCatalogUrlAllowed: boolean;\r\n // keyword chips setting\r\n visible = true;\r\n selectable = true;\r\n removable = true;\r\n addOnBlur = true;\r\n readonly separatorKeysCodes: number[] = [ENTER, COMMA, SPACE];\r\n keywords: Array<string> = [];\r\n // upcoming auction list dropdown\r\n upcomingAuctionList: Array<CommonDropdown>;\r\n // template list dropdown\r\n prePostTemplateList: Array<CommonDropdown>;\r\n showForm: boolean = false;\r\n showView: boolean = false;\r\n // for ckeditor binding strings\r\n featuredItemsText: string = null;\r\n gBpText: string = null;\r\n ccBpText: string = null;\r\n\r\n // for bind the button name from buttons popup\r\n currentButtonControl: any;\r\n // aaray for tracking the new and old added or deleted custom buttons\r\n addDeleteButtonFile: Array<any> = [];\r\n // documents settings\r\n documentString: string;\r\n payDocumentString: string;\r\n\r\n documentFormat = constants.admin.uploadSetting.documentType;\r\n documentSize = constants.admin.uploadSetting.documentMaxSize;\r\n customButtonString: string;\r\n customButtons: Array<string>; // for popup\r\n // partner logo settings\r\n partnerLogoArray: File[] = [];\r\n logoFormat = constants.admin.uploadSetting.partnerLogoType;\r\n logoSize = constants.admin.uploadSetting.partnerLogoMaxSize;\r\n validComboDrag: any;\r\n lastInvalids: any;\r\n fileDropDisabled: any;\r\n baseDropValid: any;\r\n addEditPartnerLogo: Array<{ id: number; name: File | string }>;\r\n // current button control, need to bind with button's doc uploading process\r\n currentButtonFileUpload: any;\r\n showFeaturedItemsHeader: boolean = true;\r\n // to check characters limit\r\n isEditorCharLimitReached: boolean;\r\n\r\n submitted: boolean = false;\r\n\r\n showBPasEditor: boolean;\r\n\r\n isShowEmailTemplates: boolean = true;\r\n\r\n paymentInstructionEditorString: string = null;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private modalService: BsModalService,\r\n private auctionService: AuctionService,\r\n private toastr: ToastrService,\r\n private templateService: EmailTemplateService,\r\n private router: Router,\r\n private loaderService: LoaderService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.fileProccessed = 0;\r\n this.initializeForm();\r\n this.getAuctionSpecificSaletype(this.auctionId);\r\n this.getUpcomingAuction();\r\n this.getPrePostTemplate();\r\n this.getPaymentInstText();\r\n this.getButtons();\r\n this.bindData();\r\n\r\n const loader = this.checkLoader$.subscribe((res: any) => {\r\n // false means no images left for processing\r\n if (res == false) {\r\n this.addAuctionStep3();\r\n }\r\n });\r\n this.subscriptions.push(loader);\r\n }\r\n\r\n initializeForm() {\r\n this.step3Form = new FormGroup({\r\n auctionId: new FormControl(this.auctionId),\r\n registrationLinkUrl: new FormControl(null),\r\n catalogLinkUrl: new FormControl(null),\r\n pageTitle: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLengthMedium),\r\n ]),\r\n metaDescription: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLengthLong),\r\n ]),\r\n keywords: new FormControl(null),\r\n relatedAuctionIds: new FormControl(null),\r\n preApprovalRegistrationEmailTemplateId: new FormControl(4, [\r\n Validators.required,\r\n ]),\r\n postApprovalRegistrationEmailTemplateId: new FormControl(4, [\r\n Validators.required,\r\n ]),\r\n emailNotes: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLength1000),\r\n ]),\r\n generalBuyerPremium: new FormControl(\r\n constants.admin.initialValues.generalBuyersPremium,\r\n [Validators.required, AppValidators.noWhitespace]\r\n ),\r\n creditCardBuyerPremium: new FormControl(\r\n constants.admin.initialValues.creditCardBuyersPremium,\r\n [AppValidators.noWhitespace]\r\n ),\r\n gBP: new FormControl(constants.admin.initialValues.generalBuyersPremium, [\r\n Validators.required,\r\n Validators.min(0),\r\n Validators.max(100),\r\n AppValidators.onlyNumeric,\r\n ]),\r\n ccBP: new FormControl(\r\n constants.admin.initialValues.creditCardBuyersPremium,\r\n [Validators.min(0), Validators.max(100), AppValidators.onlyNumeric]\r\n ),\r\n featuredItemHeader: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLength),\r\n ]),\r\n featuredItems: new FormControl(null),\r\n paymentInstructions: new FormControl(null, [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n ]),\r\n documents: new FormArray([]),\r\n buttons: new FormArray([]),\r\n paymentDocuments: new FormArray([]),\r\n });\r\n }\r\n\r\n initializeButtonDoc() {\r\n let buttonLength = this.step3Form.value.buttons.length;\r\n let docLength = this.step3Form.value.documents.length;\r\n let payDocLength = this.step3Form.value.paymentDocuments.length;\r\n if (docLength <= 0) {\r\n this.documentString = messages.addAuction3.addDocument;\r\n } else {\r\n this.documentString = messages.addAuction3.addAnotherDocument;\r\n }\r\n if (payDocLength <= 0) {\r\n this.payDocumentString = messages.addAuction3.addDocument;\r\n } else {\r\n this.payDocumentString = messages.addAuction3.addAnotherDocument;\r\n }\r\n if (buttonLength <= 0) {\r\n this.customButtonString = messages.addAuction3.addNewButton;\r\n } else {\r\n this.customButtonString = messages.addAuction3.addAnotherButton;\r\n }\r\n }\r\n\r\n getAuctionSpecificSaletype(auctionId: number) {\r\n const saletypes = this.auctionService.getAuctionSaleType(auctionId).subscribe(\r\n (res) => {\r\n this.showView = true;\r\n this.checkRegUrlIsRequired(res.registrationFormat);\r\n this.checkCatalogUrlIsRequired(res.isCatalogUploadAllowed);\r\n this.isShowEmailTemplates =\r\n res.registrationFormat !=\r\n constants.common.saletypeRegistrationFormat.thirdPartyRegistration;\r\n },\r\n (err) => {\r\n this.showView = true;\r\n }\r\n );\r\n this.subscriptions.push(saletypes);\r\n }\r\n\r\n checkRegUrlIsRequired(registrationFormat: number) {\r\n if (\r\n registrationFormat ==\r\n constants.common.saletypeRegistrationFormat.thirdPartyRegistration\r\n ) {\r\n this.isRegUrlAllowed = true;\r\n let control = this.step3Form.controls.registrationLinkUrl;\r\n control.setValidators([\r\n AppValidators.noWhitespace,\r\n AppValidators.checkWebAddress,\r\n ]);\r\n control.updateValueAndValidity();\r\n } else {\r\n this.isRegUrlAllowed = false;\r\n }\r\n }\r\n\r\n checkCatalogUrlIsRequired(catalogUploadAllowed: boolean) {\r\n if (!catalogUploadAllowed) {\r\n this.isCatalogUrlAllowed = true;\r\n let control = this.step3Form.controls.catalogLinkUrl;\r\n control.setValidators([\r\n AppValidators.noWhitespace,\r\n AppValidators.checkWebAddress,\r\n ]);\r\n control.updateValueAndValidity();\r\n } else {\r\n this.isCatalogUrlAllowed = false;\r\n }\r\n }\r\n\r\n addKeyword(event: MatChipInputEvent) {\r\n const input = event.input;\r\n const value = event.value;\r\n if ((value || '').trim()) {\r\n let keyword = value.trim();\r\n this.keywords.push(keyword);\r\n this.checkKeyWordLength();\r\n }\r\n if (input) {\r\n input.value = '';\r\n }\r\n }\r\n removeKeyword(key: string): void {\r\n const index = this.keywords.indexOf(key);\r\n if (index >= 0) {\r\n this.keywords.splice(index, 1);\r\n this.checkKeyWordLength();\r\n }\r\n }\r\n changeToKeywords(commaSepString: string): Array<string> {\r\n let keywordArray = commaSepString.split(',');\r\n keywordArray.forEach((i) => this.keywords.push(i));\r\n return keywordArray;\r\n }\r\n checkKeyWordLength() {\r\n if (this.keywords.length > this.keywordLength) {\r\n this.step3Form.controls.keywords.setErrors({\r\n invalidKeywordLength: {\r\n requiredLength: this.keywordLength,\r\n },\r\n });\r\n } else {\r\n this.step3Form.controls.keywords.setErrors(null);\r\n }\r\n this.step3Form.controls.keywords.markAsTouched();\r\n }\r\n\r\n getUpcomingAuction() {\r\n const uauctions = this.auctionService.getUpcomingAuctions(this.auctionId).subscribe((res) => {\r\n this.upcomingAuctionList = res;\r\n });\r\n this.subscriptions.push(uauctions);\r\n }\r\n getPrePostTemplate() {\r\n const templates = this.templateService.getEmailTemplateDropdown().subscribe((res) => {\r\n this.prePostTemplateList = res;\r\n });\r\n this.subscriptions.push(templates);\r\n }\r\n getPaymentInstText() {\r\n const pinstructions = this.auctionService.getPaymentInstruction().subscribe((res) => {\r\n if (!this.paymentInstructionEditorString) {\r\n this.paymentInstructionEditorString = res;\r\n this.step3Form.patchValue({\r\n paymentInstructions: res,\r\n });\r\n }\r\n });\r\n this.subscriptions.push(pinstructions);\r\n }\r\n getButtons() {\r\n const cbtns = this.auctionService\r\n .getCustomButtons()\r\n .subscribe((res) => (this.customButtons = res));\r\n this.subscriptions.push(cbtns);\r\n }\r\n\r\n editorContent(\r\n event: { data: string; limitReached: boolean },\r\n control: AbstractControl,\r\n isControlRequired = false\r\n ) {\r\n control.patchValue(event.data == null ? '' : event.data);\r\n control.markAsDirty();\r\n if (isControlRequired && (event.data === null || event.data === ''))\r\n control.setErrors({ required: true });\r\n else if (event.limitReached) control.setErrors({ invalid: true });\r\n else control.setErrors(null);\r\n }\r\n\r\n documents(paymentDoc: boolean = false): FormArray {\r\n if (paymentDoc) return this.step3Form.get('paymentDocuments') as FormArray;\r\n return this.step3Form.get('documents') as FormArray;\r\n }\r\n newDocument(paymentDoc: boolean = false): FormGroup {\r\n let assetType;\r\n paymentDoc\r\n ? (assetType = new FormControl(constants.admin.assetType.paymentDocument))\r\n : (assetType = new FormControl(constants.admin.assetType.document));\r\n\r\n return new FormGroup({\r\n auctionId: new FormControl(this.auctionId),\r\n assetType: assetType,\r\n fileId: new FormControl(0),\r\n fileTitle: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthShorter),\r\n ]),\r\n file: new FormControl(null, [\r\n Validators.required,\r\n ImageValidators.sizeCheck(this.documentSize),\r\n ImageValidators.pdfFormat(this.documentFormat),\r\n ]),\r\n });\r\n }\r\n addDocument(paymentDoc: boolean = false) {\r\n this.documents(paymentDoc).push(this.newDocument(paymentDoc));\r\n this.initializeButtonDoc();\r\n }\r\n attachDocument(doc: FormGroup, docFile: File) {\r\n let fileControl = doc.controls.file;\r\n doc.patchValue({\r\n file: docFile,\r\n });\r\n fileControl.markAsTouched();\r\n fileControl.updateValueAndValidity();\r\n }\r\n deleteDocument(index: number, doc?: FormGroup, paymentDoc: boolean = false) {\r\n if (doc.value.fileId > 0) {\r\n this.uploadSingleDocument(doc.value, doc.value.assetType, true);\r\n }\r\n this.documents(paymentDoc).removeAt(index);\r\n }\r\n eachDocumentControl(doc) {\r\n return doc.controls;\r\n }\r\n eachDocumentFileNameisString(doc) {\r\n let control: any = this.eachDocumentControl(doc).file.value;\r\n if (typeof control == 'string') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n removeLogo(index: number) {\r\n this.partnerLogoArray.splice(index, 1);\r\n }\r\n removeOldImage(item) {\r\n this.uploadSingleDocument(\r\n {\r\n fileId: item.id,\r\n file: null,\r\n },\r\n constants.admin.assetType.partnerLogo,\r\n true\r\n );\r\n }\r\n\r\n buttons(): FormArray {\r\n return this.step3Form.get('buttons') as FormArray;\r\n }\r\n newButton(): FormGroup {\r\n return new FormGroup({\r\n id: new FormControl(0),\r\n label: new FormControl(null, [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLength),\r\n ]),\r\n isUrl: new FormControl(true),\r\n url: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n AppValidators.checkWebAddress,\r\n ]),\r\n auctionFileName: new FormControl(null, [\r\n ImageValidators.sizeCheck(this.documentSize),\r\n ImageValidators.pdfFormat(this.documentFormat),\r\n ]),\r\n buttonName: new FormControl(null, [Validators.required]),\r\n isDeleted: new FormControl(false),\r\n });\r\n }\r\n addButton() {\r\n this.buttons().push(this.newButton());\r\n this.initializeButtonDoc();\r\n }\r\n attachButtonFile(btn: FormGroup, btnFile: File) {\r\n let btnFileControl = btn.controls.auctionFileName;\r\n this.currentButtonFileUpload = btn;\r\n btn.patchValue({\r\n auctionFileName: btnFile,\r\n });\r\n btnFileControl.markAsTouched();\r\n btnFileControl.updateValueAndValidity();\r\n if (btnFileControl.valid) {\r\n this.loaderService.showLoader(true);\r\n this.uploadSingleDocument(\r\n {\r\n fileId: 0,\r\n file: btnFileControl.value,\r\n fileTitle: btn.controls.label.value,\r\n },\r\n constants.admin.assetType.customButtonDocument\r\n );\r\n }\r\n }\r\n deleteButton(index: number, btn?: FormGroup) {\r\n if (btn.value.id > 0) {\r\n this.addDeleteButtonArray(btn);\r\n }\r\n this.buttons().removeAt(index);\r\n }\r\n eachButtonControl(btn) {\r\n return btn.controls;\r\n }\r\n addDeleteButtonArray(btn: FormGroup) {\r\n let btnData = btn.value;\r\n btnData.isDeleted = true;\r\n this.addDeleteButtonFile.push(btnData);\r\n }\r\n setButtonName(form) {\r\n this.currentButtonControl.patchValue({\r\n buttonName: form.value.customButton,\r\n });\r\n this.closeModal();\r\n }\r\n eachButtonFileNameisString(btn) {\r\n let control: any = this.eachButtonControl(btn).auctionFileName.value;\r\n if (typeof control == 'string') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n changeButtonType(control) {\r\n let checkIsUrl = control.isUrl.value;\r\n let urlControl = control.url;\r\n let fileControl = control.auctionFileName;\r\n\r\n if (checkIsUrl) {\r\n urlControl.setValidators([\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.checkWebAddress,\r\n ]);\r\n fileControl.clearValidators();\r\n } else {\r\n fileControl.setValidators([\r\n Validators.required,\r\n ImageValidators.sizeCheck(this.documentSize),\r\n ImageValidators.pdfFormat(this.documentFormat),\r\n ]);\r\n urlControl.clearValidators();\r\n }\r\n fileControl.updateValueAndValidity();\r\n urlControl.updateValueAndValidity();\r\n }\r\n\r\n uploadDocumentOnServer() {\r\n let obj = this.documents().controls;\r\n for (let index = 0; index < obj.length; index++) {\r\n let docObj = obj[index];\r\n if (docObj.valid && typeof docObj.value.file != 'string')\r\n this.uploadSingleDocument(docObj.value, docObj.value.assetType);\r\n }\r\n }\r\n\r\n uploadPaymentDocumentOnServer() {\r\n let obj = this.documents(true).controls;\r\n for (let index = 0; index < obj.length; index++) {\r\n let docObj = obj[index];\r\n if (docObj.valid && typeof docObj.value.file != 'string')\r\n this.uploadSingleDocument(docObj.value, docObj.value.assetType);\r\n }\r\n }\r\n\r\n uploadPartnerLogoOnServer() {\r\n let formats = this.logoFormat.split(',');\r\n let obj =\r\n this.partnerLogoArray && this.partnerLogoArray?.length\r\n ? this.partnerLogoArray.filter((it) =>\r\n formats.includes(\r\n it.name.split('.')[it.name.split('.').length - 1].toLowerCase()\r\n )\r\n )\r\n : [];\r\n this.partnerLogoArray = obj;\r\n for (let index = 0; index < obj.length; index++) {\r\n let docObj = obj[index];\r\n this.uploadSingleDocument(\r\n { fileId: 0, file: docObj },\r\n constants.admin.assetType.partnerLogo\r\n );\r\n }\r\n }\r\n\r\n //////////////////////// constructing form for save\r\n constructForm() {\r\n let formData = this.step3Form.getRawValue();\r\n\r\n let changeButtonResponse = formData.buttons.map((obj) => {\r\n let button = null;\r\n if (obj.buttonName != '' || obj.buttonName != null) {\r\n button =\r\n obj.buttonName.split('/')[obj.buttonName.split('/').length - 1];\r\n }\r\n return {\r\n id: obj.id,\r\n label: obj.label,\r\n isUrl: obj.isUrl,\r\n url: obj.url,\r\n auctionFileName: obj.auctionFileName,\r\n buttonName: button,\r\n isDeleted: obj.isDeleted,\r\n };\r\n });\r\n let changeButton = changeButtonResponse.concat(this.addDeleteButtonFile);\r\n return {\r\n auctionId: this.auctionId,\r\n generalBuyerPremium: !this.showBPasEditor\r\n ? '' + formData.gBP\r\n : '' + formData.generalBuyerPremium,\r\n creditCardBuyerPremium: !this.showBPasEditor\r\n ? '' + formData.ccBP\r\n : '' + formData.creditCardBuyerPremium,\r\n catalogLinkUrl: formData.catalogLinkUrl,\r\n emailNotes: formData.emailNotes,\r\n featuredItemHeader: formData.featuredItemHeader,\r\n featuredItems: formData.featuredItems,\r\n keywords: this.keywords.length > 0 ? this.keywords.join(',') : null,\r\n metaDescription: formData.metaDescription,\r\n pageTitle: formData.pageTitle,\r\n paymentInstructions: formData.paymentInstructions,\r\n postApprovalRegistrationEmailTemplateId:\r\n formData.postApprovalRegistrationEmailTemplateId,\r\n preApprovalRegistrationEmailTemplateId:\r\n formData.preApprovalRegistrationEmailTemplateId,\r\n registrationLinkUrl: formData.registrationLinkUrl,\r\n relatedAuctionIds:\r\n formData.relatedAuctionIds != null\r\n ? formData.relatedAuctionIds.join(',')\r\n : null,\r\n buttons: changeButton,\r\n };\r\n }\r\n\r\n /////////////////////// final submission\r\n onSaveAndContinue() {\r\n this.submitted = true;\r\n if (this.step3Form.invalid) {\r\n return;\r\n }\r\n\r\n this.checkFileProcesses();\r\n\r\n this.uploadPartnerLogoOnServer();\r\n this.uploadDocumentOnServer();\r\n this.uploadPaymentDocumentOnServer();\r\n }\r\n\r\n addAuctionStep3() {\r\n this.loading = true;\r\n this.loaderService.showLoader(true);\r\n let model = this.constructForm();\r\n const step3 = this.auctionService.addAuctionStep3(model).subscribe(\r\n (res) => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n this.toastr.success(\r\n this.editMode\r\n ? messages.addAuction3.updated\r\n : messages.addAuction3.saved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.goToStep(4);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(step3);\r\n }\r\n\r\n checkFileProcesses() {\r\n let allDocuments = this.step3Form.value.documents as [];\r\n let uploadingDocs = allDocuments.filter(\r\n (obj: any) => typeof obj.file != 'string'\r\n );\r\n\r\n let allPaymentDocuments = this.step3Form.value.paymentDocuments as [];\r\n let uploadingPaymentDocs = allPaymentDocuments.filter(\r\n (obj: any) => typeof obj.file != 'string'\r\n );\r\n\r\n let allPartnerLogos = this.partnerLogoArray;\r\n let totalFiles =\r\n uploadingDocs.length +\r\n allPartnerLogos.length +\r\n uploadingPaymentDocs.length;\r\n\r\n if (totalFiles == 0) {\r\n this.addAuctionStep3();\r\n return false;\r\n }\r\n\r\n if (totalFiles > this.fileProccessed) {\r\n this.loaderService.showLoader(true);\r\n return true;\r\n }\r\n\r\n this.loaderService.showLoader(false);\r\n return false;\r\n }\r\n\r\n uploadSingleDocument(\r\n fileObj: any,\r\n assetType: number,\r\n isDelete: boolean = false\r\n ): Observable<string> {\r\n let returnedUrl: Observable<string>;\r\n let fileFormData = new FormData();\r\n fileFormData.append('AuctionId', '' + this.auctionId);\r\n fileFormData.append('AssetType', '' + assetType);\r\n fileFormData.append('FileId', '' + fileObj.fileId);\r\n if(fileObj.file === null){\r\n fileFormData.append('File', fileObj.file)\r\n }else{\r\n (typeof fileObj.file === 'string') ?\r\n fileFormData.append('File', fileObj.file) :\r\n fileFormData.append('File', fileObj.file,fileObj.file?.name);\r\n }\r\n fileFormData.append('FileTitle', fileObj.fileTitle);\r\n\r\n const imgrm = this.auctionService.imageAddRemove(fileFormData).subscribe(\r\n (response) => {\r\n if (\r\n !isDelete &&\r\n assetType != constants.admin.assetType.customButtonDocument\r\n ) {\r\n this.fileProccessed++;\r\n this.checkLoader = this.checkFileProcesses();\r\n this.checkLoader$.next(this.checkFileProcesses());\r\n }\r\n if (isDelete) {\r\n this.toastr.success(\r\n messages.addAuction3.fileRemoved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (assetType == constants.admin.assetType.customButtonDocument) {\r\n this.loaderService.showLoader(false);\r\n this.currentButtonFileUpload.patchValue({\r\n auctionFileName: response,\r\n });\r\n this.currentButtonFileUpload.markAsTouched();\r\n this.currentButtonFileUpload.updateValueAndValidity();\r\n\r\n this.toastr.success(\r\n messages.addAuction3.fileUpload,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (assetType == constants.admin.assetType.partnerLogo) {\r\n this.addEditPartnerLogo = response.partnerLogos;\r\n }\r\n },\r\n (err) => {\r\n if (!isDelete) {\r\n this.fileProccessed++;\r\n this.checkLoader$.next(this.checkFileProcesses());\r\n this.checkLoader = this.checkFileProcesses();\r\n }\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(imgrm);\r\n\r\n return returnedUrl;\r\n }\r\n\r\n ////////////////////////////// Bind data\r\n bindData() {\r\n this.loaderService.showLoader(true);\r\n const aucstep3 = this.auctionService.getAuctionStep3(this.auctionId).subscribe(\r\n (res: any) => {\r\n this.loaderService.showLoader(false);\r\n this.attachDataToForm(res);\r\n this.showForm = true;\r\n },\r\n () => {\r\n this.loaderService.showLoader(false);\r\n this.showForm = true;\r\n this.onCancel();\r\n }\r\n );\r\n this.subscriptions.push(aucstep3);\r\n }\r\n\r\n //////////////////////////// attach to form in edit mode\r\n attachDataToForm(data: any) {\r\n if (data.saleType) {\r\n this.showFeaturedItemsHeader =\r\n data.saleType.isEditFeatureItemHeaderAllowed;\r\n this.showBPasEditor = data.saleType.isPremiumEditorRequired;\r\n }\r\n\r\n this.step3Form.patchValue({\r\n auctionId: data.id,\r\n registrationLinkUrl: data.registrationLinkUrl,\r\n catalogLinkUrl: data.catalogLinkUrl,\r\n pageTitle: data.pageTitle,\r\n metaDescription: data.metaDescription,\r\n keywords:\r\n data.keywords != null ? this.changeToKeywords(data.keywords) : null,\r\n relatedAuctionIds:\r\n data.relatedAuctionIds != null\r\n ? data.relatedAuctionIds.split(',').map((obj) => parseInt(obj))\r\n : null,\r\n preApprovalRegistrationEmailTemplateId:\r\n data.preApprovalRegistrationEmailTemplateId,\r\n postApprovalRegistrationEmailTemplateId:\r\n data.postApprovalRegistrationEmailTemplateId,\r\n emailNotes: data.emailNotes,\r\n featuredItemHeader: data.featuredItemHeader,\r\n featuredItems: data.featuredItems,\r\n });\r\n\r\n this.featuredItemsText = data.featuredItems;\r\n this.paymentInstructionEditorString = data.paymentInstructions\r\n ? data.paymentInstructions\r\n : this.paymentInstructionEditorString;\r\n if (data.paymentInstructions != null)\r\n this.step3Form.patchValue({\r\n paymentInstructions: data.paymentInstructions,\r\n });\r\n\r\n if (data.generalBuyersPremium) {\r\n if (data.saleType.isPremiumEditorRequired) {\r\n this.gBpText = this.auctionId ? data.generalBuyersPremium : '';\r\n this.step3Form.patchValue({\r\n generalBuyerPremium: this.auctionId\r\n ? data.generalBuyersPremium\r\n : null,\r\n });\r\n } else {\r\n this.step3Form.patchValue({\r\n gBP: data.generalBuyersPremium,\r\n });\r\n }\r\n }\r\n\r\n if (data.creditCardBuyersPremium) {\r\n if (data.saleType.isPremiumEditorRequired) {\r\n this.ccBpText = this.auctionId ? data.creditCardBuyersPremium : '';\r\n this.step3Form.patchValue({\r\n creditCardBuyerPremium: this.auctionId\r\n ? data.creditCardBuyersPremium\r\n : null,\r\n });\r\n } else {\r\n this.step3Form.patchValue({\r\n ccBP: data.creditCardBuyersPremium,\r\n });\r\n }\r\n } else {\r\n this.step3Form.patchValue({\r\n ccBP: data.creditCardBuyersPremium ?? this.step3Form.value.ccBP,\r\n creditCardBuyerPremium: data.creditCardBuyersPremium ?? this.step3Form.value.ccBP,\r\n });\r\n }\r\n\r\n if (data?.documents?.length > 0) {\r\n data.documents.forEach((obj, i) => {\r\n var document: FormGroup = this.newDocument();\r\n this.documents().push(document);\r\n this.documents().controls[i].patchValue({\r\n fileId: obj.id,\r\n fileTitle: obj.title,\r\n file: obj.name,\r\n });\r\n });\r\n }\r\n\r\n if (data?.paymentDocuments?.length > 0) {\r\n data.paymentDocuments.forEach((obj, i) => {\r\n var document: FormGroup = this.newDocument(true);\r\n this.documents(true).push(document);\r\n this.documents(true).controls[i].patchValue({\r\n fileId: obj.id,\r\n fileTitle: obj.title,\r\n file: obj.name,\r\n });\r\n });\r\n }\r\n\r\n if (data.buttons.length > 0) {\r\n data.buttons.forEach((obj, i) => {\r\n var button: FormGroup = this.newButton();\r\n this.buttons().push(button);\r\n this.buttons().controls[i].patchValue({\r\n id: obj.id,\r\n label: obj.label,\r\n isUrl: obj.isUrl,\r\n url: obj.url,\r\n auctionFileName: obj.auctionFileName,\r\n buttonName: obj.buttonName,\r\n isDeleted: obj.isDeleted,\r\n });\r\n });\r\n }\r\n\r\n this.addEditPartnerLogo = data.partnerLogos;\r\n\r\n if (data.preApprovalRegistrationEmailTemplateId == null) {\r\n if (this.prePostTemplateList) {\r\n let preTemplateArray = this.prePostTemplateList.filter(\r\n (x) => x.value == 13\r\n );\r\n this.step3Form\r\n .get('preApprovalRegistrationEmailTemplateId')\r\n .patchValue(preTemplateArray[0].value);\r\n }\r\n }\r\n\r\n if (data.postApprovalRegistrationEmailTemplateId == null) {\r\n if (this.prePostTemplateList) {\r\n let postTemplateArray = this.prePostTemplateList.filter(\r\n (x) => x.value == 15\r\n );\r\n this.step3Form\r\n .get('postApprovalRegistrationEmailTemplateId')\r\n .patchValue(postTemplateArray[0].value);\r\n }\r\n }\r\n\r\n this.initializeButtonDoc();\r\n }\r\n\r\n //////////////////////////////////// popups\r\n openModalImageButtonSelect(template: TemplateRef<any>, currentButton) {\r\n this.currentButtonControl = currentButton;\r\n\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup select-image-modal modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n closeModal() {\r\n this.currentButtonControl = null;\r\n if (this.modalRef) this.modalRef.hide();\r\n }\r\n onCancel() {\r\n if (this.auctionStatus == 1) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.auctionStatus == 2) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.auctionStatus == 4) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n goToStep(step: number = 2) {\r\n this.step.emit(step);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n \r\n SyncPartnerLogoImages() {\r\n this.loaderService.showLoader(true);\r\n const plogo = this.auctionService.SyncPartnerLogoImages(this.auctionId).subscribe(\r\n () => {\r\n this.toastr.success(\r\n 'Partnet Logo Images Upload Successfully.',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.loaderService.showLoader(false);\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loaderService.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(plogo);\r\n }\r\n}\r\n","<form [formGroup]=\"step3Form\" *ngIf=\"showView\">\r\n <div class=\"step3-inner\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"isRegUrlAllowed\">\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Registration Link URL</mat-label>\r\n <input matInput type=\"text\" placeholder=\"Enter URL e.g. http://www.example.com\"\r\n formControlName=\"registrationLinkUrl\" />\r\n </mat-form-field>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.registrationLinkUrl\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\" *ngIf=\"isCatalogUrlAllowed\">\r\n <div class=\"form-group\">\r\n <div class=\"input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Catalog Link URL</mat-label>\r\n <input matInput type=\"text\" placeholder=\"Enter URL e.g. http://www.example.com\"\r\n formControlName=\"catalogLinkUrl\" />\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n matTooltip=\"The selected sale type uses Third Party Registration, please enter the link to register on the appropriate third party platform\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.catalogLinkUrl\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-textarea\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Page Title</mat-label>\r\n <textarea matInput formControlName=\"pageTitle\" placeholder=\"Enter Page Title\"\r\n [maxlength]=\"fieldMaxLengthMedium\">\r\n </textarea>\r\n </mat-form-field>\r\n </div>\r\n <char-counter [control]=\"step3Form.controls.pageTitle\" [maxlength]=\"fieldMaxLengthMedium\"></char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.pageTitle\"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-textarea\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Meta Description</mat-label>\r\n <textarea matInput formControlName=\"metaDescription\" placeholder=\"Add Description\"\r\n [maxlength]=\"fieldMaxLengthLong\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <char-counter [control]=\"step3Form.controls.metaDescription\" [maxlength]=\"fieldMaxLengthLong\"></char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.metaDescription\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group with-chips form-group-adj-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Keywords</mat-label>\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let key of keywords\" [selectable]=\"selectable\" [removable]=\"removable\"\r\n (removed)=\"removeKeyword(key)\">\r\n {{ key }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n <input type=\"text\" placeholder=\"Add Keywords\" [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" [matChipInputAddOnBlur]=\"addOnBlur\"\r\n (matChipInputTokenEnd)=\"addKeyword($event)\" />\r\n </mat-chip-list>\r\n </mat-form-field>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.keywords\"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group form-group-adj-label\">\r\n <div class=\"custom-select-option select-with-label input-with-tooltip select-with-checks\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Related Auctions (Select one or more)</mat-label>\r\n <mat-select formControlName=\"relatedAuctionIds\" multiple>\r\n <mat-option *ngFor=\"let auction of upcomingAuctionList\" [value]=\"auction.value\">{{ auction.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This is upcoming auctions\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.relatedAuctionIds\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\" *ngIf=\"isShowEmailTemplates\">\r\n <div class=\"form-group form-group-adj-label\">\r\n <div class=\"custom-select-option select-with-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Pre Approval Registration Email Template *</mat-label>\r\n <mat-select formControlName=\"preApprovalRegistrationEmailTemplateId\">\r\n <mat-option *ngFor=\"let temp of prePostTemplateList\" [value]=\"temp.value\">{{ temp.text }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"\r\n step3Form.controls.preApprovalRegistrationEmailTemplateId\r\n \"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\" *ngIf=\"isShowEmailTemplates\">\r\n <div class=\"form-group form-group-adj-label\">\r\n <div class=\"custom-select-option select-with-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Post Approval Registration Email Template *</mat-label>\r\n <mat-select formControlName=\"postApprovalRegistrationEmailTemplateId\">\r\n <mat-option *ngFor=\"let temp of prePostTemplateList\" [value]=\"temp.value\">{{ temp.text }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"\r\n step3Form.controls.postApprovalRegistrationEmailTemplateId\r\n \"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-textarea\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Email Notes</mat-label>\r\n <textarea matInput formControlName=\"emailNotes\" placeholder=\"Add Notes\"\r\n [maxlength]=\"fieldMaxLength1000\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <char-counter [control]=\"step3Form.controls.emailNotes\" [maxlength]=\"fieldMaxLength1000\"></char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.emailNotes\"></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3 class=\"form-two-hdg pt-3\">Removal Documents</h3>\r\n <p class=\"form-two-des mb-2\">\r\n These documents will be published on the sale detail page.\r\n </p>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"add-doc-outer\" formArrayName=\"documents\">\r\n <div class=\"add-doc\" *ngFor=\"let doc of documents().controls; let pointIndex = index\"\r\n [formGroupName]=\"pointIndex\">\r\n <div class=\"doc-left\">\r\n <div class=\"form-group m-0\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Add Document Name</mat-label>\r\n <input matInput type=\"text\" formControlName=\"fileTitle\" placeholder=\"Enter name\"\r\n [maxlength]=\"fieldMaxLengthShorter\" required />\r\n </mat-form-field>\r\n <char-counter [control]=\"eachDocumentControl(doc).fileTitle\" [maxlength]=\"fieldMaxLengthShorter\">\r\n </char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).fileTitle\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"doc-right\">\r\n <h3 class=\"doc-hdg\">Upload File *</h3>\r\n <div class=\"doc-upload\">\r\n <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"document.click()\">\r\n <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n fill=\"#F7F7F7\">\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n <input type=\"file\" style=\"display: none\" [accept]=\"documentFormat\" #document\r\n (change)=\"attachDocument(doc, $event.target.files[0])\" />\r\n <span class=\"doc-name\">\r\n <span *ngIf=\"eachDocumentFileNameisString(doc); else uploadedFile\">\r\n <a target=\"_blank\" [href]=\"eachDocumentControl(doc).file.value\">uploaded file\r\n </a>\r\n </span>\r\n <ng-template #uploadedFile>\r\n <span>\r\n {{\r\n eachDocumentControl(doc).file.value\r\n ? eachDocumentControl(doc).file.value.name\r\n : \"No File Chosen\"\r\n }}\r\n </span>\r\n </ng-template>\r\n <img alt=\"cross\" class=\"cursor-pointer\" role=\"button\" (click)=\"deleteDocument(pointIndex, doc)\"\r\n src=\"../assets/images/cross.svg\" />\r\n </span>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).file\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.documents\"></control-messages>\r\n <div>\r\n <span class=\"add-another-outer\" role=\"button\" (click)=\"addDocument()\">\r\n <span class=\"add-another\">\r\n <img alt=\"plus-icon\" src=\"../assets/images/plus-icon.svg\" />\r\n {{ documentString }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3 class=\"form-two-hdg pt-3\">Payment Documents</h3>\r\n <p class=\"form-two-des mb-2\">\r\n These documents will be published on the sale detail page.\r\n </p>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"add-doc-outer\" formArrayName=\"paymentDocuments\">\r\n <div class=\"add-doc\" *ngFor=\"let doc of documents(true).controls; let pointIndex = index\"\r\n [formGroupName]=\"pointIndex\">\r\n <div class=\"doc-left\">\r\n <div class=\"form-group m-0\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Add Document Name</mat-label>\r\n <input matInput type=\"text\" formControlName=\"fileTitle\" [maxlength]=\"fieldMaxLengthShorter\"\r\n placeholder=\"Enter name\" />\r\n </mat-form-field>\r\n <char-counter [control]=\"eachDocumentControl(doc).fileTitle\" [maxlength]=\"fieldMaxLengthShorter\">\r\n </char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).fileTitle\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n <div class=\"doc-right\">\r\n <h3 class=\"doc-hdg\">Upload File</h3>\r\n <div class=\"doc-upload\">\r\n <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"payDocument.click()\">\r\n <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n fill=\"#F7F7F7\">\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n <input type=\"file\" style=\"display: none\" [accept]=\"documentFormat\" #payDocument\r\n (change)=\"attachDocument(doc, $event.target.files[0])\" />\r\n <span class=\"doc-name\">\r\n <span *ngIf=\"eachDocumentFileNameisString(doc); else uploadedFile\">\r\n <a target=\"_blank\" [href]=\"eachDocumentControl(doc).file.value\">uploaded file\r\n </a>\r\n </span>\r\n <ng-template #uploadedFile>\r\n <span>\r\n {{\r\n eachDocumentControl(doc).file.value\r\n ? eachDocumentControl(doc).file.value.name\r\n : \"No File Chosen\"\r\n }}\r\n </span>\r\n </ng-template>\r\n <img alt=\"cross\" class=\"cursor-pointer\" role=\"button\" (click)=\"deleteDocument(pointIndex, doc, true)\"\r\n src=\"../assets/images/cross.svg\" />\r\n </span>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).file\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.paymentDocuments\">\r\n </control-messages>\r\n <div>\r\n <span class=\"add-another-outer\" role=\"button\" (click)=\"addDocument(true)\">\r\n <span class=\"add-another\">\r\n <img alt=\"plus\" src=\"../assets/images/plus-icon.svg\" />\r\n {{ payDocumentString }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3 class=\"form-two-hdg pt-4 mt-3\">In Conjuction With</h3>\r\n <p class=\"form-two-des mb-4\">Upload your partner logos</p>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600\">\r\n <div ngfDrop multiple=\"1\" selectable=\"1\" [(validDrag)]=\"validComboDrag\" [(files)]=\"partnerLogoArray\"\r\n [accept]=\"logoFormat\" [maxSize]=\"logoSize\" [(lastInvalids)]=\"lastInvalids\"\r\n class=\"well my-drop-zone custom-drop-zone\" [class.invalid-drag]=\"validComboDrag === false\"\r\n [class.valid-drag]=\"validComboDrag\" [fileDropDisabled]=\"fileDropDisabled\">\r\n <img alt=\"drag\" src=\"../assets/images/drag-upload-thumb.png\" />\r\n <p class=\"drag-name\">\r\n Drag & Drop Your Images Here\r\n <br />\r\n <span>Or</span>\r\n </p>\r\n <div class=\"for-btn\">\r\n <span>Upload Image</span>\r\n </div>\r\n </div>\r\n <div class=\"for-preview-images\">\r\n <div class=\"image-zone-outer\" *ngFor=\"let item of addEditPartnerLogo; let i = index\">\r\n <div class=\"image-zone-inner\">\r\n <div>\r\n <img alt=\"prev-icon\" class=\"previewIcon\" [src]=\"item.name\" />\r\n </div>\r\n <span class=\"cross-icon\" role=\"button\" (click)=\"removeOldImage(item)\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/black-cross.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"image-zone-outer mb-3\" *ngFor=\"let item of partnerLogoArray; let i = index\">\r\n <div class=\"image-zone-inner\">\r\n <div>\r\n <div class=\"previewIcon\" [ngfBackground]=\"item\"></div>\r\n </div>\r\n <span class=\"cross-icon\" role=\"button\" (click)=\"removeLogo(i)\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/black-cross.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"max-width-600 text-center\">\r\n <p class=\"or-text\">Or</p>\r\n </div>\r\n <div class=\"max-width-600 text-center\">\r\n <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"SyncPartnerLogoImages()\">\r\n Sync Images\r\n </button>\r\n </div>\r\n <p class=\"upload-note m-0 pb-2\">\r\n Note : Click \"Sync Images\" button to sync images placed on server.\r\n </p>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"mat-field-width mb-3\">\r\n <p class=\"small-label mb-2\">Payment Instructions *</p>\r\n <editor [initialValue]=\"paymentInstructionEditorString\" (editorData)=\"\r\n editorContent($event, step3Form.controls.paymentInstructions)\r\n \"></editor>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.paymentInstructions\">\r\n </control-messages>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-textarea\">\r\n <ng-container *ngIf=\"showBPasEditor; else gBpEditor\">\r\n <span>General Buyer's Premium *</span>\r\n <editor [initialValue]=\"gBpText\" (editorData)=\"\r\n editorContent(\r\n $event,\r\n step3Form.controls.generalBuyerPremium,\r\n true\r\n )\r\n \" [characterLimit]=\"premiumMaxLength\"></editor>\r\n </ng-container>\r\n <ng-template #gBpEditor>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>General Buyer's Premium *</mat-label>\r\n <input matInput type=\"number\" formControlName=\"gBP\" />\r\n </mat-form-field>\r\n </ng-template>\r\n </div>\r\n <control-messages *ngIf=\"showBPasEditor\" [isFormSubmitted]=\"submitted\"\r\n [control]=\"step3Form.controls.generalBuyerPremium\"></control-messages>\r\n <control-messages *ngIf=\"!showBPasEditor\" [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.gBP\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-textarea input-with-tooltip\">\r\n <ng-container *ngIf=\"!showBPasEditor\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Credit Card Buyer's Premium </mat-label>\r\n <input matInput type=\"number\" formControlName=\"ccBP\" />\r\n </mat-form-field>\r\n </ng-container>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Enter a number for Credit Card Buyers Premium percentage, or 0 if Credit Cards are not accepted.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n <control-messages *ngIf=\"showBPasEditor\" [isFormSubmitted]=\"submitted\"\r\n [control]=\"step3Form.controls.creditCardBuyerPremium\"></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngIf=\"showFeaturedItemsHeader\">\r\n <div class=\"mat-field-width pt-3\">\r\n <div class=\"form-group\">\r\n <div class=\"input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Featured Items Header</mat-label>\r\n <input matInput type=\"text\" formControlName=\"featuredItemHeader\" placeholder=\"Enter here\"\r\n [maxlength]=\"fieldMaxLength\" />\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Enter alternate header for Featured Items section\" [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n <char-counter [control]=\"step3Form.controls.featuredItemHeader\" [maxlength]=\"fieldMaxLength\"></char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.featuredItemHeader\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <p class=\"small-label mb-2\">Featured Items</p>\r\n <div *ngIf=\"showForm\">\r\n <editor [initialValue]=\"featuredItemsText\" (editorData)=\"\r\n editorContent($event, step3Form.controls.featuredItems)\r\n \" [characterLimit]=\"fieldMaxLengthTenThousand\"></editor>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.featuredItems\"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3 class=\"form-two-hdg pt-4 mt-3\">Custom Buttons</h3>\r\n <p class=\"form-two-des mb-3 pb-1\">\r\n Add your own buttons and link them to URL's or files\r\n </p>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"add-btns-outer\" formArrayName=\"buttons\">\r\n <div class=\"add-btns-row\" *ngFor=\"let btn of buttons().controls; index as idx\" [formGroupName]=\"idx\">\r\n <div class=\"add-image\">\r\n <p class=\"btns-hdg\">Button Logo/Image *</p>\r\n <div class=\"\">\r\n <span *ngIf=\"btn.value.buttonName != null\">\r\n <img alt=\"btn-icon\" class=\"mb-2\" [src]=\"btn.value.buttonName\" width=\"50\" />\r\n {{\r\n btn.value.buttonName.split(\"/\")[\r\n btn.value.buttonName.split(\"/\").length - 1\r\n ] | characterLimit: 10\r\n }}\r\n </span>\r\n <button class=\"btn btn-colored select-btn\" role=\"button\"\r\n (click)=\"openModalImageButtonSelect(template, btn)\">\r\n Select Image\r\n </button>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).buttonName\">\r\n </control-messages>\r\n </div>\r\n\r\n <div class=\"btn-label-input\">\r\n <div class=\"form-group m-0\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Button Label *</mat-label>\r\n <input matInput type=\"text\" [maxlength]=\"fieldMaxLength\" formControlName=\"label\"\r\n placeholder=\"Enter Label\" />\r\n </mat-form-field>\r\n <char-counter [control]=\"eachButtonControl(btn).label\" [maxlength]=\"fieldMaxLength\"></char-counter>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).label\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"radio-wrap\">\r\n <p class=\"btns-hdg mb-2\">Button Type</p>\r\n <div class=\"for-radio-select\">\r\n <div class=\"d-flex\">\r\n <div class=\"form-group custom-radio radio-dark mr-4 pr-1 mb-0\">\r\n <input type=\"radio\" id=\"url\" [value]=\"true\" formControlName=\"isUrl\" selected\r\n (change)=\"changeButtonType(eachButtonControl(btn))\" />\r\n <label for=\"url\" class=\"m-0\">URL</label>\r\n </div>\r\n <div class=\"form-group custom-radio radio-dark mr-4 pr-2 mb-0\">\r\n <input id=\"file-upload\" type=\"radio\" [value]=\"false\" formControlName=\"isUrl\"\r\n (change)=\"changeButtonType(eachButtonControl(btn))\" />\r\n <label for=\"file-upload\" class=\"m-0\">File Upload</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-wrap\" *ngIf=\"btn.value.isUrl; else fileUploadTemplate\">\r\n <div class=\"upload-wrap-inner\">\r\n <div class=\"form-group m-0\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>URL</mat-label>\r\n <input matInput type=\"text\" formControlName=\"url\"\r\n placeholder=\"Enter URL e.g. http://www.example.com\" required />\r\n </mat-form-field>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).url\">\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #fileUploadTemplate>\r\n <div class=\"upload-wrap\">\r\n <p class=\"btns-hdg\">Upload File *</p>\r\n <div class=\"upload-wrap-inner\">\r\n <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"buttons.click()\">\r\n <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n fill=\"#F7F7F7\">\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n <input type=\"file\" class=\"d-none\" [accept]=\"documentFormat\" #buttons\r\n (change)=\"attachButtonFile(btn, $event.target.files[0])\" />\r\n <span class=\"file-name\">\r\n <span *ngIf=\"eachButtonFileNameisString(btn); else uploadedFile\">\r\n <a target=\"_blank\" [href]=\"eachButtonControl(btn).auctionFileName.value\">uploaded file\r\n </a>\r\n </span>\r\n <ng-template #uploadedFile>\r\n <span>\r\n {{\r\n eachButtonControl(btn).auctionFileName.value\r\n ? eachButtonControl(btn).auctionFileName.value.name\r\n : \"No File Chosen\"\r\n }}\r\n </span>\r\n </ng-template>\r\n </span>\r\n </div>\r\n <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).auctionFileName\">\r\n </control-messages>\r\n </div>\r\n </ng-template>\r\n <div class=\"delete-wrap\" role=\"button\" (click)=\"deleteButton(idx, btn)\">\r\n <img alt=\"delete-icon\" src=\"../assets/images/delete.svg\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"add-another-outer pt-2 mb-2\">\r\n <span class=\"add-another\" role=\"button\" (click)=\"addButton()\">\r\n <img alt=\"plus-icon\" src=\"../assets/images/plus-icon.svg\" />\r\n {{ customButtonString }}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"step3Form.invalid && submitted\" class=\"error-msg my-2\">\r\n Please resolve error(s) first\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"goToStep()\">\r\n Back\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored full-mob\" role=\"button\" (click)=\"onSaveAndContinue()\"\r\n [disabled]=\"loading || checkLoader$.value\">\r\n Save & Continue\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #template>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Image For Custom Button</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <p class=\"sm-des\">Select a thumbnail image for your button</p>\r\n <form (ngSubmit)=\"setButtonName(form)\" #form=\"ngForm\">\r\n <ul class=\"image-listing\">\r\n <li *ngFor=\"let btn of customButtons; index as idx; count as length\"\r\n [ngClass]=\"{ active: btn == form.value.customButton }\">\r\n <img alt=\"icon\" class=\"image-icon\" [src]=\"btn\" width=\"36\" />\r\n <label [for]=\"idx\" class=\"m-0 w-100\">\r\n <span class=\"for-dtl\">\r\n {{ btn.split(\"/\")[btn.split(\"/\").length - 1] }}\r\n <img alt=\"check-icon\" class=\"check-icon\" src=\"../assets/images/check-green2.svg\" />\r\n </span>\r\n </label>\r\n <input name=\"customButton\" ngModel type=\"radio\" [value]=\"btn\" [id]=\"idx\" required />\r\n </li>\r\n </ul>\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"form.invalid\">\r\n Done\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport {\r\n LotService,\r\n AuthenticationService,\r\n AuctionService,\r\n WatchListService,\r\n CmsService,\r\n WebStorageService,\r\n} from '../../../../services';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport jsPDF from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\nimport constants from '../../../../utility/constants';\r\nimport {\r\n LotPublic,\r\n AuctionCurrentState,\r\n BulkBidSubmissionResult,\r\n} from '../../../../models';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport { AuctionAnnouncementService } from '../../../../services/auction-announcement.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport {\r\n HubConnection,\r\n HubConnectionBuilder,\r\n LogLevel,\r\n} from '@microsoft/signalr';\r\nimport { interval, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-auction-lot-catalog',\r\n templateUrl: './auction-lot-catalog.component.html',\r\n styleUrls: ['./auction-lot-catalog.component.css'],\r\n})\r\nexport class AuctionLotCatalogComponent implements OnInit {\r\n displayedColumns: string[] = [\r\n 'lotNum',\r\n 'lotDes',\r\n 'currentAmount',\r\n 'newBidAmount',\r\n 'delete',\r\n ];\r\n showListView = true;\r\n auctionDetail: any;\r\n showMore = false;\r\n\r\n // for filters\r\n lotTypes = 1; // 1 for 'All'\r\n locations = '';\r\n categories = '';\r\n searchTerm = '';\r\n pageNumber = 1;\r\n pageSize: number;\r\n pageSizes: Array<number> = [20, 50, 100];\r\n sortBy = '';\r\n sortOrder = '';\r\n isPaginated = true;\r\n onlyActive = false;\r\n\r\n // currentUserLogin\r\n loggedInUser = 0;\r\n\r\n // auction lot data\r\n auctionLotData: Array<LotPublic>;\r\n totalAuctionLots: number;\r\n\r\n // for dropdowns\r\n lotTypesData: any;\r\n lotCategoriesData: any;\r\n lotLocationData: any;\r\n submitBidError: string;\r\n\r\n changeInSelectedBulkLots: boolean = false;\r\n\r\n isLoggedIn: boolean | null;\r\n responseData: any;\r\n helpTextData: string;\r\n modalRef: BsModalRef;\r\n searchControl = new FormControl();\r\n isSold: boolean = false;\r\n auctionCode: string;\r\n isLoading: boolean = false;\r\n helpTexts = constants.common.helpText;\r\n cmsPages = constants.common.cmsPages;\r\n\r\n showListing: boolean = true;\r\n showFeaturedLots: boolean = true;\r\n\r\n selectedLotsForBulk: Array<LotPublic> = [];\r\n showBulkSubmitBtn: boolean = true;\r\n userPaddleNumber: string;\r\n userFullName: string;\r\n bulkBidSubmissionResult: Array<BulkBidSubmissionResult>;\r\n isBulkBid: boolean;\r\n @ViewChild('reviewModal', { static: false }) reviewModal: TemplateRef<any>;\r\n featuredLotInfo = null;\r\n auctionCurrentState: AuctionCurrentState;\r\n readOnlyCatalog: boolean;\r\n isUnpublishedLotNeeded: boolean = false;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n auctionAnnouncement: string;\r\n\r\n numberOfminLotRequiredForBulkBid = 1;\r\n private removedLotsFromBulkLot: LotPublic[] = [];\r\n auctionStatuses = constants.common.auctionStatus;\r\n\r\n // all socket related variables/properites\r\n private lotHubConnection: HubConnection;\r\n private hubUrl: string = environment.serverUrl + environment.hubs.bid;\r\n loader: boolean = false;\r\n isConnectionClosing: boolean = false;\r\n isLotClosed: boolean = false;\r\n public isLotConnected: boolean = false;\r\n public sendLotDataToLotCard = null;\r\n public sendLotWatcherDataToLotCard = null;\r\n public sendTimerToLotCard = null;\r\n private serverTimeSubcription: Subscription;\r\n public isLowConnectionMode: boolean = false;\r\n\r\n constructor(\r\n private storage: WebStorageService,\r\n private auctionService: AuctionService,\r\n private authenticationService: AuthenticationService,\r\n private lotService: LotService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: BsModalService,\r\n private toastr: ToastrService,\r\n private watchListService: WatchListService,\r\n private bidService: BidService,\r\n private announcementService: AuctionAnnouncementService,\r\n private cmsService: CmsService\r\n ) {\r\n this.isLoggedIn = this.authenticationService.checkLoggedIn();\r\n let pageSize = storage.storage.get('buyer-lot-catalog-page-size');\r\n if (pageSize) {\r\n this.pageSize = +pageSize;\r\n } else {\r\n this.pageSize = constants.public.lotPageSize;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.fragment.subscribe((frag) => {\r\n if (frag === 'check') {\r\n this.isUnpublishedLotNeeded = true;\r\n }\r\n });\r\n\r\n this.route.queryParams.subscribe((qParams) => {\r\n const lotTypes = qParams['type'];\r\n const locations = qParams['loc'];\r\n const categories = qParams['cat'];\r\n const searchTerm = qParams['term'];\r\n const pageNumber = qParams['page'];\r\n const sortBy = qParams['sort'];\r\n const sortOrder = qParams['order'];\r\n const featured = qParams['featured'];\r\n\r\n if (lotTypes !== null) {\r\n this.lotTypes = +lotTypes;\r\n }\r\n if (locations !== null) {\r\n this.locations = locations;\r\n }\r\n if (categories !== null) {\r\n this.categories = categories;\r\n }\r\n //if (searchTerm) {\r\n this.searchTerm = searchTerm;\r\n //}\r\n if (sortBy) {\r\n this.sortBy = sortBy;\r\n }\r\n if (sortOrder) {\r\n this.sortOrder = sortOrder;\r\n }\r\n if (featured) {\r\n this.showFeaturedLots = featured === 'true';\r\n }\r\n\r\n if (pageNumber) {\r\n this.pageNumber = +pageNumber;\r\n } else {\r\n this.pageNumber = 1;\r\n }\r\n\r\n if (\r\n lotTypes !== null ||\r\n locations !== null ||\r\n categories !== null ||\r\n searchTerm ||\r\n pageNumber ||\r\n sortBy ||\r\n sortOrder ||\r\n featured\r\n ) {\r\n this.getAuctionsLotData();\r\n }\r\n });\r\n\r\n this.route.params.subscribe((params) => {\r\n this.auctionCode = params['auctionCode'];\r\n });\r\n\r\n var loggedInData = this.authenticationService.checkLoggedIn();\r\n if (loggedInData) {\r\n let userData = this.authenticationService.currentBuyerValue()?.user;\r\n this.loggedInUser = userData?.id;\r\n this.userFullName = userData?.firstName + ' ' + userData?.lastName;\r\n }\r\n this.getResolverData();\r\n this.getAuctionAnnouncement();\r\n\r\n var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n if (loggedInData == true) {\r\n this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n }\r\n }\r\n\r\n private checkLotConnectionMode() {\r\n let storedValue = this.storage.getBuyer();\r\n if (storedValue)\r\n this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n\r\n if (!this.isLowConnectionMode) {\r\n if (\r\n this.loggedInUser > 0 &&\r\n this.auctionDetail.auctionStatus == this.auctionStatuses.live &&\r\n !this.readOnlyCatalog\r\n ) {\r\n this.buildConnection();\r\n }\r\n }\r\n }\r\n\r\n getResolverData() {\r\n this.route.data.subscribe((res) => {\r\n this.auctionCurrentState = res['auctionState'];\r\n if (this.auctionCurrentState) {\r\n let fragment = this.route.snapshot.fragment;\r\n this.bindDataToForm1();\r\n this.checkReadOnlyCatalog();\r\n if (fragment === 'check') {\r\n this.isUnpublishedLotNeeded = true;\r\n } else {\r\n this.checkLotsPublished();\r\n if (\r\n !this.auctionCurrentState.isActive &&\r\n !this.auctionCurrentState.isApproved\r\n ) {\r\n this.checkAuctionDeactivated();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private checkAuctionDeactivated() {\r\n if (\r\n this.auctionCurrentState.isSentForApproval &&\r\n this.auctionCurrentState.status === this.auctionStatuses.pending\r\n ) {\r\n this.isUnpublishedLotNeeded = true;\r\n return;\r\n }\r\n if (!this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n this.toastr.info(\r\n `Unfortunately ${this.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n this.toastr.info(\r\n `Unfortunately ${this.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n this.router.navigateByUrl('/');\r\n }\r\n\r\n private checkReadOnlyCatalog() {\r\n this.readOnlyCatalog = this.auctionCurrentState.saleType.isCatalogReadOnly;\r\n }\r\n\r\n private getAuctionAnnouncement() {\r\n const auctionAnnouncement = this.announcementService\r\n .getAuctionAnnouncementByCode(this.auctionCode)\r\n .subscribe((res) => {\r\n this.auctionAnnouncement = res?.isActive ? res?.text : null;\r\n });\r\n this.subscriptions.push(auctionAnnouncement)\r\n }\r\n\r\n private bindDataToForm1() {\r\n this.isLoading = true;\r\n const auctionDetail = this.auctionService\r\n .getAuctionDetailByCode(this.auctionCode)\r\n .subscribe((res: any) => {\r\n this.auctionDetail = res;\r\n this.isLoading = false;\r\n this.getAuctionsLotData();\r\n this.getLotTypes();\r\n this.getLotCategories();\r\n this.getLotLocation();\r\n this.searchLot();\r\n this.checkLotConnectionMode();\r\n });\r\n this.subscriptions.push(auctionDetail)\r\n }\r\n\r\n filterModel() {\r\n return {\r\n auctionId: this.auctionDetail?.id,\r\n lotTypes: this.lotTypes,\r\n locations: this.locations,\r\n categories: this.categories,\r\n searchTerm: this.searchTerm,\r\n pageNumber: this.pageNumber,\r\n pageSize: this.pageSize,\r\n sortBy: this.sortBy,\r\n sortOrder: this.sortOrder,\r\n isPaginated: this.isPaginated,\r\n onlyActive: this.onlyActive,\r\n skipFeatured: !this.showFeaturedLots,\r\n isFromUrl: this.isUnpublishedLotNeeded,\r\n };\r\n }\r\n\r\n featuredLotButtonChange(isShow: any) {\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { featured: isShow },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n }\r\n\r\n getAuctionsLotData() {\r\n if (!this.auctionDetail) return;\r\n this.showListing = false;\r\n this.isLoading = true;\r\n if (this.searchTerm == null) {\r\n this.searchTerm = '';\r\n }\r\n let model = this.filterModel();\r\n const allCurrentAuctionsLot = this.lotService.getAllCurrentAuctionsLots(model).subscribe(\r\n (res) => {\r\n this.showListing = true;\r\n this.auctionLotData = res.data;\r\n if (res.data.length > 0)\r\n this.userPaddleNumber =\r\n this.auctionLotData[0].loggedInUser?.paddleNumber;\r\n this.isLoading = false;\r\n this.totalAuctionLots = res.totalCount;\r\n },\r\n () => {\r\n this.showListing = false;\r\n this.isLoading = false;\r\n }\r\n );\r\n this.subscriptions.push(allCurrentAuctionsLot)\r\n }\r\n\r\n onPageChange(paging: number) {\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { page: paging },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n }\r\n\r\n onPageSizeChange(size: number) {\r\n this.pageSize = size;\r\n this.storage.storage.set('buyer-lot-catalog-page-size', size);\r\n this.getAuctionsLotData();\r\n }\r\n\r\n goToRegister(auctionCode: number) {\r\n this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n getLotTypes() {\r\n const lotTypes = this.lotService.getLotTypesDropDownList().subscribe((res: any) => {\r\n this.lotTypesData = res;\r\n });\r\n this.subscriptions.push(lotTypes)\r\n }\r\n\r\n getLotCategories() {\r\n const lotCategories = this.lotService\r\n .getLotCategories(this.auctionDetail.id)\r\n .subscribe((res: any) => {\r\n this.lotCategoriesData = res;\r\n });\r\n this.subscriptions.push(lotCategories)\r\n }\r\n\r\n getLotLocation() {\r\n const lotLocation = this.lotService\r\n .getLotLocation(this.auctionDetail.id)\r\n .subscribe((res: any) => {\r\n this.lotLocationData = res;\r\n });\r\n this.subscriptions.push(lotLocation)\r\n }\r\n\r\n lotTypeFilter(value) {\r\n value = value == null ? 1 : value;\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { type: value },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n }\r\n\r\n categoryTypeFilter(value) {\r\n value = value == null ? '' : value;\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { cat: value },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n }\r\n\r\n locationTypeFilter(value) {\r\n value = value == null ? '' : value;\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { loc: value },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n }\r\n\r\n goToViewLotDetail(id) {\r\n this.router.navigate([id], {\r\n relativeTo: this.route,\r\n queryParams: { returnTo: this.router.url, preserveFragment: true },\r\n });\r\n }\r\n\r\n openHelpModal(template: TemplateRef<any>, helpTextId: number) {\r\n this.isLoading = true;\r\n let textId: number;\r\n if (helpTextId == this.helpTexts.catalogBidding)\r\n textId = this.cmsPages.helpTextCatalogWithBidding;\r\n if (helpTextId == this.helpTexts.readOnlyCatalog)\r\n textId = this.cmsPages.helpTextReadOnlyCatalog;\r\n const cmsPublic = this.cmsService.GetCmsPublic(textId).subscribe((res) => {\r\n this.helpTextData = res;\r\n this.isLoading = false;\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup auction-help-modal modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n });\r\n this.subscriptions.push(cmsPublic)\r\n }\r\n\r\n resetSearch() {\r\n this.searchControl.reset();\r\n }\r\n\r\n private searchLot() {\r\n this.searchControl.valueChanges\r\n .pipe(debounceTime(1100))\r\n .subscribe((value) => {\r\n value = value == null ? '' : value;\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { term: value },\r\n queryParamsHandling: 'merge',\r\n replaceUrl: true,\r\n preserveFragment: true,\r\n });\r\n });\r\n }\r\n\r\n goBack() {\r\n this.router.navigate([this.auctionCode]);\r\n }\r\n\r\n downloadCSV() {\r\n let resArray: any = [];\r\n const downloadCSV = this.lotService.downloadCSV(this.auctionDetail.id).subscribe((res) => {\r\n resArray = JSON.parse(res);\r\n let data: any = [];\r\n resArray.forEach((element) => {\r\n var temp = [\r\n element.LotNumber,\r\n element.Description,\r\n element.Category,\r\n element.Location,\r\n new Date(element.LotStartTimeUtc).toDateString() +\r\n ' (' +\r\n element.TimeZoneName +\r\n ')',\r\n new Date(element.LotEndTimeUtc).toDateString() +\r\n ' (' +\r\n element.TimeZoneName +\r\n ')',\r\n ];\r\n data.push(temp);\r\n });\r\n var doc = new jsPDF();\r\n autoTable(doc, {\r\n head: [\r\n [\r\n 'Lot Number',\r\n 'Description',\r\n 'Lot Category',\r\n 'Location',\r\n 'Start Date',\r\n 'End Date',\r\n ],\r\n ],\r\n body: data,\r\n });\r\n doc.save(this.auctionDetail.title + 'catalog.pdf');\r\n });\r\n this.subscriptions.push(downloadCSV)\r\n }\r\n\r\n addToWatchList(lotId, lotNumber) {\r\n let model = {\r\n lotId: lotId,\r\n auctionId: this.auctionDetail.id,\r\n };\r\n const addToWatchList = this.watchListService.addToWatchList(model).subscribe(() => {\r\n this.toastr.success(\r\n `Lot # ${lotNumber} added to Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.getAuctionsLotData();\r\n });\r\n this.subscriptions.push(addToWatchList)\r\n }\r\n\r\n removeFromWatchList(lotId, lotNumber) {\r\n let model = {\r\n lotId: lotId,\r\n auctionId: this.auctionDetail.id,\r\n };\r\n const removeWatchList = this.watchListService.removeFromWatchList(model).subscribe(() => {\r\n this.toastr.success(\r\n `Lot # ${lotNumber} removed from Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.getAuctionsLotData();\r\n });\r\n this.subscriptions.push(removeWatchList)\r\n }\r\n\r\n /////// review bid section\r\n // get lot from lot-card component\r\n getSelectedLots(lotData: LotPublic | number) {\r\n this.featuredLotInfo = lotData;\r\n if (lotData > 0) {\r\n let index = this.selectedLotsForBulk.findIndex(\r\n (lot) => lot.id === (lotData as number)\r\n );\r\n if (index != -1) {\r\n this.selectedLotsForBulk.splice(index, 1);\r\n }\r\n } else {\r\n let index = this.selectedLotsForBulk.findIndex(\r\n (lot) => lot.id === (lotData as LotPublic).id\r\n );\r\n if (index == -1) {\r\n this.selectedLotsForBulk.push(lotData as LotPublic);\r\n } else {\r\n this.selectedLotsForBulk.splice(index, 1, lotData as LotPublic);\r\n }\r\n }\r\n this.isBulkBid = this.selectedLotsForBulk.length >= 1 ? true : false;\r\n }\r\n\r\n // check to open the review popup\r\n isBulkBidReview(value: boolean) {\r\n if (value) {\r\n this.createBulkBidModel();\r\n this.removedLotsFromBulkLot = [];\r\n this.modalRef = this.modalService.show(this.reviewModal, {\r\n class: 'custom-popup modal-dialog-centered',\r\n ignoreBackdropClick: true,\r\n keyboard: false,\r\n });\r\n this.modalRef.onHidden.subscribe(() => {\r\n this.changeInSelectedBulkLots = false;\r\n });\r\n }\r\n }\r\n\r\n // call API for submission\r\n submitBulkBid() {\r\n if (!this.selectedLotsForBulk.length) return;\r\n this.isLoading = true;\r\n let model = this.createBulkBidModel();\r\n this.showBulkSubmitBtn = false;\r\n const submitBid = this.bidService.submitPublicBulkBid(model).subscribe(\r\n (res: BulkBidSubmissionResult[]) => {\r\n this.isLoading = false;\r\n this.bulkBidSubmissionResult = res;\r\n if (res && res.length > 0) {\r\n if (res.every((i) => i.isSuccess)) {\r\n this.toastr.success(\r\n 'Bid(s) Submitted Successfully',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (res.every((i) => i.isDeactivated)) {\r\n this.checkAuctionDeactivated();\r\n }\r\n }\r\n this.closeReviewModal();\r\n this.showBulkSubmitBtn = false;\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n this.showBulkSubmitBtn = false;\r\n this.submitBidError = error;\r\n }\r\n )\r\n this.subscriptions.push(submitBid)\r\n }\r\n\r\n // creating bulk model for submission API\r\n private createBulkBidModel(): BulkBid {\r\n let lotsToBeSubmit = this.selectedLotsForBulk\r\n .filter((val) => val.newBid >= val.nextRequiredBid)\r\n .map((val) => ({\r\n lotId: val.id,\r\n amount: val.newBid,\r\n }));\r\n\r\n this.showBulkSubmitBtn = lotsToBeSubmit.length > 0 ? true : false;\r\n\r\n return {\r\n auctionId: this.auctionDetail.id,\r\n lotAmount: lotsToBeSubmit,\r\n userId: this.loggedInUser,\r\n paddleNumber: this.userPaddleNumber,\r\n proxyUserId: null,\r\n };\r\n }\r\n\r\n // remove lot logic\r\n removeLotFromReviewBids(index: number) {\r\n this.removedLotsFromBulkLot.push(\r\n this.selectedLotsForBulk.splice(index, 1)[0]\r\n );\r\n }\r\n\r\n closeReviewModal() {\r\n this.showBulkSubmitBtn = true;\r\n this.changeInSelectedBulkLots = false;\r\n this.submitBidError = null;\r\n if (this.removedLotsFromBulkLot.length) {\r\n this.bulkBidSubmissionResult = this.createRemovedLotModel();\r\n }\r\n if (this.modalRef) this.modalRef.hide();\r\n }\r\n\r\n // we will send this model only when review modal close so that entered values removed from the lot\r\n private createRemovedLotModel(): BulkBidSubmissionResult[] {\r\n let removeLotResult: BulkBidSubmissionResult[];\r\n let addedLotResult: BulkBidSubmissionResult[];\r\n\r\n let lotIds: number[] = this.bulkBidSubmissionResult?.map((it) => it.lotId);\r\n\r\n /* this block will only be work if bulkBidSubmissionResult has API data otherwise\r\n else block work where we simply tells the which lot is removed from the current selected lot\r\n */\r\n if (\r\n lotIds &&\r\n lotIds.length &&\r\n this.bulkBidSubmissionResult.every(\r\n (it) => it.bidStatus > 0 && it.bidStatus != null\r\n )\r\n ) {\r\n removeLotResult = this.removedLotsFromBulkLot.map((it) => {\r\n if (!lotIds.includes(it.id)) {\r\n return {\r\n isRemoved: true,\r\n lotId: it.id,\r\n };\r\n }\r\n });\r\n return this.bulkBidSubmissionResult.concat(removeLotResult);\r\n } else {\r\n removeLotResult = this.removedLotsFromBulkLot.map((it) => ({\r\n isRemoved: true,\r\n lotId: it.id,\r\n }));\r\n addedLotResult = this.selectedLotsForBulk.map((it) => ({\r\n isRemoved: false,\r\n lotId: it.id,\r\n }));\r\n return removeLotResult.concat(addedLotResult);\r\n }\r\n }\r\n\r\n checkLotsPublished() {\r\n let isLotsPublishedFlag = this.auctionCurrentState.isInHouseLotConfigured;\r\n if (\r\n this.auctionCurrentState.isSentForApproval &&\r\n this.auctionCurrentState.status === this.auctionStatuses.pending\r\n ) {\r\n return;\r\n }\r\n if (!isLotsPublishedFlag) this.goBack();\r\n }\r\n\r\n // WebSocket Logic comes here\r\n // single websocket connection will handle latest data for each lot card\r\n buildConnection() {\r\n this.lotHubConnection = new HubConnectionBuilder()\r\n .configureLogging(LogLevel.Debug)\r\n .withUrl(this.hubUrl)\r\n .withAutomaticReconnect([2000, 4000])\r\n .build();\r\n\r\n this.registerHubEvents();\r\n\r\n this.startConnection();\r\n }\r\n\r\n startConnection() {\r\n this.lotHubConnection\r\n .start()\r\n .then(() => {\r\n this.isConnectionClosing = false;\r\n this.loader = false;\r\n this.isLotConnected = true;\r\n this.isLowConnectionMode = false;\r\n this.getLotData();\r\n })\r\n .catch(() => {\r\n this.isConnectionClosing = true;\r\n this.loader = false;\r\n this.isLotConnected = false;\r\n this.isLowConnectionMode = true;\r\n });\r\n }\r\n\r\n registerHubEvents() {\r\n this.lotHubConnection.onreconnecting(() => {\r\n this.isConnectionClosing = false;\r\n this.loader = false;\r\n this.isLotConnected = false;\r\n this.isLowConnectionMode = true;\r\n });\r\n\r\n this.lotHubConnection.onreconnected(() => {\r\n this.isConnectionClosing = false;\r\n this.loader = false;\r\n this.isLotConnected = true;\r\n this.isLowConnectionMode = false;\r\n this.getLotData();\r\n });\r\n\r\n this.lotHubConnection.onclose(() => {\r\n this.isConnectionClosing = true;\r\n this.loader = false;\r\n this.isLowConnectionMode = true;\r\n if (!this.isLotConnected) this.buildConnection();\r\n });\r\n\r\n this.biddingListener();\r\n }\r\n\r\n getLotData() {\r\n if (!this.isLowConnectionMode) this.loader = true;\r\n let groupName: string = this.auctionDetail.id + '#';\r\n this.lotHubConnection\r\n .invoke('AddUserToLotBidding', groupName)\r\n .then(() => {\r\n this.loader = false;\r\n })\r\n .catch(() => {\r\n this.loader = false;\r\n });\r\n this.getServerCurrentDatetime();\r\n }\r\n\r\n biddingListener() {\r\n this.lotHubConnection.on('GetLotByGroupName', (data) => {\r\n if (data) {\r\n this.checkOpenedBulkLotPresentInRealTimeData(data);\r\n this.sendLotDataToLotCard = data;\r\n }\r\n });\r\n }\r\n\r\n getServerCurrentDatetime() {\r\n this.serverTimeSubcription = interval(10000).subscribe(() => {\r\n this.lotHubConnection.invoke('ServerCurrentDateTime').then((response) => {\r\n this.sendTimerToLotCard = response;\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.serverTimeSubcription) this.serverTimeSubcription.unsubscribe();\r\n if (this.isLotConnected) {\r\n this.lotHubConnection.stop().then(() => {\r\n console.log('Connection successfully stopped');\r\n });\r\n }\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n\r\n }\r\n\r\n // check realtime data having ids and amount changes in selected bulk lot popup\r\n checkOpenedBulkLotPresentInRealTimeData(realTimeData) {\r\n if (this.selectedLotsForBulk && this.selectedLotsForBulk?.length) {\r\n let ids = this.selectedLotsForBulk.map((it) => it.id);\r\n if (ids.includes(realTimeData?.lotId)) {\r\n this.changeInSelectedBulkLots = true;\r\n } else this.changeInSelectedBulkLots = false;\r\n }\r\n }\r\n\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n<app-loader [showLoader]=\"loader || isConnectionClosing\"></app-loader>\r\n\r\n<div class=\"public-wrap\">\r\n <div class=\"container\">\r\n <div class=\"row back-with-register\">\r\n <div class=\"col-md-4 back-link-outer mb-0 d-flex\">\r\n <a class=\"back-link no-wrap\" role=\"button\" (click)=\"goBack()\">\r\n <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> Back To\r\n Auction Details\r\n </a>\r\n </div>\r\n\r\n <div class=\"col-md-8 right-wrap\" *ngIf=\"\r\n auctionDetail?.saleType?.registrationFormat == 1 &&\r\n auctionDetail.isRegistrationActive &&\r\n (auctionDetail.auctionStatus == 1 ||\r\n auctionDetail.auctionStatus == 2) &&\r\n !auctionDetail.loggedInUser\r\n \">\r\n <div class=\"register-to-bid-outer\">\r\n <div class=\"register-to-bid\">\r\n <div class=\"for-icon\">\r\n <img alt=\"register-icon\" src=\"../assets/images/register-bid.svg\" />\r\n </div>\r\n\r\n <div class=\"for-message\">\r\n <p class=\"m-0\">\r\n To start bidding please\r\n <br />\r\n register to this auction.\r\n </p>\r\n </div>\r\n\r\n <div class=\"for-btn\">\r\n <button type=\"button\" class=\"btn btn-colored\" role=\"button\"\r\n (click)=\"goToRegister(auctionDetail?.auctionCode)\">\r\n Register To Bid\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-3\">\r\n <h3 class=\"register-name mb-0 pb-2\">Lot Catalog</h3>\r\n </div>\r\n\r\n <div class=\"col-md-9 text-right\">\r\n <button class=\"btn btn-colored btn-lot-icon mb-2\" role=\"button\" (click)=\"downloadCSV()\">\r\n <img alt=\"download-icon\" class=\"download-icon\" src=\"./assets/images/download-white.svg\" />\r\n Download Catalog\r\n </button>\r\n <button class=\"btn btn-white-border btn-lot-icon2 ml-2 mb-2\" *ngIf=\"\r\n ![0, helpTexts.none].includes(auctionDetail?.saleType?.showHelpText)\r\n \" role=\"button\" (click)=\"\r\n openHelpModal(helpTemplate, auctionDetail?.saleType?.showHelpText)\r\n \">\r\n <img alt=\"help-icon\" class=\"help-icon\" src=\"./assets/images/help-colored.svg\" />\r\n Bidding Help\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"auction-with-logo mb-3\">\r\n <div class=\"left-logo\">\r\n <img class=\"auction-logo\" alt=\"auction-logo\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n [image]=\"auctionDetail.clientLogo\" />\r\n </div>\r\n <div class=\"right-logo\">\r\n <div class=\"d-flex mb-2\">\r\n <span class=\"card-badge no-card min-width-auto badge-dark\">{{ auctionDetail?.saleType?.publicName }}\r\n </span>\r\n </div>\r\n\r\n <h3 class=\"auc-name mb-2\">{{ auctionDetail?.title }}</h3>\r\n <p class=\"auc-des mb-3\" [innerHTML]=\"auctionDetail?.tagline\"></p>\r\n <p class=\"auc-location mb-2\">\r\n {{ auctionDetail?.auctionLocations | locationNames }}\r\n </p>\r\n <p class=\"auc-address m-0\" [innerHtml]=\"\r\n auctionDetail?.saleType?.auctionDate\r\n | auctionDateFormat\r\n : auctionDetail?.auctionStatus\r\n : auctionDetail?.timeZoneName\r\n : auctionDetail?.startDateTime\r\n : auctionDetail?.endDateTime\r\n : auctionDetail?.saleType?.dateText\r\n \"></p>\r\n <p class=\"auc-address m-0\" *ngIf=\"auctionDetail?.generalBuyersPremiumText != '0'\">\r\n A Buyers Premium applies to this sale, please click More Info for BP\r\n rates\r\n </p>\r\n <p class=\"auc-more-info\" *ngIf=\"!showMore\" role=\"button\" (click)=\"showMore = true\">\r\n <span>\r\n More Info\r\n <img alt=\"arrow\" class=\"ml-2\" src=\"/assets/images/arrow-down-colored.svg\" />\r\n </span>\r\n </p>\r\n <p class=\"auc-more-info\" *ngIf=\"showMore\">\r\n <span role=\"button\" (click)=\"showMore = false\">\r\n Less Info\r\n <img alt=\"arrow\" class=\"ml-2 arrow-rotated\" src=\"/assets/images/arrow-down-colored.svg\" />\r\n </span>\r\n </p>\r\n <div class=\"auc-less-info\" *ngIf=\"showMore\">\r\n <div class=\"auc-less-info-inner\">\r\n <span class=\"less-name\">Currency</span>\r\n <span class=\"less-dtl\">{{ auctionDetail?.currencyName }}</span>\r\n </div>\r\n <div class=\"auc-less-info-inner\" *ngIf=\"auctionDetail?.generalBuyersPremiumText != '0'\">\r\n <span class=\"less-name\">Buyer's Premium</span>\r\n <span class=\"less-dtl\" *ngIf=\"auctionDetail?.creditCardBuyersPremiumText == 'null'; else ccBlock\"\r\n [innerHTML]=\"auctionDetail?.generalBuyersPremiumText+'%'\"></span>\r\n <ng-template #ccBlock>\r\n <span class=\"less-dtl\" [innerHTML]=\"auctionDetail?.creditCardBuyersPremiumText\"></span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row pt-4\">\r\n <div class=\"col-8 col-md-9 col-auto left-lot\">\r\n <h3 class=\"total-lot mb-2\">{{ totalAuctionLots }} Lots</h3>\r\n <p class=\"lot-des\">\r\n Lot Closing : Lots will close in\r\n {{ auctionDetail?.staggerLotCloseTime }} second intervals beginning\r\n with the first Lot on\r\n {{ auctionDetail?.endDateTime | date: \"EEEE, MMMM d At h:mm a\" }}\r\n {{ auctionDetail?.timeZoneName }}\r\n </p>\r\n </div>\r\n <div class=\"col-4 col-md-3 col-auto right-lot ml-auto text-right\">\r\n <button class=\"lgv-btn mr-1 mr-md-3\" [ngClass]=\"{ active: !showListView }\" role=\"button\"\r\n (click)=\"showListView = false\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M1210.335 346.889c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555zM1210.335 338c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555z\"\r\n transform=\"translate(-1205 -338) matrix(-1 0 0 1 2426 0)\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </button>\r\n <button class=\"lgv-btn\" [ngClass]=\"{ active: showListView }\" role=\"button\" (click)=\"showListView = true\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"13\" viewBox=\"0 0 16 13\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M1266.071 350.143c.513 0 .929.416.929.928 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.512.416-.928.929-.928h14.142zm0-5.572c.513 0 .929.416.929.929 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.513.416-.929.929-.929h14.142zm0-5.571c.513 0 .929.416.929.929 0 .512-.416.928-.929.928h-14.142c-.513 0-.929-.416-.929-.928 0-.513.416-.929.929-.929h14.142z\"\r\n transform=\"translate(-1251 -339) matrix(-1 0 0 1 2518 0)\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"auctionAnnouncement\">\r\n <div class=\"alertWithIcon\">\r\n <img alt=\"announcement\" src=\"../assets/images/announcement.svg\" />\r\n <p [innerHTML]=\"auctionAnnouncement\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"auction-search\">\r\n <div class=\"form-group mb-4 no-float-fields no-float-with-search search-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"text\" placeholder=\"Search\" [formControl]=\"searchControl\" />\r\n </mat-form-field>\r\n <span class=\"filter-icon search-icon\" role=\"button\" (click)=\"resetSearch()\"\r\n *ngIf=\"searchControl.value != null; else showSearch\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" title=\"clear\" />\r\n </span>\r\n\r\n <ng-template #showSearch>\r\n <span class=\"search-icon\">\r\n <img alt=\"search\" title=\"search\" src=\"/assets/images/search-icon2.svg\" />\r\n </span>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields auc-width d-none\">\r\n <mat-select [value]=\"lotTypes\" (selectionChange)=\"lotTypeFilter($event.value)\" placeholder=\"Filter Lots\">\r\n <mat-option *ngFor=\"let lotTypes of lotTypesData\" [value]=\"lotTypes.value\">{{ lotTypes.text }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n <mat-select [value]=\"categories\" (selectionChange)=\"categoryTypeFilter($event.value)\"\r\n placeholder=\"Category\">\r\n <mat-option [value]=\"null\">All</mat-option>\r\n <mat-option *ngFor=\"let category of lotCategoriesData\" [value]=\"category\">{{ category }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n <mat-select [value]=\"locations\" (selectionChange)=\"locationTypeFilter($event.value)\"\r\n placeholder=\"All Locations\">\r\n <mat-option [value]=\"null\">All</mat-option>\r\n <mat-option *ngFor=\"let location of lotLocationData\" [value]=\"location\">{{ location }}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n <div class=\"form-group mb-4 no-float-fields sort-width featuredLotToggle\">\r\n <p class=\"body-txt-16\">\r\n Show Featured Lots\r\n <label class=\"switch-slider\">\r\n <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" [value]=\"showFeaturedLots\"\r\n [checked]=\"showFeaturedLots\" (change)=\"featuredLotButtonChange($event.target.checked)\" />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-4 pb-2\">\r\n <app-lot-connection-mode *ngIf=\"!readOnlyCatalog\"></app-lot-connection-mode>\r\n </div>\r\n\r\n <div class=\"pagination-mt-0\">\r\n <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\" [pageSizes]=\"pageSizes\" (selectedPageSize)=\"onPageSizeChange($event)\"\r\n *ngIf=\"totalAuctionLots !== 0\">\r\n </app-paginator>\r\n </div>\r\n\r\n <div class=\"row\" *ngIf=\"loggedInUser > 0\">\r\n <div class=\"col-12 text-right lot-selected mb-3\">\r\n <span class=\"select-no\" *ngIf=\"selectedLotsForBulk?.length != 0\">\r\n <strong>{{ selectedLotsForBulk?.length | number }} Lot(s) Selected</strong>\r\n <ng-container *ngIf=\"selectedLotsForBulk?.length > 1\">\r\n For Bulk Bid\r\n </ng-container>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"empty-state-container empty-pad-2\" *ngIf=\"totalAuctionLots == 0; else showTable\">\r\n <div class=\"empty-state-content\">\r\n <img alt=\"empty-state\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n <h3 class=\"_heading\">No Lots Found</h3>\r\n </div>\r\n </div>\r\n\r\n <ng-template #showTable>\r\n <div class=\"row lot-box-outer lot-catalog-view\" [ngClass]=\"{ 'lot-list-view': showListView }\">\r\n <div class=\"col-12 lot-boxes\" *ngFor=\"\r\n let item of auctionLotData\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalAuctionLots\r\n };\r\n index as i\r\n \" [ngClass]=\"{ 'col-md-6 col-lg-4': !showListView }\">\r\n <auction-lot-card [lotData]=\"item\" [isListView]=\"showListView\" [bulkBidResult]=\"bulkBidSubmissionResult\"\r\n [bulkBid]=\"isBulkBid\" [serverTime]=\"sendTimerToLotCard\" [latestLotData]=\"\r\n sendLotDataToLotCard && sendLotDataToLotCard?.lotId === item?.id\r\n ? sendLotDataToLotCard\r\n : null\r\n \" (selectedLotData)=\"getSelectedLots($event)\" (submitBulkBid)=\"isBulkBidReview($event)\"\r\n [featuredSyncedInfo]=\"featuredLotInfo ? featuredLotInfo : null\">\r\n </auction-lot-card>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\" [pageSizes]=\"pageSizes\" (selectedPageSize)=\"onPageSizeChange($event)\"\r\n *ngIf=\"totalAuctionLots !== 0\">\r\n </app-paginator>\r\n </div>\r\n</div>\r\n\r\n<ng-template #helpTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Help</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon m-0\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"modalRef.hide()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n <h1 class=\"modal-inner-hdg mt-0 mb-2\">Catalog & Bidding</h1>\r\n <div class=\"des\" [innerHTML]=\"helpTextData\"></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #reviewModal>\r\n <div class=\"modal-header pl-3\">\r\n <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeReviewModal()\">\r\n <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"column-list\">\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Auction</div>\r\n <div class=\"right-wrap\">{{ auctionDetail.title | titlecase }}</div>\r\n </div>\r\n\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Bidder</div>\r\n <div class=\"right-wrap\">\r\n Paddle No. {{ userPaddleNumber }}, {{ userFullName | titlecase }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"data-table-wrap w-100 review-bids-wrapper\">\r\n <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n <tbody>\r\n <tr class=\"mat-row\" *ngFor=\"let lot of selectedLotsForBulk; let idx = index\">\r\n <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Lot #</span>\r\n {{ lot.lotNumber }}\r\n </td>\r\n <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot Description</span>\r\n {{ lot.description | characterLimit: 50 }}\r\n </td>\r\n <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Current</span>\r\n {{ lot.currentBid | auctionCurrency: auctionDetail.currencyName }}\r\n </td>\r\n <td class=\"mat-cell column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">New Bid</span>\r\n {{ lot.newBid | auctionCurrency: auctionDetail.currencyName }}\r\n <div class=\"reviewBidError\" *ngIf=\"lot.newBid < lot.nextRequiredBid\">\r\n <img alt=\"invalid bid\" class=\"mr-2\" src=\"assets/images/bidError.svg\" />\r\n <p>\r\n <strong>Invalid Bid:</strong> Bid of\r\n {{ lot.newBid | auctionCurrency: auctionDetail.currencyName }}\r\n is lower than next required bid of\r\n {{\r\n lot.nextRequiredBid\r\n | auctionCurrency: auctionDetail.currencyName\r\n }}\r\n </p>\r\n </div>\r\n </td>\r\n <td class=\"mat-cell column-5 listing-data-entry table-with-row-header\">\r\n <span *ngIf=\"\r\n selectedLotsForBulk?.length > numberOfminLotRequiredForBulkBid\r\n \" role=\"button\" (click)=\"removeLotFromReviewBids(idx)\">Delete</span>\r\n <a class=\"hover-icon delete-icon custom-tooltip custom-tooltip2\" tooltip=\"Vivamus sagittis\" role=\"button\"\r\n (click)=\"removeLotFromReviewBids(idx)\"></a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <ng-container *ngIf=\"changeInSelectedBulkLots\">\r\n <p>Note : New Bid has been placed. Please bid again.</p>\r\n </ng-container>\r\n\r\n <div class=\"review-btns-wrap mt-3\">\r\n <ng-container *ngIf=\"!changeInSelectedBulkLots\">\r\n <button [disabled]=\"!showBulkSubmitBtn\" type=\"button\" class=\"btn btn-colored\" role=\"button\"\r\n (click)=\"submitBulkBid()\">\r\n Submit Bids\r\n </button>\r\n </ng-container>\r\n <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n Cancel\r\n </button>\r\n <span class=\"d-flex align-items-center text-danger\" *ngIf=\"submitBidError\">{{submitBidError}}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuctionRoutingModule } from './auction-routing.module';\r\nimport { ngfModule } from 'angular-file';\r\nimport { AuctionListComponent } from './auction-list/auction-list.component';\r\nimport { AddAuctionComponent } from './add-auction/add-auction.component';\r\nimport { AdminSharedModule } from '../shared/shared.module';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { AddAuctionStep2Component } from './add-auction-step2/add-auction-step2.component';\r\nimport { AddAuctionStep3Component } from './add-auction-step3/add-auction-step3.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { AddAuctionStep4Component } from './add-auction-step4/add-auction-step4.component';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { AddAuctionStep1Component } from './add-auction-step1/add-auction-step1.component';\r\nimport { CommonSharedModule } from '../../shared/shared.module';\r\nimport { ViewAuctionComponent } from './view-auction/view-auction.component';\r\nimport { ManageLotModule } from './manage-lot/manage-lot.module';\r\nimport { AuctionResultComponent } from './auction-result/auction-result.component';\r\nimport { ImportedUsersComponent } from './imported-users/imported-users.component';\r\nimport { ImportResultComponent } from './import-result/import-result.component';\r\nimport { ImportResultService } from './service/import-result.service';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@NgModule({\r\n declarations: [\r\n AuctionListComponent,\r\n AddAuctionComponent,\r\n AddAuctionStep2Component,\r\n AddAuctionStep3Component,\r\n AddAuctionStep4Component,\r\n AddAuctionStep1Component,\r\n ViewAuctionComponent,\r\n AuctionResultComponent,\r\n ImportedUsersComponent,\r\n ImportResultComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuctionRoutingModule,\r\n CommonSharedModule,\r\n AdminSharedModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n NgxMaterialTimepickerModule,\r\n ngfModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n ManageLotModule,\r\n MatTableModule,\r\n MatTooltipModule,\r\n ],\r\n providers: [ImportResultService],\r\n})\r\nexport class AuctionModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LotFormComponent } from './lot-form/lot-form.component';\r\nimport { BulkLotFormComponent } from './bulk-lot-form/bulk-lot-form.component';\r\nimport { AuctionAnnouncementComponent } from './auction-announcement/auction-announcement.component';\r\nimport { LotListingComponent } from './lot-listing/lot-listing.component';\r\nimport { CommonSharedModule } from '../../../shared/shared.module';\r\nimport { CoreModule } from '../../../core/core.module';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AdminSharedModule } from '../../shared/shared.module';\r\n\r\n@NgModule({\r\n declarations: [LotFormComponent, BulkLotFormComponent, AuctionAnnouncementComponent, LotListingComponent],\r\n imports: [\r\n CommonModule,\r\n CommonSharedModule,\r\n AdminSharedModule,\r\n CoreModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatAutocompleteModule\r\n ],\r\n exports: [LotListingComponent]\r\n})\r\nexport class ManageLotModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n} from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n AuthenticationService,\r\n CountryService,\r\n AuctionService,\r\n EnquiryNowService,\r\n LoaderService,\r\n} from '../../../../services';\r\nimport { BuyerService } from '../../../../services/buyer.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport { EnquiryNow } from '../../../../models';\r\nimport constants from '../../../../utility/constants';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-enquiry-now',\r\n templateUrl: './enquiry-now.component.html',\r\n styleUrls: ['./enquiry-now.component.css'],\r\n})\r\nexport class EnquiryNowComponent implements OnInit {\r\n captcha = new FormControl();\r\n enquireNowForm: FormGroup;\r\n loading: boolean = false;\r\n submitted: boolean;\r\n currentUserId: number;\r\n captchaKey: string;\r\n isLoggedIn: boolean = false;\r\n auctionId: number;\r\n auctionDetail: any;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n fieldMaxLength10 = constants.common.validations.maxLength10;\r\n fieldMaxLength20 = constants.common.validations.maxLength20;\r\n fieldMaxLength30 = constants.common.validations.maxLength30;\r\n fieldMaxLength50 = constants.common.validations.maxLength50;\r\n fieldMaxLength500 = constants.common.validations.maxLength500;\r\n\r\n isdFlagList: any;\r\n isd: number = 229;\r\n auctionCode: string;\r\n\r\n returnUrl: string = '/';\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private buyerService: BuyerService,\r\n private authenticationService: AuthenticationService,\r\n private countryService: CountryService,\r\n private auctionService: AuctionService,\r\n private enquiryNowService: EnquiryNowService,\r\n private loader: LoaderService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((params) => {\r\n this.auctionCode = params['auctionCode'];\r\n if (this.auctionCode) this.bindDataToForm1();\r\n });\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n this.returnUrl = params['returnTo'];\r\n });\r\n\r\n this.initiateForm();\r\n this.getCountries();\r\n this.captchaKey = environment.captchaSiteKey;\r\n\r\n if (this.authenticationService.checkLoggedIn()) {\r\n this.bindContactUsDetails();\r\n this.isLoggedIn = true;\r\n }\r\n }\r\n\r\n initiateForm() {\r\n this.enquireNowForm = this.formBuilder.group({\r\n name: [\r\n '',\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLength20),\r\n ],\r\n ],\r\n isdCode: [this.isd, Validators.required],\r\n mobileNumber: [\r\n '',\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n Validators.minLength(this.fieldMaxLength10),\r\n Validators.maxLength(this.fieldMaxLength30),\r\n ],\r\n ],\r\n email: [\r\n '',\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.checkEmail,\r\n Validators.maxLength(this.fieldMaxLength30),\r\n ],\r\n ],\r\n message: [\r\n '',\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLength500),\r\n ],\r\n ],\r\n });\r\n }\r\n\r\n private bindDataToForm1() {\r\n this.loader.showLoader(true);\r\n const auctionDetailByCode = this.auctionService\r\n .getAuctionDetailByCode(this.auctionCode)\r\n .subscribe((res: any) => {\r\n this.loader.showLoader(false);\r\n this.auctionDetail = res;\r\n });\r\n this.subscriptions.push(auctionDetailByCode)\r\n }\r\n\r\n private getCountries() {\r\n const countryFlagIsd = this.countryService.getAllCountryFlagIsd().subscribe((res) => {\r\n this.isdFlagList = res;\r\n });\r\n this.subscriptions.push(countryFlagIsd)\r\n }\r\n\r\n bindContactUsDetails() {\r\n if(this.authenticationService.currentBuyerValue()?.user.id)\r\n {\r\n this.loader.showLoader(true);\r\n const currentBuyerValue = this.buyerService\r\n .getById(this.authenticationService.currentBuyerValue()?.user.id)\r\n .subscribe(\r\n (response: any) => {\r\n this.enquireNowForm.patchValue({\r\n name: response.firstName + ' ' + response.lastName,\r\n mobileNumber: response.mobileNumber,\r\n email: response.email,\r\n });\r\n this.loader.showLoader(false);\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(currentBuyerValue)\r\n }\r\n \r\n }\r\n\r\n onSubmit() {\r\n if (this.enquireNowForm.invalid) {\r\n return;\r\n }\r\n\r\n this.submitted = true;\r\n this.loader.showLoader(true);\r\n\r\n let model: EnquiryNow = {\r\n name: this.enquireNowForm.value.name,\r\n mobileNumber: this.enquireNowForm.value.mobileNumber,\r\n email: this.enquireNowForm.value.email,\r\n isdCode: this.enquireNowForm.value.isdCode,\r\n message: this.enquireNowForm.value.message,\r\n auctionId: this.auctionDetail.id,\r\n };\r\n\r\n const postEnquiry = this.enquiryNowService.postEnquiry(model).subscribe(\r\n (response) => {\r\n this.loader.showLoader(false);\r\n this.toastr.success(\r\n 'Thank you! Your message has been successfully sent. We will contact you as soon as we review your message',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.enquireNowForm.reset();\r\n this.enquireNowForm.get('isdCode').setValue(this.isd);\r\n if (this.authenticationService.checkLoggedIn()) {\r\n this.bindContactUsDetails();\r\n this.isLoggedIn = true;\r\n }\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(postEnquiry)\r\n }\r\n\r\n onCancel() {\r\n this.enquireNowForm.reset();\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n\r\n goBack() {\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<div class=\"public-wrap\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 back-link-outer mb-0 d-flex\">\r\n <a class=\"back-link\" role=\"button\" (click)=\"goBack()\">\r\n <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> Back\r\n </a>\r\n </div>\r\n <div class=\"col-12\">\r\n <h3 class=\"register-name mb-3 pb-2\">Inquire Now</h3>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\" *ngIf=\"auctionCode\">\r\n <div class=\"auction-with-logo mb-3\">\r\n <div class=\"left-logo\">\r\n <img\r\n class=\"auction-logo\"\r\n alt=\"auction-logo\"\r\n AuctionDefaultImage\r\n *ngIf=\"auctionDetail\"\r\n [image]=\"auctionDetail.clientLogo\"\r\n />\r\n </div>\r\n <div class=\"right-logo\">\r\n <div class=\"d-flex mb-2\">\r\n <span class=\"card-badge no-card min-width-auto badge-dark\">\r\n {{ auctionDetail?.saleType.publicName }}</span\r\n >\r\n </div>\r\n <h3 class=\"auc-name mb-2\">{{ auctionDetail?.title }}</h3>\r\n <p class=\"auc-des mb-3\" [innerHTML]=\"auctionDetail?.tagline\"></p>\r\n <p class=\"auc-location mb-2\">\r\n {{ auctionDetail?.auctionLocations | locationNames }}\r\n </p>\r\n <p\r\n class=\"auc-address m-0\"\r\n [innerHtml]=\"\r\n auctionDetail?.saleType?.auctionDate\r\n | auctionDateFormat\r\n : auctionDetail?.auctionStatus\r\n : auctionDetail?.timeZoneName\r\n : auctionDetail?.startDateTime\r\n : auctionDetail?.endDateTime\r\n : auctionDetail?.saleType.dateText\r\n \"\r\n ></p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"enquire-form-wrap\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h1 class=\"enquire-hdg\">Please fill the following form.</h1>\r\n <h1 class=\"enquire-sb-hdg\">\r\n Our team will reach out to you shortly.\r\n </h1>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"enquire-form-outer\">\r\n <form [formGroup]=\"enquireNowForm\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\">Full Name*</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n formControlName=\"name\"\r\n maxlength=\"20\"\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter your full name\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [control]=\"enquireNowForm.controls.name\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-12\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\">Email*</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n formControlName=\"email\"\r\n maxlength=\"30\"\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter email\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [control]=\"enquireNowForm.controls.email\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-12\">\r\n <div class=\"row mb-4\">\r\n <div class=\"col-4 col-sm-4 pr-0\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\">Country code *</label>\r\n <mat-select class=\"w-100\" formControlName=\"isdCode\">\r\n <mat-option [value]=\"null\">Select</mat-option>\r\n <mat-option\r\n *ngFor=\"let list of isdFlagList\"\r\n [value]=\"list.value\"\r\n >\r\n <span>\r\n <img\r\n width=\"20\"\r\n alt=\"icon\"\r\n [src]=\"list.text.split(',')[0]\"\r\n />\r\n {{ list.text.split(\",\")[1] }}\r\n </span>\r\n </mat-option>\r\n </mat-select>\r\n <control-messages\r\n [control]=\"enquireNowForm.controls.isdCode\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-7 col-sm-8\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\">Phone Number*</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n formControlName=\"mobileNumber\"\r\n [maxlength]=\"fieldMaxLength30\"\r\n matInput\r\n placeholder=\"Enter phone number\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [control]=\"enquireNowForm.controls.mobileNumber\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\">Message*</label>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea\r\n formControlName=\"message\"\r\n maxlength=\"500\"\r\n rows=\"8\"\r\n matInput\r\n placeholder=\"Write here\"\r\n ></textarea>\r\n </mat-form-field>\r\n <control-messages\r\n [control]=\"enquireNowForm.controls.message\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\" *ngIf=\"!isLoggedIn\">\r\n <div class=\"form-group mb-4\">\r\n <re-captcha\r\n required\r\n [formControl]=\"captcha\"\r\n [siteKey]=\"captchaKey\"\r\n ></re-captcha>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <button\r\n type=\"submit\"\r\n [disabled]=\"\r\n (!isLoggedIn ? captcha.invalid : false) &&\r\n enquireNowForm.invalid\r\n \"\r\n class=\"btn btn-colored mb-2 mb-md-0 mr-2\"\r\n role=\"button\"\r\n (click)=\"onSubmit()\"\r\n >\r\n <span\r\n *ngIf=\"loading\"\r\n class=\"spinner-border spinner-border-sm mr-1\"\r\n ></span>\r\n Send Message\r\n </button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"loading\"\r\n role=\"button\"\r\n (click)=\"onCancel()\"\r\n class=\"btn btn-white-border mb-2 mb-md-0\"\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","/*!\n * \n * jsPDF AutoTable plugin v3.5.14\n * \n * Copyright (c) 2021 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * \n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof this !== 'undefined' ? this : window, function(__WEBPACK_EXTERNAL_MODULE__17__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = exports.FONT_ROW_RATIO = void 0;\n/**\n * Ratio between font size and font height. The number comes from jspdf's source code\n */\nexports.FONT_ROW_RATIO = 1.15;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica',\n fontStyle: 'normal',\n overflow: 'linebreak',\n fillColor: false,\n textColor: 20,\n halign: 'left',\n valign: 'top',\n fontSize: 10,\n cellPadding: 5 / scaleFactor,\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto',\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles && availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(1);\nvar HookData_1 = __webpack_require__(9);\nvar common_1 = __webpack_require__(0);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + fontHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n Cell.prototype.getContentHeight = function (scaleFactor) {\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var fontHeight = (this.styles.fontSize / scaleFactor) * config_1.FONT_ROW_RATIO;\n var height = lineCount * fontHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = common_1.parseSpacing(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(13);\nvar config_1 = __webpack_require__(1);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = cssParser_1.parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve <br> tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(/\\<br.*?\\>/) //start with '<br' and ends with '>'.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var FONT_ROW_RATIO = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - FONT_ROW_RATIO);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * fontSize * FONT_ROW_RATIO;\n else if (styles.valign === 'bottom')\n y -= lineCount * fontSize * FONT_ROW_RATIO;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += fontSize * FONT_ROW_RATIO;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(5);\nvar polyfills_1 = __webpack_require__(4);\nvar common_1 = __webpack_require__(0);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputValidator_1 = __webpack_require__(14);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n inputValidator_1.default(doc, global, document, current);\n var options = polyfills_1.assign({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = polyfills_1.assign({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = polyfills_1.assign({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var margin = common_1.parseSpacing(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = options.horizontalPageBreak ? true : false;\n return {\n includeHiddenHtml: (_e = options.includeHiddenHtml) !== null && _e !== void 0 ? _e : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_f = options.pageBreak) !== null && _f !== void 0 ? _f : 'auto',\n rowPageBreak: (_g = options.rowPageBreak) !== null && _g !== void 0 ? _g : 'auto',\n tableWidth: (_h = options.tableWidth) !== null && _h !== void 0 ? _h : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_j = options.tableLineWidth) !== null && _j !== void 0 ? _j : 0,\n tableLineColor: (_k = options.tableLineColor) !== null && _k !== void 0 ? _k : 200,\n horizontalPageBreak: horizontalPageBreak,\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = htmlParser_1.parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\" + i : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addPage = exports.drawTable = void 0;\nvar config_1 = __webpack_require__(1);\nvar common_1 = __webpack_require__(0);\nvar models_1 = __webpack_require__(3);\nvar documentHandler_1 = __webpack_require__(2);\nvar polyfills_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(6);\nvar tablePrinter_1 = __webpack_require__(15);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.allRows();\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n var startPos = polyfills_1.assign({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak === true) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, table.columns); });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, table.columns); });\n }\n }\n common_1.addTableBorder(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = tablePrinter_1.default.calculateAllColumnsCanFitInPage(doc, table);\n allColumnsCanFitResult.map(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n // print foot for selected columns\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / fontHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = polyfills_1.assign(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \" + row.index + \" correctly since it's minimum height is larger than page height\");\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \" + row.index + \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\");\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n }\n else {\n if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellBorders(doc, cell, cursor);\n var textPos = cell.getTextPos();\n autoTableText_1.default(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellBorders(doc, cell, cursor) {\n var cellStyles = cell.styles;\n if (typeof cellStyles.lineWidth === 'number') {\n // prints normal cell border\n var fillStyle = common_1.getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n var sides = Object.keys(cellStyles.lineWidth);\n var lineWidth_1 = cellStyles.lineWidth;\n sides.map(function (side) {\n var fillStyle = common_1.getFillStyle(lineWidth_1[side], cellStyles.fillColor);\n drawBorderForSide(doc, cell, cursor, side, fillStyle || 'S', lineWidth_1[side]);\n });\n }\n}\nfunction drawBorderForSide(doc, cell, cursor, side, fillStyle, lineWidth) {\n var x1, y1, x2, y2;\n switch (side) {\n case 'top':\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n break;\n case 'left':\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n break;\n case 'right':\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n break;\n default: // default it will print bottom\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n break;\n }\n doc.getDocument().setLineWidth(lineWidth);\n doc.getDocument().line(x1, y1, x2, y2, fillStyle);\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns) {\n if (columns === void 0) { columns = []; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n common_1.addTableBorder(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n }\n}\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(2);\nvar models_1 = __webpack_require__(3);\nvar widthCalculator_1 = __webpack_require__(16);\nvar config_1 = __webpack_require__(1);\nvar polyfills_1 = __webpack_require__(4);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n widthCalculator_1.calculateWidths(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = config_1.getTheme(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = polyfills_1.assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? polyfills_1.assign({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = config_1.defaultStyles(scaleFactor);\n var themeStyles = polyfills_1.assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return polyfills_1.assign(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(12);\nvar inputParser_1 = __webpack_require__(7);\nvar tableDrawer_1 = __webpack_require__(8);\nvar tableCalculator_1 = __webpack_require__(10);\nvar models_1 = __webpack_require__(3);\nObject.defineProperty(exports, \"Table\", { enumerable: true, get: function () { return models_1.Table; } });\nvar HookData_1 = __webpack_require__(9);\nObject.defineProperty(exports, \"CellHookData\", { enumerable: true, get: function () { return HookData_1.CellHookData; } });\nvar models_2 = __webpack_require__(3);\nObject.defineProperty(exports, \"Cell\", { enumerable: true, get: function () { return models_2.Cell; } });\nObject.defineProperty(exports, \"Column\", { enumerable: true, get: function () { return models_2.Column; } });\nObject.defineProperty(exports, \"Row\", { enumerable: true, get: function () { return models_2.Row; } });\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n applyPlugin_1.default(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = inputParser_1.parseInput(d, options);\n var table = tableCalculator_1.createTable(d, input);\n tableDrawer_1.drawTable(d, table);\n}\nexports.default = autoTable;\n// Experimental export\nfunction __createTable(d, options) {\n var input = inputParser_1.parseInput(d, options);\n return tableCalculator_1.createTable(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n tableDrawer_1.drawTable(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(17);\n // Webpack imported jspdf instead of jsPDF for some reason \n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar htmlParser_1 = __webpack_require__(5);\nvar autoTableText_1 = __webpack_require__(6);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputParser_1 = __webpack_require__(7);\nvar tableDrawer_1 = __webpack_require__(8);\nvar tableCalculator_1 = __webpack_require__(10);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = inputParser_1.parseInput(this, options);\n var table = tableCalculator_1.createTable(this, input);\n tableDrawer_1.drawTable(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n autoTableText_1.default(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _a = htmlParser_1.parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _a.head, body = _a.body;\n var columns = head[0].map(function (c) { return c.content; });\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(0);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (color != null)\n result.fillColor = color;\n color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (color != null)\n result.textColor = color;\n color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['borderTopColor'];\n });\n if (color != null)\n result.lineColor = color;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n // style.borderWidth only works in chrome (borderTopWidth etc works in firefox and ie as well)\n var bw = parseInt(style.borderTopWidth || '');\n bw = bw / pxScaleFactor / scaleFactor;\n if (bw)\n result.lineWidth = bw;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n) / pxScaleFactor;\n });\n var padding = common_1.parseSpacing(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\" + name + \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\");\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \" + deprecated + \". Use \" + current + \" instead\");\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _i = 0, _a = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _i < _a.length; _i++) {\n var styleProp = _a[_i];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _b = 0, _c = Object.keys(columnStyles); _b < _c.length; _b++) {\n var key = _c[_b];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports.default = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// get columns can be fit into page\nvar getColumnsCanFitInPage = function (doc, table, config) {\n if (config === void 0) { config = {}; }\n // get page width\n var margins = table.settings.margin;\n var availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n var remainingWidth = availablePageWidth;\n var cols = [];\n var columns = [];\n var len = table.columns.length;\n var i = config && config.start ? config.start : 0;\n while (i < len) {\n var colWidth = table.columns[i].wrappedWidth;\n if (remainingWidth < colWidth) {\n // check if it's first column in the sequence then add it into result\n if (i === 0 || i === config.start) {\n cols.push(i);\n columns.push(table.columns[i]);\n }\n // can't print more columns in same page\n break;\n }\n cols.push(i);\n columns.push(table.columns[i]);\n remainingWidth = remainingWidth - colWidth;\n i++;\n }\n return { colIndexes: cols, columns: columns };\n};\nvar calculateAllColumnsCanFitInPage = function (doc, table) {\n // const margins = table.settings.margin;\n // const availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n var allResults = [];\n var index = 0;\n var len = table.columns.length;\n while (index < len) {\n var result = getColumnsCanFitInPage(doc, table, {\n start: index === 0 ? 0 : index,\n });\n if (result && result.columns && result.columns.length) {\n index += result.columns.length;\n allResults.push(result);\n }\n else {\n index++;\n }\n }\n return allResults;\n};\nexports.default = {\n getColumnsCanFitInPage: getColumnsCanFitInPage,\n calculateAllColumnsCanFitInPage: calculateAllColumnsCanFitInPage,\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(0);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak && resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.error(\"Of the table content, \" + resizeWidth + \" units width could not fit page\");\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = common_1.getStringWidth(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = common_1.getStringWidth(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap') {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n cell.text = cell.styles.overflow(cell.text, textSpace);\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= common_1.getStringWidth(text, styles, doc)) {\n return text;\n }\n while (width < common_1.getStringWidth(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__17__ === 'undefined') {var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__17__;\n\n/***/ })\n/******/ ]);\n});","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../models';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport { ImportResultService, PagingModel } from '../service/import-result.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-auction-result',\r\n templateUrl: './auction-result.component.html',\r\n styleUrls: ['./auction-result.component.css']\r\n})\r\nexport class AuctionResultComponent implements OnInit {\r\n displayedColumns: string[] = ['lotDes', 'location', 'quantity', 'startPrice', 'endTime', 'priceSold', 'winningBidder'];\r\n\r\n lotResults: Array<ImportedAuctionUser> = [];\r\n totalCount: number = 0;\r\n\r\n auctionId: number;\r\n auctionData: GetAuctionStep1;\r\n auctionsDD: Array<CommonDropdown> = [];\r\n\r\n searchTerm: string = '';\r\n pageNumber: number = 1;\r\n pageSize: number = constants.admin.adminPageSize;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(private importResult: ImportResultService, private router: Router, private route: ActivatedRoute, private loader: LoaderService, private auctionService: AuctionService) { }\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((res) => {\r\n let param = res['id'];\r\n if (param) {\r\n if (typeof +param == 'number') {\r\n this.auctionId = +param;\r\n this.getAuctionData();\r\n }\r\n } else {\r\n this.goBack();\r\n }\r\n });\r\n this.auctionsForDD();\r\n }\r\n\r\n auctionsForDD() {\r\n const aucDD = this.importResult.getAuctionsForDD().subscribe((res) => {\r\n this.auctionsDD = res;\r\n });\r\n this.subscriptions.push(aucDD);\r\n }\r\n\r\n private getAuctionData() {\r\n const aucStep = this.auctionService.getAuctionStep1(this.auctionId).subscribe((res) => {\r\n this.auctionData = res;\r\n });\r\n this.subscriptions.push(aucStep);\r\n this.getLotResults();\r\n }\r\n\r\n onAuctionChange(value: number) {\r\n this.auctionId = value;\r\n this.getAuctionData();\r\n }\r\n\r\n changeSearchValue(val: Observable<string>) {\r\n const vals = val.subscribe((value) => {\r\n this.searchTerm = value;\r\n this.pageNumber = 1;\r\n this.getLotResults();\r\n });\r\n this.subscriptions.push(vals);\r\n }\r\n\r\n private pagingParams(): PagingModel {\r\n return {\r\n pageNum: this.pageNumber,\r\n pageSize: this.pageSize,\r\n auctionId: this.auctionId,\r\n searchTerm: this.searchTerm\r\n }\r\n }\r\n\r\n private getLotResults() {\r\n this.loader.showLoader(true);\r\n const pageParams = this.importResult.getLotResults(this.pagingParams()).subscribe((res) => {\r\n this.loader.showLoader(false);\r\n this.lotResults = res.data;\r\n this.totalCount = res.totalCount;\r\n }, _ => {\r\n this.loader.showLoader(false);\r\n this.totalCount = 0;\r\n })\r\n this.subscriptions.push(pageParams);\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.pageNumber = page\r\n this.getLotResults();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['../'], { relativeTo: this.route });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n \r\n}\r\n\r\nexport interface ImportedAuctionUser {\r\n amount: number;\r\n auctionId: number;\r\n auctionUser: {\r\n contactedOn: string;\r\n id: number;\r\n isActive: boolean;\r\n isAgree: boolean;\r\n isApproved: boolean;\r\n isContacted: boolean;\r\n isNewToPlatform: boolean;\r\n isReservedBidder: boolean;\r\n paddleNumber: string;\r\n }\r\n auctionUserId: number;\r\n category: string;\r\n consignor: string;\r\n description: string;\r\n id: number;\r\n images: [{ id: number; name: string; }];\r\n location: string;\r\n lotEndTime: string;\r\n lotEndTimeUtc: string;\r\n lotId: number;\r\n lotNumber: string;\r\n openingPrice: number;\r\n quantity: number;\r\n reservePrice: number;\r\n thumbnailImages: [{ id: number; name: string; }];\r\n user: {\r\n address: { street: string; countryId: number; }\r\n alternateEmailId: string;\r\n biography: string;\r\n companyName: string;\r\n contactNumber: string;\r\n createdOn: string;\r\n email: string;\r\n fax: string;\r\n firstName: string;\r\n id: number;\r\n isActive: boolean;\r\n isMfawithEmail: boolean;\r\n isMfawithSms: boolean;\r\n lastName: string;\r\n mfaauthId: number;\r\n middleName: string;\r\n mobileNumber: string;\r\n paddleNumber: string;\r\n role: number;\r\n }\r\n}\r\n","<div class=\"white-wrap-admin mb-4\">\r\n <div class=\"back-link-outer\">\r\n <div class=\"back-link-outer mb-3 d-flex\">\r\n <a role=\"button\" (click)=\"goBack()\" class=\"back-link\">\r\n <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-12 col-md-12\">\r\n <p class=\"body-txt-22 mb-4\">View Auction Results</p>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-12\">\r\n <div class=\"form-group m-0\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"custom-select-option custom-select-wrap\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Auction To View Its Results</mat-label>\r\n <mat-select\r\n [(value)]=\"auctionId\"\r\n (selectionChange)=\"onAuctionChange($event.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let auction of auctionsDD\"\r\n [value]=\"auction.value\"\r\n >{{ auction.text }}</mat-option\r\n >\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"grey-well m-0\">\r\n <div class=\"for-badge mb-2\">\r\n <span class=\"card-badge badge-dark\">{{\r\n auctionData?.saleType?.publicName\r\n }}</span>\r\n </div>\r\n <h1 class=\"well-name mb-2\">{{ auctionData?.title }}</h1>\r\n <h3 class=\"well-des\" [innerHTML]=\"auctionData?.tagline\"></h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"page-title-wrap mb-3 mb-md-4\">\r\n <h1 class=\"hdg m-0\">Auction Results</h1>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-1 pb-2\">\r\n <div class=\"d-none d-md-block\">\r\n <div class=\"row for-desktop-filters\">\r\n <div class=\"col-12 col-lg-6\">\r\n <div class=\"row\">\r\n <div class=\"col-8 pr-0\">\r\n <div class=\"form-group\">\r\n <search-control\r\n [placeholder]=\"'Search'\"\r\n (value)=\"changeSearchValue($event)\"\r\n >\r\n </search-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n\r\n<ng-container *ngIf=\"totalCount === 0; else showTable\">\r\n <div class=\"empty-state-container empty-pad-2\">\r\n <div class=\"empty-state-content\">\r\n <img\r\n alt=\"empty-state\"\r\n src=\"../../../../assets/images/empty-state-icon.svg\"\r\n />\r\n <h3 class=\"_heading\">No Lot Found</h3>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #showTable>\r\n <div class=\"data-table-wrap\">\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalCount > pageSize\"\r\n >\r\n </app-paginator>\r\n\r\n <table\r\n aria-label=\"table\"\r\n mat-table\r\n [dataSource]=\"\r\n lotResults\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalCount\r\n }\r\n \"\r\n class=\"mat-elevation-z8 custom-data-table resultTable\"\r\n >\r\n <ng-container matColumnDef=\"lotDes\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-1 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <div class=\"withImage\">\r\n <div class=\"forImageRow\">\r\n <img\r\n class=\"location mr-2\"\r\n alt=\"location\"\r\n LotThumbnail\r\n [lotNumber]=\"element.lotNumber\"\r\n [lotImages]=\"element.thumbnailImages\"\r\n />\r\n <span class=\"lotNumberSquare\">\r\n Lot\r\n <span>#{{ element.lotNumber }}</span>\r\n </span>\r\n </div>\r\n <div class=\"forDescr\">\r\n <span class=\"td-header\">Lot Description</span>\r\n {{ element.description }}\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"location\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-2 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span class=\"td-header withIcon\">\r\n <img\r\n class=\"location mr-2\"\r\n alt=\"location\"\r\n src=\"../assets/images/location-green.svg\"\r\n />\r\n Location\r\n </span>\r\n {{ element.location }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"quantity\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-3 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span class=\"td-header\">Quantity</span>{{ element.quantity }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startPrice\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-4 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span class=\"td-header\">Starting Price</span\r\n >{{ element.openingPrice | currency: \"USD\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-5 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span class=\"td-header withIcon\">\r\n <img\r\n class=\"location mr-2\"\r\n alt=\"location\"\r\n src=\"../assets/images/calender.svg\"\r\n />\r\n Lot End Time</span\r\n >{{ element.lotEndTimeUtc | toLocalDateTime }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"priceSold\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-6 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span class=\"td-header\">Price Sold</span\r\n >{{ element.amount | currency: \"USD\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"winningBidder\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td\r\n mat-cell\r\n class=\"column-7 listing-data-entry table-with-row-header\"\r\n *matCellDef=\"let element\"\r\n >\r\n <ng-container *ngIf=\"element.user\">\r\n <span class=\"td-header\">Winning Bidder</span>\r\n {{\r\n element.auctionUser?.paddleNumber\r\n ? \"#\" + element.auctionUser?.paddleNumber\r\n : \"NA\"\r\n }}\r\n {{\r\n \", \" + element.user?.firstName + \" \" + element.user?.lastName ||\r\n \"NA\" + element.user?.lastName ||\r\n \"\"\r\n }}\r\n {{ \", \" + (element.user?.companyName | isEmpty: \"NA\") }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalCount > pageSize\"\r\n >\r\n </app-paginator>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormArray, FormControl } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonDropdown } from '../../../../models';\r\nimport { AuctionSurveyService } from '../../../../services/auction-survey.service';\r\nimport { LoaderService } from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-auction-registeration-success',\r\n templateUrl: './auction-registeration-success.component.html',\r\n styleUrls: ['./auction-registeration-success.component.css'],\r\n})\r\nexport class AuctionRegisterationSuccessComponent implements OnInit {\r\n @Input('auctionId') auctionId: number;\r\n @Input('auctionName') auctionTitle: string;\r\n @Output('goToBack') backToPage = new EventEmitter<boolean>();\r\n listing: Array<CommonDropdown>;\r\n surveyOptions: Array<any> = [];\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private surveyService: AuctionSurveyService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private loader: LoaderService,\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getListing();\r\n }\r\n\r\n getListing() {\r\n const surveyOptions = this.surveyService.getSurveyOptionsListing().subscribe((res) => {\r\n this.listing = res;\r\n });\r\n this.subscriptions.push(surveyOptions)\r\n }\r\n\r\n onChange(optionId: number, isChecked: boolean) {\r\n (isChecked) ? this.surveyOptions.push(optionId) : this.surveyOptions.splice(this.surveyOptions.findIndex((x) => x.value == optionId), 1);\r\n }\r\n\r\n onSubmit() {\r\n this.loader.showLoader(true);\r\n let options = this.surveyOptions.join(', ');\r\n const savesurvey = this.surveyService\r\n .saveAuctionSurvey(this.auctionId, options)\r\n .subscribe(\r\n (res) => {\r\n this.loader.showLoader(false);\r\n this.toastr.success('Survey submitted successfully', constants.common.toast.successTitle, constants.common.toast.config);\r\n this.goToBack();\r\n },\r\n (err) => {\r\n this.loader.showLoader(false);\r\n this.toastr.error(err, constants.common.toast.errorTitle, constants.common.toast.config);\r\n }\r\n );\r\n this.subscriptions.push(savesurvey)\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n goToBack() {\r\n this.backToPage.emit(true);\r\n }\r\n}\r\n","<div class=\"public-wrap\">\r\n <div class=\"container\">\r\n <div class=\"public-wrap-inner\">\r\n <h3 class=\"register\">\r\n <img src=\"/assets/images/auction-success-icon.svg\" />\r\n <span>Registration Successful!</span>\r\n </h3>\r\n <p class=\"register-des\">\r\n Thank you for registering for the auction. - {{ auctionTitle }}\r\n </p>\r\n <p class=\"register-des2\">\r\n Our staff will be reviewing your registration request <br /><br />\r\n This process can take upto 24 hours from the time you registered. We may\r\n contact you to verify your information and ask for a deposit before\r\n approving your registration<br /><br />\r\n If you have any questions, you can contact us at\r\n service@thebranfordgroup.com or call us at 203-488-7020.\r\n </p>\r\n <h3 class=\"note1\">\r\n Please take a moment to fill out this survey form for us\r\n </h3>\r\n <h3 class=\"note2\">May we ask how you heard about the auction ?</h3>\r\n\r\n <div class=\"check-round-outer\">\r\n <div\r\n class=\"custom-checks-square check-round\"\r\n *ngFor=\"let item of listing\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n (change)=\"onChange(item.value, $event.target.checked)\"\r\n id=\"{{ 'option' + item.value }}\"\r\n />\r\n <label for=\"{{ 'option' + item.value }}\" class=\"m-0\">\r\n {{ item.text }}\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"btns-wrap\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-colored mr-2\"\r\n [disabled]=\"surveyOptions.length === 0\"\r\n role=\"button\"\r\n (click)=\"onSubmit()\"\r\n >\r\n Submit Survey\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-white-border\"\r\n role=\"button\"\r\n (click)=\"goToBack()\"\r\n >\r\n No, Thanks\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n LotService,\r\n WatchListService,\r\n WebStorageService,\r\n} from '../../../../services';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { BulkBidSubmissionResult, LotPublic } from '../../../../models';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport constants from '../../../../utility/constants';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport interface BidInfo {\r\n auctionAndLotNumber: string;\r\n bidCount: number;\r\n bidType: number;\r\n bulkLotReservePrice: number;\r\n lotStatus: number;\r\n\r\n currentBid: number;\r\n highestBid: number;\r\n highestBidders: Array<number> | null;\r\n isBiddingPaused: boolean;\r\n loosers: Array<number> | null;\r\n lotEndTimeUtc: string;\r\n lotId: number;\r\n nextRequiredBid: number;\r\n soldAt: number;\r\n soldTo: number;\r\n soldToName: string;\r\n higherBidders: any;\r\n extendedByMinutes: number;\r\n timeLeft: string;\r\n willSell?: boolean;\r\n price: number;\r\n recentBid: number;\r\n soldForBid: number;\r\n}\r\n\r\n@Component({\r\n selector: 'auction-lot-card',\r\n templateUrl: './auction-lot-card.component.html',\r\n styleUrls: ['./auction-lot-card.component.css'],\r\n animations: [\r\n trigger('submit', [\r\n state(\r\n 'noBlink',\r\n style({\r\n border: '1px #ffffff solid',\r\n background: '#ffffff',\r\n })\r\n ),\r\n state(\r\n 'redBlink',\r\n style({\r\n border: '1px #ff1a1a solid',\r\n background: '#ff9999',\r\n })\r\n ),\r\n transition('noBlink=>redBlink', animate('250ms')),\r\n transition('redBlink=>noBlink', animate('1500ms')),\r\n ]),\r\n ],\r\n})\r\nexport class AuctionLotCardComponent implements OnInit, OnChanges {\r\n @Input() isUserRegistered: boolean;\r\n @Input('lotData') eachLotData: LotPublic;\r\n @Input() latestLotData: LotPublic;\r\n @Input() isItWatchList: boolean = false;\r\n @Input() isItActiveBidList: boolean = false;\r\n @Input() serverTime: string = null;\r\n @Input('isListView') showListView: boolean = true;\r\n @Input('pageChanged') pageChange: boolean = true;\r\n @Input() bulkBid: boolean;\r\n @Input() bulkBidResult: BulkBidSubmissionResult[];\r\n @Input() featuredSyncedInfo;\r\n @Output('selectedLotData') selectedLot = new EventEmitter<\r\n LotPublic | number\r\n >();\r\n @Output() submitBulkBid = new EventEmitter<boolean>();\r\n modalRef: BsModalRef;\r\n submitState: string;\r\n\r\n isAddedToWatchlist: boolean = false;\r\n isLotClosed: boolean = false;\r\n\r\n soldStatuses = constants.common.soldStatus;\r\n\r\n loggedInUser = 0;\r\n showTimer: boolean = true;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n minBid: number = constants.common.bid.bidMinAmount;\r\n maxBid: number = constants.common.bid.bidMaxAmount;\r\n\r\n loader: boolean = false;\r\n auctionStatuses = constants.common.auctionStatus;\r\n errorMsg: string = null;\r\n isUserHighestBidder: boolean = false;\r\n biddingAmount: FormControl;\r\n\r\n readOnlyCatalog: boolean;\r\n\r\n isLowConnectionMode: boolean = false;\r\n\r\n lotType = constants.common.lotTypes;\r\n responseData: any;\r\n @ViewChild('quickBidModal', { static: false })\r\n quickBidModal: TemplateRef<any>;\r\n userFullName: string;\r\n\r\n changeInAmount: boolean = false;\r\n\r\n constructor(\r\n private storage: WebStorageService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private watchListService: WatchListService,\r\n private lotService: LotService,\r\n private bidService: BidService,\r\n private auctionTimer: AuctionTimeService,\r\n private modalService: BsModalService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes) {\r\n if (changes?.serverTime) {\r\n this.eachLotData.lotStartTimeUtc = changes.serverTime.currentValue;\r\n }\r\n if (changes?.bulkBidResult) {\r\n this.checkLotBulkBidResult(changes?.bulkBidResult.currentValue);\r\n }\r\n if (changes?.latestLotData) {\r\n this.mapBidInfo(changes?.latestLotData.currentValue);\r\n this.submitState = 'redBlink';\r\n }\r\n if (changes?.featuredSyncedInfo) {\r\n let val = changes?.featuredSyncedInfo.currentValue;\r\n if (this.eachLotData.isFeatured) {\r\n if (val) {\r\n if (val > 0) {\r\n this.biddingAmount.reset();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n this.eachLotData?.lotEndTimeUtc\r\n );\r\n\r\n this.submitState = 'noBlink';\r\n this.biddingAmount = new FormControl(null, [\r\n Validators.minLength(1),\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.min(this.minBid),\r\n Validators.max(this.maxBid),\r\n ]);\r\n\r\n this.isAddedToWatchlist = this.eachLotData.watchListId > 0 ? true : false;\r\n\r\n var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n if (loggedInData == true) {\r\n this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n this.userFullName =\r\n this.storage.getBuyer()?.currentUser?.user?.firstName +\r\n ' ' +\r\n this.storage.getBuyer()?.currentUser?.user?.lastName;\r\n this.checkLotConnectionMode();\r\n }\r\n\r\n this.readOnlyCatalog = this.eachLotData.auction.saleType.isCatalogReadOnly;\r\n\r\n this.checkHigherBidder(this.eachLotData.highestBidder);\r\n\r\n if (\r\n this.loggedInUser > 0 &&\r\n this.eachLotData.loggedInUser?.isApproved &&\r\n (this.eachLotData.auction.auctionStatus == this.auctionStatuses.past ||\r\n checkLotClosed) &&\r\n !this.readOnlyCatalog\r\n ) {\r\n this.showTimer = false;\r\n this.isLotClosed = true;\r\n }\r\n\r\n this.biddingAmount.valueChanges.subscribe((value: number) => {\r\n this.dataModelForBulkBid(value);\r\n });\r\n\r\n this.eachLotData.outbid = this.findOutbid(this.eachLotData);\r\n }\r\n\r\n private checkLotConnectionMode() {\r\n let storedValue = this.storage.getBuyer();\r\n if (storedValue)\r\n this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n }\r\n\r\n refreshWholePage() {\r\n location.reload();\r\n }\r\n\r\n private checkAuctionDeactivated() {\r\n if (!this.readOnlyCatalog) {\r\n this.toastr.info(\r\n `Unfortunately ${this.eachLotData.auction.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (this.readOnlyCatalog) {\r\n this.toastr.info(\r\n `Unfortunately ${this.eachLotData.auction.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n this.router.navigateByUrl('/');\r\n }\r\n\r\n private dataModelForBulkBid(inputedValue: number) {\r\n this.eachLotData.newBid = this.biddingAmount.value;\r\n if (inputedValue) this.selectedLot.emit(this.eachLotData);\r\n else this.selectedLot.emit(this.eachLotData.id);\r\n }\r\n\r\n isTimeReached(isReached: boolean) {\r\n if (isReached) {\r\n this.getLotResults();\r\n this.showTimer = false;\r\n this.isLotClosed = true;\r\n }\r\n }\r\n\r\n mapBidInfo(res: BidInfo) {\r\n if (this.eachLotData.id === res?.lotId) {\r\n this.changeInAmount =\r\n +this.eachLotData.nextRequiredBid !== +res.nextRequiredBid;\r\n this.eachLotData.bidCount = res.bidCount;\r\n this.eachLotData.currentBid = res.currentBid;\r\n this.eachLotData.highestBid = res.highestBid;\r\n this.eachLotData.highestBidder = res.highestBidders;\r\n this.eachLotData.nextRequiredBid = res.nextRequiredBid;\r\n this.eachLotData.lotEndTimeUtc = res.lotEndTimeUtc;\r\n this.eachLotData.soldTo = res.soldTo;\r\n this.eachLotData.soldAt = res.soldAt;\r\n this.eachLotData.extendedByMinutes = res.extendedByMinutes;\r\n this.eachLotData.timeLeft = res.timeLeft;\r\n this.eachLotData.isBiddingPaused = res.isBiddingPaused;\r\n this.eachLotData.lotStatus = res.lotStatus;\r\n this.eachLotData.willSell = res?.willSell;\r\n this.eachLotData.loosers = res?.loosers;\r\n this.eachLotData.outbid = this.findOutbid(this.eachLotData, true);\r\n this.checkHigherBidder(res.highestBidders);\r\n }\r\n }\r\n\r\n endState() {\r\n this.submitState = 'noBlink';\r\n }\r\n\r\n goToViewLotDetail(lotNumber: string) {\r\n this.router.navigate([lotNumber], {\r\n relativeTo: this.route,\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n goToViewLotDetailsFromWatchList(auctionCode, lotNumber) {\r\n this.router.navigate(['/', auctionCode, 'lots', lotNumber], {\r\n queryParams: { returnTo: this.router.url, lotId: this.eachLotData.id },\r\n });\r\n }\r\n\r\n addToWatchList(lotId, lotNumber) {\r\n let model = {\r\n lotId: lotId,\r\n auctionId: this.eachLotData.auction.id,\r\n };\r\n const addToWatchList = this.watchListService.addToWatchList(model).subscribe((res: any) => {\r\n this.toastr.success(\r\n `Lot # ${lotNumber} added to Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.isAddedToWatchlist = true;\r\n });\r\n this.subscriptions.push(addToWatchList)\r\n }\r\n\r\n removeFromWatchList(lotId, lotNumber) {\r\n let model = {\r\n lotId: lotId,\r\n auctionId: this.eachLotData.auction.id,\r\n };\r\n const removeFromwatchList = this.watchListService.removeFromWatchList(model).subscribe((res: any) => {\r\n this.toastr.success(\r\n `Lot # ${lotNumber} removed from Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.isAddedToWatchlist = false;\r\n });\r\n this.subscriptions.push(removeFromwatchList)\r\n }\r\n\r\n private checkHigherBidder(highestBidders: Array<number> | null) {\r\n if (highestBidders != null) {\r\n let isHighest: number = highestBidders.find(\r\n (i) => i == this.eachLotData.loggedInUser?.userId\r\n );\r\n this.isUserHighestBidder = isHighest > -1 ? true : false;\r\n }\r\n }\r\n\r\n goToRegister(auctionCode) {\r\n this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n goToAuctionTitle(auctionCode) {\r\n this.router.navigate([auctionCode], {\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n onSubmit(isQuickBid: boolean = false) {\r\n this.changeInAmount = false;\r\n if (isQuickBid) {\r\n this.modalRef = this.modalService.show(this.quickBidModal, {\r\n class: 'custom-popup modal-dialog-centered',\r\n ignoreBackdropClick: true,\r\n keyboard: false,\r\n });\r\n this.modalRef.onHidden.subscribe(() => {\r\n this.changeInAmount = false;\r\n });\r\n } else {\r\n this.submitBidByApi(isQuickBid);\r\n }\r\n }\r\n\r\n findLooser(): number {\r\n if (this.eachLotData.loosers)\r\n return this.eachLotData.loosers?.findIndex(\r\n (i) => i == +this.loggedInUser\r\n );\r\n return -1;\r\n }\r\n\r\n checkLotBulkBidResult(values: BulkBidSubmissionResult[]) {\r\n if (values && values.length) {\r\n let lotValue = values.find((val) => val.lotId == this.eachLotData.id);\r\n if (lotValue && lotValue.message) {\r\n this.errorMsg = lotValue.isSuccess ? '' : lotValue.message;\r\n this.biddingAmount.reset();\r\n return;\r\n }\r\n\r\n if (lotValue && lotValue.isRemoved) {\r\n this.biddingAmount.reset();\r\n }\r\n }\r\n }\r\n\r\n getLotDataInApi() {\r\n this.loader = true;\r\n const lotDetail = this.lotService\r\n .getLotDetail(\r\n this.eachLotData.id,\r\n this.eachLotData.auction.auctionCode,\r\n this.eachLotData.lotNumber\r\n )\r\n .subscribe(\r\n (res) => {\r\n this.eachLotData = res;\r\n this.checkHigherBidder(res.highestBidder);\r\n this.loader = false;\r\n },\r\n (err) => {\r\n Error(err);\r\n this.loader = false;\r\n }\r\n );\r\n this.subscriptions.push(lotDetail)\r\n }\r\n\r\n findOutbid(item, isShowMessage = false) {\r\n let index =\r\n item.loosers && item.loosers?.length > 0\r\n ? item.loosers?.findIndex((x) => x == this.loggedInUser)\r\n : -1;\r\n let index1 =\r\n item.highestBidder && item.highestBidder?.length > 0\r\n ? item.highestBidder?.findIndex((x) => x == this.loggedInUser)\r\n : -1;\r\n if (index > -1 && index1 == -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n submitBidByApi(isQuickBid: boolean = false) {\r\n this.errorMsg = null;\r\n let bidAmount: number;\r\n\r\n if (!isQuickBid) {\r\n if (this.biddingAmount.invalid) return;\r\n bidAmount = +this.biddingAmount.value;\r\n if (\r\n this.bulkBid ||\r\n (this.bulkBidResult &&\r\n this.bulkBidResult.filter((it) => it.isRemoved == false).length > 1)\r\n ) {\r\n this.submitBulkBid.emit(true);\r\n return;\r\n } else this.submitBulkBid.emit(false);\r\n } else {\r\n bidAmount = +this.eachLotData.nextRequiredBid;\r\n }\r\n\r\n this.loader = true;\r\n\r\n let model: BulkBid = {\r\n auctionId: this.eachLotData.auction.id,\r\n lotAmount: [\r\n {\r\n lotId: this.eachLotData.id,\r\n amount: bidAmount,\r\n },\r\n ],\r\n userId: this.eachLotData.loggedInUser.userId,\r\n paddleNumber: this.eachLotData.loggedInUser.paddleNumber,\r\n proxyUserId: null,\r\n };\r\n\r\n this.bidService\r\n .submitPublicBulkBid(model)\r\n .toPromise()\r\n .then((res: any) => {\r\n res = res[0];\r\n this.loader = false;\r\n if (res.isSuccess) {\r\n this.toastr.success(\r\n res.message,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.biddingAmount.reset();\r\n } else {\r\n this.errorMsg = res.message;\r\n }\r\n if (res.isDeactivated) {\r\n this.checkAuctionDeactivated();\r\n }\r\n })\r\n .catch((err) => {\r\n this.loader = false;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.closeReviewModal();\r\n }\r\n\r\n closeReviewModal() {\r\n this.changeInAmount = false;\r\n this.modalRef.hide();\r\n }\r\n\r\n private getLotResults() {\r\n this.loader = true;\r\n const lotResult = this.bidService.getLotResult(this.eachLotData.id).subscribe(\r\n (res) => {\r\n this.loader = false;\r\n this.mapBidInfo(res);\r\n },\r\n () => (this.loader = false)\r\n );\r\n this.subscriptions.push(lotResult)\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<div [@submit]=\"submitState\" (@submit.done)=\"endState()\" class=\"lot-box-inner\" style=\"position: relative\">\r\n <app-loader [showLoader]=\"loader\" [inlineLoader]=\"true\"> </app-loader>\r\n\r\n <div class=\"top-image-wrap\">\r\n <img *ngIf=\"eachLotData?.thumbnailImages.length == 0\" class=\"lot-banner\" alt=\"lot-banner\"\r\n src=\"/assets/images/image_not_found.svg\" role=\"button\" (click)=\"\r\n goToViewLotDetailsFromWatchList(\r\n eachLotData?.auction.auctionCode,\r\n eachLotData?.lotNumber\r\n )\r\n \" />\r\n <img *ngIf=\"eachLotData?.thumbnailImages.length > 0\" class=\"lot-banner\" alt=\"lot-banner\"\r\n [src]=\"eachLotData?.thumbnailImages[0]?.name\" role=\"button\" (click)=\"\r\n goToViewLotDetailsFromWatchList(\r\n eachLotData?.auction.auctionCode,\r\n eachLotData?.lotNumber\r\n )\r\n \" />\r\n <span class=\"lot-no cursor custom-lot-number\" [ngClass]=\"{ featuredLot: eachLotData?.isFeatured }\" role=\"button\"\r\n (click)=\"\r\n goToViewLotDetailsFromWatchList(\r\n eachLotData?.auction.auctionCode,\r\n eachLotData?.lotNumber\r\n )\r\n \">\r\n {{ (eachLotData?.isFeatured ? \"Featured\" : \"\") + \" Lot\" }}\r\n <span>#{{ eachLotData?.lotNumber }}</span>\r\n </span>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <ng-container *ngIf=\"!showListView && !isItWatchList && !isLotClosed\">\r\n <span class=\"starred\" *ngIf=\"eachLotData?.loggedInUser && !isAddedToWatchlist\">\r\n <img alt=\"star-stroke\" src=\"/assets/images/star-stroke-grey.svg\" role=\"button\"\r\n (click)=\"addToWatchList(eachLotData?.id, eachLotData?.lotNumber)\" />\r\n </span>\r\n <span class=\"starred\" *ngIf=\"eachLotData?.loggedInUser && isAddedToWatchlist\">\r\n <img alt=\"star-filled\" src=\"/assets/images/star-filled.svg\" role=\"button\" (click)=\"\r\n removeFromWatchList(eachLotData?.id, eachLotData?.lotNumber)\r\n \" />\r\n </span>\r\n\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"details-wrap\">\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <div *ngIf=\"\r\n !eachLotData?.isBiddingPaused &&\r\n showTimer &&\r\n eachLotData?.loggedInUser &&\r\n eachLotData?.loggedInUser?.isApproved &&\r\n eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n \">\r\n <div class=\"bid-closes bidCloses\">\r\n <img alt=\"clock-icon\" class=\"mr-2\" src=\"./assets/images/clock.svg\" />\r\n <strong class=\"mr-1\">Closes In </strong>\r\n <timer-countdown [isLowConnectionMode]=\"isLowConnectionMode\" [timeLeft]=\"eachLotData?.timeLeft\"\r\n [startTime]=\"eachLotData?.lotStartTimeUtc\" [endTime]=\"eachLotData?.lotEndTimeUtc\"\r\n (timeReached)=\"isTimeReached($event)\">\r\n </timer-countdown>\r\n\r\n <span class=\"extended badge-dark card-badge ml-3\" *ngIf=\"eachLotData?.extendedByMinutes\">Extended</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <p class=\"des\">{{ eachLotData?.description | characterLimit: 140 }}\r\n <ng-container *ngIf=\"eachLotData?.description &&\r\n eachLotData?.description?.length > 140\">\r\n <div class=\"d-inline for-icons\">\r\n <a role=\"button\" (click)=\"goToViewLotDetailsFromWatchList(\r\n eachLotData?.auction.auctionCode,\r\n eachLotData?.lotNumber\r\n )\" class=\"edit-bids-icon\" style=\"color: #8d1231; text-decoration:underline\">\r\n <span class=\"m-0 p-0\">more info</span>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </p>\r\n\r\n <p class=\"des cursor-pointer\" *ngIf=\"isItWatchList || isItActiveBidList\" role=\"button\"\r\n (click)=\"goToAuctionTitle(eachLotData?.auction?.auctionCode)\">\r\n {{ eachLotData?.auction?.title }}\r\n </p>\r\n <p class=\"auc-address mb-2\" *ngIf=\"\r\n eachLotData?.auction?.auctionStatus == auctionStatuses.upcoming &&\r\n isItWatchList\r\n \">\r\n <span class=\"\">Opens\r\n {{\r\n eachLotData?.auction?.startDateTime\r\n | toLocalDateTime\r\n : false\r\n : eachLotData?.auction?.timeZoneCode\r\n : \"EEEE\r\n MMMM d,h:mm a\"\r\n }}\r\n </span>\r\n </p>\r\n\r\n <div class=\"location-wrap\">\r\n <div class=\"location\">\r\n <ng-container *ngIf=\"eachLotData?.quantity > 1\">\r\n <span class=\"ml-0 mr-2 forQty\">Qty: {{ eachLotData?.quantity }}</span>\r\n </ng-container>\r\n <img class=\"location\" alt=\"location\" height=\"13\" src=\"/assets/images/location-grey.svg\" />\r\n <span>{{ eachLotData?.location }}</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <ng-container *ngIf=\"eachLotData?.auction?.auctionStatus == auctionStatuses.live\">\r\n <p class=\"bid\">{{ eachLotData?.bidCount }} Bids</p>\r\n </ng-container>\r\n <div class=\"des\" style=\"font-size: 12px\" *ngIf=\"\r\n showTimer &&\r\n eachLotData?.loggedInUser &&\r\n eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n \">\r\n <!-- for reserve price -->\r\n <ng-container *ngIf=\"eachLotData?.reservePrice\">\r\n <ng-container *ngIf=\"eachLotData?.bidCount > 0; else elseTemplate\">\r\n <ng-container *ngIf=\"\r\n eachLotData?.currentBid >= eachLotData?.reservePrice;\r\n else elseBody\r\n \">\r\n <p class=\"mb-1\">Reserve Price Met</p>\r\n </ng-container>\r\n <ng-template #elseBody>\r\n <p class=\"mb-1\">Reserve Price Not Met</p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <p class=\"mb-1\">Subject To Reserve Price</p>\r\n </ng-template>\r\n </ng-container>\r\n <!-- for bulk lot or individual lot i text -->\r\n <ng-container *ngIf=\"\r\n eachLotData?.lotType === lotType.individual &&\r\n eachLotData?.addedInBulkLotName\r\n \">\r\n <p class=\"m-0\">\r\n Subject to Bulk Lot of {{ eachLotData?.addedInBulkLotName }}\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This lot is subject to Bulk Lot {{\r\n eachLotData?.addedInBulkLotName\r\n }}. In order for this lot to be awarded, the aggregate total of Lots {{\r\n eachLotData?.associatedLots | bulkLots\r\n }} must exceed the value of {{\r\n eachLotData?.addedInBulkLotName\r\n }}. Additionally, the Bulk Bidder/Individual Bidders will be given {{\r\n eachLotData?.individualModifier\r\n }}% protection.\" [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"\r\n eachLotData?.lotType === lotType.bulk && eachLotData?.lots?.length\r\n \">\r\n <p class=\"m-0\">\r\n Subject to Lots {{ eachLotData?.lots | bulkLots }}\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n matTooltip=\"\r\n The Bulk Bid is Subject to the Aggregate of Lots {{\r\n eachLotData?.lots | bulkLots\r\n }}. The Bulk Bidder/Piecemeal Bidders will be given {{\r\n eachLotData?.modifier\r\n }}% protection. Whichever lot(s) produce the highest total will be awarded the Lot. The Bulk Bid will close before the individual lots and you will not get a chance to re-bid after the individual lots close.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isLotClosed\">\r\n <ng-container *ngIf=\"\r\n eachLotData?.willSell &&\r\n eachLotData?.lotType != eachLotData?.willSell &&\r\n eachLotData?.addedInBulkLotName\r\n \">\r\n <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"\r\n eachLotData?.willSell &&\r\n eachLotData?.lotType != eachLotData?.willSell &&\r\n eachLotData?.lots?.length\r\n \">\r\n <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <div class=\"status-pos\" *ngIf=\"eachLotData?.auction?.auctionStatus == 2 && isItWatchList\">\r\n <p class=\"for-approval awaiting m-0\" *ngIf=\"!eachLotData?.auction?.isApproved\">\r\n <img alt=\"approval-icon\" class=\"approval-icon\" src=\"./assets/images/awaiting-approval.svg\" />\r\n <span>Awaiting Approval</span>\r\n </p>\r\n <p class=\"for-approval approved m-0\" *ngIf=\"eachLotData?.auction?.isApproved\">\r\n <img alt=\"approval-icon\" class=\"approval-icon\" src=\"./assets/images/approved.svg\" />\r\n <span>Approved!</span>\r\n </p>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <div class=\"bid-wrap\">\r\n <ng-content *ngIf=\"isItWatchList\"></ng-content>\r\n\r\n <ng-container *ngIf=\"\r\n !eachLotData?.isBiddingPaused &&\r\n loggedInUser > 0 &&\r\n eachLotData?.loggedInUser?.isApproved &&\r\n eachLotData?.auction.auctionStatus == auctionStatuses.live &&\r\n !isLotClosed\r\n \">\r\n <div class=\"top-price\" *ngIf=\"loggedInUser\">\r\n <div class=\"bid-price left-price\">\r\n <p class=\"name\">{{eachLotData?.bidCount == 0 ? 'Opening Bid' : 'Current Bid'}} Amount</p>\r\n <p class=\"amount\">\r\n {{\r\n eachLotData?.currentBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"bid-price right-price\">\r\n <p class=\"name\">\r\n {{ isUserHighestBidder ? \"Max Bid Amount\" : \"Next Required Bid\" }}\r\n </p>\r\n <p class=\"amount\">\r\n <ng-container *ngIf=\"isUserHighestBidder; else nextRequiredBidSection\">\r\n {{\r\n eachLotData?.highestBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </ng-container>\r\n <ng-template #nextRequiredBidSection>\r\n {{\r\n eachLotData?.nextRequiredBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n <small>\r\n {{ eachLotData?.quantity > 1 ? \"Each\" : \"\" }}\r\n </small>\r\n </ng-template>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"bid-price-input\" *ngIf=\"loggedInUser\">\r\n <div class=\"price-left\">\r\n <div class=\"form-group no-float-fields m-0 height-42\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" [formControl]=\"biddingAmount\" [min]=\"minBid\" [max]=\"maxBid\" />\r\n </mat-form-field>\r\n <control-messages [control]=\"biddingAmount\"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-right\">\r\n <button type=\"button\" class=\"btn btn-white-border w-100\" role=\"button\" (click)=\"onSubmit(false)\" [title]=\"\r\n !isLowConnectionMode\r\n ? 'You are on real time updates'\r\n : 'You are on low connection mode'\r\n \">\r\n Bid Now\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bid-submit\" *ngIf=\"loggedInUser && !isUserHighestBidder\">\r\n <button type=\"button\" class=\"btn btn-colored w-100\" role=\"button\" (click)=\"onSubmit(true)\" [title]=\"\r\n !isLowConnectionMode\r\n ? 'You are on real time updates'\r\n : 'You are on low connection mode'\r\n \">\r\n Quick Bid\r\n {{\r\n eachLotData?.nextRequiredBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"bid-green-hover-outer\" *ngIf=\"loggedInUser && isUserHighestBidder\">\r\n <button type=\"button\" class=\"btn btn-colored btn-green-hover w-100\">\r\n <img alt=\"white-check\" class=\"mr-2\" src=\"./assets/images/white-check.svg\" />\r\n High Bidder\r\n </button>\r\n <div class=\"hover-wrap\">\r\n <p class=\"m-0\">\r\n You will be able to \"Quick Bid\" after your bid is outbid.\r\n <br />\r\n <br />\r\n You may still increase your max bid by entering a higher value on\r\n clicking Bid Now.\r\n </p>\r\n </div>\r\n </div>\r\n <div *ngIf=\"errorMsg != null\">\r\n <p class=\"error-text\">{{ errorMsg }}</p>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"pause-bidding text-center\" [ngClass]=\"{ 'my-3': showListView }\" *ngIf=\"eachLotData?.isBiddingPaused\">\r\n <img alt=\"clock-icon\" class=\"clock-icon\" style=\"height: 25px\" src=\"./assets/images/clock-grey.svg\" />\r\n <h5>Bidding is paused!</h5>\r\n </div>\r\n\r\n <div>\r\n <ng-container *ngIf=\"showTimer\">\r\n <button type=\"button\" class=\"btn btn-white-border w-100 mt-2\" [ngClass]=\"{ 'mb-2': !showListView }\" *ngIf=\"\r\n eachLotData?.auction.isRegistrationActive &&\r\n (eachLotData?.auction.auctionStatus == auctionStatuses.live ||\r\n eachLotData?.auction.auctionStatus ==\r\n auctionStatuses.upcoming) &&\r\n eachLotData?.loggedInUser == null\r\n \" role=\"button\" (click)=\"goToRegister(eachLotData?.auction.auctionCode)\">\r\n Register to Bid\r\n </button>\r\n </ng-container>\r\n\r\n <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n eachLotData?.lotStatus && isLotClosed && eachLotData?.loggedInUser\r\n \">\r\n <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n <ng-container *ngSwitchCase=\"soldStatuses.sold\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\">SOLD</span>\r\n </div>\r\n <p *ngIf=\"eachLotData?.soldTo == loggedInUser\">Winning Bidder</p>\r\n <p *ngIf=\"findLooser() > -1 && eachLotData?.soldTo !== loggedInUser\">Unsuccessful</p>\r\n <p *ngIf=\"isItActiveBidList\">\r\n {{\r\n eachLotData?.loggedInUserLastBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </p>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.unsold\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n <div *ngIf=\"isItWatchList\">\r\n <a role=\"button\" class=\"btn btn-colored w-100 mt-2\" [routerLink]=\"[\r\n '/',\r\n eachLotData?.auction.auctionCode,\r\n 'enquire'\r\n ]\">Inquire Now</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.cancelled\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.pending\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> PENDING </span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"loggedInUser > 0 && eachLotData?.loggedInUser?.isApproved\">\r\n <div class=\"refreshWatchlist\">\r\n <div class=\"mb-2 mt-2 sold-wrap d-flex align-items-center list-view\"\r\n *ngIf=\"showListView && !isItWatchList && !isLotClosed\">\r\n <div class=\"starred add-wishlist\" role=\"button\" (click)=\"\r\n addToWatchList(eachLotData?.id, eachLotData?.lotNumber)\r\n \" *ngIf=\"loggedInUser != 0 && !isAddedToWatchlist\">\r\n <span class=\"for-image\">\r\n <img alt=\"star-stroke\" src=\"/assets/images/star-stroke-grey.svg\" />\r\n </span>\r\n <span class=\"ml-2\">Add To Watchlist</span>\r\n </div>\r\n\r\n\r\n <a [routerLink]=\"['/profile/my-watchlist']\" *ngIf=\"loggedInUser != 0 && isAddedToWatchlist\">\r\n <div class=\"add-wishlist\">\r\n <span class=\"for-image\">\r\n <img alt=\"star-filled\" src=\"/assets/images/star-filled.svg\" />\r\n </span>\r\n <span class=\"ml-2\">Go to Watchlist</span>\r\n </div>\r\n </a>\r\n\r\n </div>\r\n <span class=\"outbid-text ml-2 mt-3\" *ngIf=\"eachLotData?.outbid && !isLotClosed\">Outbid</span>\r\n\r\n <ng-container *ngIf=\"isLowConnectionMode && !isLotClosed\">\r\n <a class=\"iconRefresh\" role=\"button\" role=\"button\" (click)=\"getLotDataInApi()\">\r\n <img alt=\"refresh\" title=\"refresh\" class=\"mr-2\" src=\"/assets/images/refresh.svg\" />\r\n Refresh\r\n </a>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n\r\n<ng-template #quickBidModal>\r\n <div class=\"modal-header pl-3\">\r\n <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeReviewModal()\">\r\n <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"column-list\">\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Auction</div>\r\n <div class=\"right-wrap\">{{ eachLotData.auction.title | titlecase }}</div>\r\n </div>\r\n\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Bidder</div>\r\n <div class=\"right-wrap\">\r\n Paddle No. {{ eachLotData.loggedInUser.paddleNumber }} {{userFullName | titlecase}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"data-table-wrap w-100\">\r\n <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n <tbody>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Lot #</span>\r\n {{ eachLotData.lotNumber }}\r\n </td>\r\n <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot Description</span>\r\n {{ eachLotData.description | characterLimit: 50 }}\r\n </td>\r\n <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Quick Bid</span>\r\n {{ eachLotData.nextRequiredBid | auctionCurrency: eachLotData.auction.curreny }}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <ng-container *ngIf=\"changeInAmount\">\r\n <p>Note : New Bid has been placed. Please bid again.</p>\r\n </ng-container>\r\n\r\n <div class=\"review-btns-wrap mt-3\">\r\n <ng-container *ngIf=\"!changeInAmount\">\r\n <button type=\"button\" class=\"btn btn-colored\" role=\"button\" (click)=\"submitBidByApi(true)\">\r\n Submit Bid\r\n </button>\r\n </ng-container>\r\n <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { AuthenticationService } from './../../../services/authentication.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { SaleTypeService } from './../../../services/sale-type.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuctionService, LotService } from '../../../services';\r\nimport { Auction } from '../../../models';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport constants from '../../../utility/constants';\r\nimport { ModuleService } from '../../module.service';\r\nimport messages from '../../../utility/messages';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AdminAuctionList } from '../../../models/adminAuctionList';\r\nimport { AuctionTimeService } from '../../../services/auction-time.service';\r\n\r\n@Component({\r\n selector: 'app-auction-list',\r\n templateUrl: './auction-list.component.html',\r\n styleUrls: ['./auction-list.component.css'],\r\n})\r\nexport class AuctionListComponent implements OnInit {\r\n auctionStatusType: Array<{ value: number; text: string }> = [];\r\n auctionMode: string;\r\n\r\n auctionList: Array<AdminAuctionList> = [];\r\n\r\n saleType: any;\r\n //paging variables\r\n saleTypeId: number = null;\r\n status: number = 0;\r\n auctionStatus: boolean = false;\r\n auctionStatusId: number = 0;\r\n searchTerm: string = '';\r\n pageNumber: number = 1;\r\n pageSize: number = constants.admin.adminPageSize;\r\n sortBy: string = '';\r\n sortOrder: string = '';\r\n isPaginated: boolean = true;\r\n onlyActive: boolean = false;\r\n\r\n selectedFilter: string = 'Live';\r\n classToggled = false;\r\n mobileFilters = false;\r\n\r\n searchControl = new FormControl();\r\n searchMaxLength = constants.common.validations.searchMaxLength;\r\n\r\n role: any;\r\n startStop: any;\r\n upcomingAuctions: any;\r\n approveForm: FormGroup;\r\n approveCommonForm: FormGroup;\r\n modalRef: BsModalRef;\r\n submitLoader: boolean = false;\r\n loading: boolean = false;\r\n // total auction count\r\n totalAuctions: number;\r\n auctionId: any;\r\n //show view when data is loaded\r\n showView: boolean = false;\r\n auctionModel: AdminAuctionList;\r\n registrationId: any;\r\n pageReset: Boolean = false;\r\n disableCommonRegistrationButton: Boolean = true;\r\n currentUrl: string;\r\n websiteUrl: string = environment.websiteUrl;\r\n\r\n auctionStatuses = constants.common.auctionStatus;\r\n registrationFormat = constants.common.saletypeRegistrationFormat;\r\n displaySection = constants.common.displaySection;\r\n roles = constants.common.role;\r\n\r\n currentSelectedAuction: AdminAuctionList;\r\n isLoading: boolean = false;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private auctionService: AuctionService,\r\n private saleTypeService: SaleTypeService,\r\n private toastr: ToastrService,\r\n private modalService: BsModalService,\r\n private moduleService: ModuleService,\r\n private as: AuthenticationService,\r\n private lotService: LotService,\r\n private auctionTimeService: AuctionTimeService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // this is to set the 1st tab alive\r\n this.role = this.as.currentUserValue()?.user?.role?.id;\r\n this.initializeSearchInputOnChangeListener();\r\n this.getSaleType();\r\n if (window.location.href.split('type=')[1] == 'live') {\r\n this.setQueryParam('live', 1);\r\n this.auctionMode = 'live';\r\n } else if (window.location.href.split('type=')[1] == 'upcoming') {\r\n this.setQueryParam('upcoming', 2);\r\n this.auctionMode = 'upcoming';\r\n } else if (window.location.href.split('type=')[1] == 'recent') {\r\n this.setQueryParam('recent', 4);\r\n this.auctionMode = 'recent';\r\n } else if (window.location.href.split('type=')[1] == 'pending') {\r\n this.setQueryParam('pending', 3);\r\n this.auctionMode = 'pending';\r\n } else {\r\n this.setQueryParam('live', 1);\r\n this.auctionMode = 'live';\r\n }\r\n\r\n const atypes = this.auctionService.getAuctionStatusType().subscribe(\r\n (res) => {\r\n this.auctionStatusType = res;\r\n },\r\n () => {}\r\n );\r\n this.subscriptions.push(atypes);\r\n this.route.queryParams.subscribe((params) => {\r\n if (params['type'] !== undefined) {\r\n let param: string = params['type'];\r\n this.auctionMode = param.toLowerCase();\r\n }\r\n });\r\n this.approveForm = new FormGroup({\r\n id: new FormControl(''),\r\n isPublic: new FormControl(false),\r\n isRegistrationActive: new FormControl(false),\r\n registrationSyncWithAuctionId: new FormControl(''),\r\n });\r\n this.approveCommonForm = new FormGroup({\r\n auctionId: new FormControl(''),\r\n syncWithAuctionId: new FormControl(''),\r\n });\r\n\r\n // calling list\r\n this.getListing();\r\n this.currentUrl = this.router.url;\r\n }\r\n\r\n goToReportSection(id, auctionMode) {\r\n this.router.navigate(['/admin/dashboard/reports'], {\r\n queryParams: { id: id, auctionMode: auctionMode },\r\n });\r\n }\r\n\r\n openLink(url) {\r\n window.open(url, '_blank');\r\n }\r\n\r\n openLotsLink(url) {\r\n window.open(url + '#check', '_blank');\r\n }\r\n\r\n resetSearch() {\r\n this.searchControl.reset();\r\n this.getListing();\r\n }\r\n\r\n changeSearchValue(val: Observable<string>) {\r\n const vals = val.subscribe((value) => {\r\n this.searchTerm = value;\r\n this.pageNumber = 1;\r\n this.getListing();\r\n });\r\n this.subscriptions.push(vals);\r\n }\r\n\r\n checkApproveAuction(): boolean {\r\n return this.moduleService.userHas(constants.admin.modules.approveAuction);\r\n }\r\n\r\n checkCreateAuction(): boolean {\r\n return this.moduleService.userHas(constants.admin.modules.createNewAuction);\r\n }\r\n\r\n getSaleType() {\r\n const stypes = this.saleTypeService.getSaletypeForDropDown().subscribe((data) => {\r\n this.saleType = data;\r\n });\r\n this.subscriptions.push(stypes);\r\n }\r\n onSaleTypeFilter(saleTypeId) {\r\n this.saleTypeId = saleTypeId;\r\n this.pageNumber = 1;\r\n this.getListing();\r\n }\r\n private initializeSearchInputOnChangeListener() {\r\n this.searchControl.valueChanges\r\n .pipe(debounceTime(1200))\r\n .subscribe((value: any) => {\r\n this.searchTerm = value;\r\n this.pageNumber = 1;\r\n this.getListing();\r\n });\r\n }\r\n // set the auction mode\r\n setQueryParam(auctionType: string, aucStatusId?: number) {\r\n this.pageNumber = 1;\r\n this.pageReset = true;\r\n this.router.navigate(['./'], {\r\n relativeTo: this.route,\r\n queryParams: { type: auctionType },\r\n });\r\n\r\n this.auctionStatusId = aucStatusId;\r\n this.selectedFilter = auctionType;\r\n this.auctionMode = auctionType;\r\n this.getListing();\r\n }\r\n\r\n // paging info\r\n paging() {\r\n if (this.searchTerm == null || this.searchTerm == undefined) {\r\n this.searchTerm = '';\r\n }\r\n let model = {\r\n saleTypeId: this.saleTypeId,\r\n status: this.status,\r\n auctionStatusId: this.auctionStatusId,\r\n searchTerm: this.searchTerm,\r\n pageNumber: this.pageNumber,\r\n pageSize: this.pageSize,\r\n sortBy: this.sortBy,\r\n sortOrder: this.sortOrder,\r\n isPaginated: this.isPaginated,\r\n onlyActive: this.onlyActive,\r\n };\r\n return model;\r\n }\r\n onPageChange(paging: number) {\r\n this.pageNumber = paging;\r\n this.pageReset = false;\r\n this.getListing();\r\n }\r\n // live listing section\r\n getListing() {\r\n this.showView = false;\r\n this.isLoading = true;\r\n const gaucs = this.auctionService.getAuctions(this.paging()).subscribe(\r\n (res: any) => {\r\n this.isLoading = false;\r\n this.auctionList = res.data;\r\n this.totalAuctions = res.totalCount;\r\n if (this.totalAuctions > this.pageSize) {\r\n this.showView = true;\r\n } else {\r\n this.showView = false;\r\n }\r\n },\r\n () => {\r\n this.isLoading = false;\r\n this.showView = true;\r\n }\r\n );\r\n this.subscriptions.push(gaucs);\r\n }\r\n\r\n checkLotClosing(lotCloseStartTime: string, lotCloseEndTime: string): boolean {\r\n var result = this.auctionTimeService.isLotClosing(\r\n lotCloseStartTime,\r\n lotCloseEndTime\r\n );\r\n return result;\r\n }\r\n\r\n openDeActivateAuction(\r\n template2: TemplateRef<any>,\r\n actionModel: AdminAuctionList,\r\n status: boolean\r\n ) {\r\n this.modalRef = this.modalService.show(\r\n template2,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n })\r\n );\r\n this.auctionModel = actionModel;\r\n this.auctionStatus = status;\r\n }\r\n\r\n importAuctionModal(\r\n importAuction: TemplateRef<any>,\r\n auction: AdminAuctionList\r\n ) {\r\n this.auctionModel = auction;\r\n this.modalRef = this.modalService.show(\r\n importAuction,\r\n Object.assign({\r\n class: 'custom-popup modal-dialog modal-dialog-centered importAuction',\r\n })\r\n );\r\n }\r\n\r\n importAuctionUserModal(\r\n importAuctionUser: TemplateRef<any>,\r\n auction: AdminAuctionList\r\n ) {\r\n this.auctionModel = auction;\r\n this.modalRef = this.modalService.show(\r\n importAuctionUser,\r\n Object.assign({\r\n class:\r\n 'custom-popup modal-dialog modal-dialog-centered importAuctionUser',\r\n })\r\n );\r\n }\r\n\r\n deActivateAuction(auctionModel: AdminAuctionList) {\r\n this.submitLoader = true;\r\n const statuschange = this.auctionService\r\n .auctionChangeStatus({ id: auctionModel.id })\r\n .subscribe(() => {\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n if (this.auctionStatus == true) {\r\n this.toastr.success(\r\n messages.auctionListing.deActivateAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.auctionStatus = !this.auctionStatus;\r\n } else {\r\n this.toastr.success(\r\n messages.auctionListing.activateAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.auctionStatus = !this.auctionStatus;\r\n }\r\n this.getListing();\r\n });\r\n this.subscriptions.push(statuschange);\r\n }\r\n openDeleteAuction(template: TemplateRef<any>, actionModel: AdminAuctionList) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n })\r\n );\r\n this.auctionModel = actionModel;\r\n }\r\n\r\n openFeaturedPastModal(\r\n template: TemplateRef<any>,\r\n actionModel: AdminAuctionList\r\n ) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n })\r\n );\r\n this.auctionModel = actionModel;\r\n }\r\n\r\n openUnarchiveModal(\r\n template: TemplateRef<any>,\r\n actionModel: AdminAuctionList\r\n ) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n })\r\n );\r\n this.auctionModel = actionModel;\r\n }\r\n\r\n unarchiveAuction() {\r\n this.submitLoader = true;\r\n const uacution = this.auctionService.unarchiveAuction(this.auctionModel.id).subscribe(\r\n () => {\r\n this.pageReset = true;\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.toastr.success(\r\n `Auction ${\r\n this.auctionModel.isArchived ? 'Unarchive' : 'Archive'\r\n } successfully`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.submitLoader = false;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(uacution);\r\n }\r\n\r\n updateFeaturedPast() {\r\n this.submitLoader = true;\r\n const auction = this.auctionService.changeFeaturedPast(this.auctionModel.id).subscribe(\r\n () => {\r\n this.pageReset = true;\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.toastr.success(\r\n `Auction ${\r\n this.auctionModel.isArchived ? 'Unarchive' : 'Archive'\r\n } successfully`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.submitLoader = false;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(auction);\r\n }\r\n\r\n unpublishCatalog() {\r\n this.submitLoader = true;\r\n const ulots = this.lotService.unpublishLots(this.auctionModel.id).subscribe(\r\n () => {\r\n this.pageReset = true;\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.toastr.success(\r\n 'Lot Catalog Unpublished successfully',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(ulots);\r\n }\r\n\r\n deleteAuction(auctionModel: AdminAuctionList) {\r\n this.submitLoader = true;\r\n const audelete = this.auctionService\r\n .auctionDelete({ auctionId: auctionModel.id })\r\n .subscribe(() => {\r\n this.pageReset = true;\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.toastr.success(\r\n messages.auctionListing.deleteAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.modalService.hide();\r\n });\r\n this.subscriptions.push(audelete);\r\n }\r\n getUpcomingAuctions(id: number) {\r\n const upauctions = this.auctionService.getUpcomingAuctions(id,true).subscribe(\r\n (res) => {\r\n this.upcomingAuctions = res;\r\n },\r\n () => {}\r\n );\r\n this.subscriptions.push(upauctions);\r\n }\r\n openStatusAuction(\r\n template: TemplateRef<any>,\r\n actionModel: Auction,\r\n status: number\r\n ) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n })\r\n );\r\n this.startStop = status;\r\n this.registrationId = actionModel;\r\n }\r\n approveAuction() {\r\n this.submitLoader = true;\r\n this.approveForm.get('id').setValue(this.auctionId);\r\n\r\n const auapprove = this.auctionService\r\n .auctionApprove(this.approveForm.getRawValue())\r\n .subscribe(\r\n () => {\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.approveForm.reset();\r\n this.toastr.success(\r\n messages.auctionListing.approveAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.modalRef.hide();\r\n },\r\n (err) => {\r\n this.submitLoader = false;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(auapprove);\r\n }\r\n approveCommonAuction() {\r\n this.submitLoader = true;\r\n this.approveCommonForm.get('auctionId').setValue(this.auctionId);\r\n const sregister = this.auctionService\r\n .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n .subscribe(() => {\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.approveCommonForm.reset();\r\n this.toastr.success(\r\n messages.auctionListing.approveAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.modalRef.hide();\r\n });\r\n this.subscriptions.push(sregister);\r\n }\r\n openApproveAuction(\r\n template: TemplateRef<any>,\r\n currentAuction: AdminAuctionList\r\n ) {\r\n this.currentSelectedAuction = currentAuction;\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup activate-modal activate-lmodal text-left modal-dialog modal-dialog-centered approve-auction',\r\n })\r\n );\r\n this.auctionId = currentAuction.id;\r\n this.getUpcomingAuctions(this.auctionId);\r\n }\r\n auctionStartRegistration(id) {\r\n this.submitLoader = true;\r\n const auregister = this.auctionService.auctionStartRegistration({ id: id }).subscribe(\r\n () => {\r\n this.getListing();\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n this.toastr.success(\r\n messages.auctionListing.auctionStartRegistration,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n },\r\n (err) => {\r\n this.getListing();\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(auregister);\r\n }\r\n closeModal() {\r\n this.modalService.hide();\r\n this.approveForm.reset();\r\n }\r\n auctionStopRegistration(id) {\r\n this.submitLoader = true;\r\n const stopregister = this.auctionService.auctionStopRegistration({ id: id }).subscribe(\r\n () => {\r\n this.getListing();\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n this.toastr.success(\r\n messages.auctionListing.auctionStopRegistration,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n },\r\n (err) => {\r\n this.getListing();\r\n this.submitLoader = false;\r\n this.closeModal();\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(stopregister);\r\n }\r\n markItFeatured(id) {\r\n const markfeature = this.auctionService.markItFeatured(id).subscribe((res) => {\r\n this.getListing();\r\n this.toastr.success(\r\n res\r\n ? messages.auctionListing.markItFeatured\r\n : messages.auctionListing.markItUnFeatured,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(markfeature);\r\n }\r\n markAsSold(id) {\r\n const msold = this.auctionService.markAsSold({ id: id }).subscribe(() => {\r\n this.getListing();\r\n this.toastr.success(\r\n messages.auctionListing.markAsSold,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(msold);\r\n }\r\n stopSyncRegistrationWithOtherAuction(id) {\r\n const sauctions = this.auctionService\r\n .stopSyncRegistrationWithOtherAuction({ id: id })\r\n .subscribe(() => {\r\n this.getListing();\r\n this.toastr.success(\r\n messages.auctionListing.stopSyncRegistrationWithOtherAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(sauctions);\r\n }\r\n syncRegistrationWithOtherAuction() {\r\n this.isLoading = true;\r\n this.approveCommonForm.patchValue({ auctionId: this.auctionId });\r\n this.approveCommonForm.patchValue({\r\n syncWithAuctionId: this.approveCommonForm.get('syncWithAuctionId').value,\r\n });\r\n const otherAuction = this.auctionService\r\n .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n .subscribe(\r\n () => {\r\n this.submitLoader = false;\r\n this.getListing();\r\n this.approveCommonForm.reset();\r\n this.isLoading = false;\r\n this.modalRef.hide();\r\n this.toastr.success(\r\n messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n },\r\n (error) => {\r\n this.toastr.error(\r\n error,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.isLoading = false;\r\n }\r\n );\r\n this.subscriptions.push(otherAuction);\r\n }\r\n\r\n upcomingAuctionChange(value: string) {\r\n this.disableCommonRegistrationButton = Number(value) > 0 ? false : true;\r\n }\r\n\r\n goToUsers(auctionId) {\r\n this.router.navigate(['./', auctionId, 'users'], {\r\n relativeTo: this.route,\r\n queryParams: {\r\n returnTo: this.router.url,\r\n },\r\n });\r\n }\r\n\r\n goToBidders(auctionId) {\r\n this.router.navigate(['./', auctionId, 'bids', 'bidder'], {\r\n relativeTo: this.route,\r\n queryParams: {\r\n returnTo: this.router.url,\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-6 col-sm-6\">\r\n <h3 class=\"text-left\">Auctions</h3>\r\n </div>\r\n <div class=\"col-12 col-sm-6 text-right\" *ngIf=\"checkCreateAuction()\">\r\n <a role=\"button\" class=\"btn btn-colored text-right\" routerLink=\"add\">\r\n + Create New Auction\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div class=\"row mt-3\">\r\n <ng-container *ngIf=\"auctionStatusType != []\">\r\n <div class=\"col-12\">\r\n <div class=\"list-filter-tabs\">\r\n <button type=\"button\" class=\"list-tab\" *ngFor=\"let type of auctionStatusType\" role=\"button\"\r\n (click)=\"setQueryParam(type.text.toLowerCase(), type.value)\" [ngClass]=\"{\r\n active: type.text.toLowerCase() == selectedFilter.toLowerCase()\r\n }\">\r\n {{ type.text | uppercase }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-2 mt-4 pb-2\">\r\n <div class=\"d-none d-md-block\">\r\n <div class=\"row for-desktop-filters\">\r\n <div class=\"col-12 col-md-8\">\r\n <div class=\"row\">\r\n <div class=\"col-6 pr-0\">\r\n <search-control [placeholder]=\"'Auction Title or Tagline or Sale Code'\" (value)=\"changeSearchValue($event)\">\r\n </search-control>\r\n </div>\r\n\r\n <div class=\"col-6 pr-0\">\r\n <filter-control [title]=\"'Filter by sale Type'\" [control]=\"saleTypeId\" [filters]=\"saleType\"\r\n (currentValue)=\"onSaleTypeFilter($event)\"></filter-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"for-mobile-filters d-block d-md-none\">\r\n <div class=\"row mobile-filters-wrap\" [class.activeFilter]=\"classToggled\">\r\n <div class=\"for-search\">\r\n <div class=\"form-group m-0\">\r\n <search-control [placeholder]=\"'Auction Title or Tagline or Sale Code'\" (value)=\"changeSearchValue($event)\"\r\n [mobileFilter]=\"true\" (toogleButton)=\"classToggled = $event\">\r\n </search-control>\r\n </div>\r\n\r\n <span class=\"mobile-filter ml-2\" role=\"button\" (click)=\"mobileFilters = true\" [ngClass]=\"{\r\n 'badge-active': saleTypeId != null\r\n }\">\r\n <img src=\"../assets/images/mobile-filter.svg\" title=\"mobile-filter-icon\" alt=\"mobile-filter-icon\" />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n\r\n<section class=\"filter-box-wrap\" *ngIf=\"mobileFilters\">\r\n <div class=\"filter-box-inner\">\r\n <div class=\"top-wrap\">\r\n <h3 class=\"filter-name\">Filter By:</h3>\r\n\r\n <span class=\"cross-icon\" role=\"button\" (click)=\"mobileFilters = false\">\r\n <img src=\"../assets/images/cross.svg\" title=\"filter-cross-icon\" alt=\"filter-cross-icon\" />\r\n </span>\r\n </div>\r\n <div class=\"list-wrap\">\r\n <div class=\"list-parts\">\r\n <h3 class=\"parts-outer-name\">Sale Type</h3>\r\n\r\n <div class=\"custom-checks-outer\">\r\n <div class=\"custom-checks\">\r\n <input id=\"check100\" type=\"radio\" name=\"register\" [value]=\"null\" role=\"button\"\r\n (click)=\"onSaleTypeFilter(null)\" />\r\n <label for=\"check100\">All</label>\r\n </div>\r\n <div class=\"custom-checks\" *ngFor=\"let item of saleType; let i = index\">\r\n <input [id]=\"'check' + i\" type=\"radio\" name=\"register\" [value]=\"item.value\" role=\"button\"\r\n (click)=\"onSaleTypeFilter(item.value)\" />\r\n <label [for]=\"'check' + i\">{{ item.text }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"filter-btn-wrap pt-2\">\r\n <button class=\"btn btn-colored w-100\" type=\"button\" role=\"button\" (click)=\"mobileFilters = false\">\r\n Apply Filters\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n\r\n<app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"\r\n *ngIf=\"showView\">\r\n</app-paginator>\r\n\r\n<div class=\"empty-state-container empty-pad\" *ngIf=\"totalAuctions == 0; else showTable\">\r\n <div class=\"empty-state-content\">\r\n <ng-container *ngIf=\"auctionMode == 'pending'\">\r\n <img alt=\"empty-state\" src=\"../../../../assets/images/auction-success.svg\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"auctionMode != 'pending'\">\r\n <img alt=\"empty-state\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n </ng-container>\r\n\r\n <h3 class=\"_heading\">\r\n There are no {{ auctionMode | titlecase }} Auctions yet\r\n </h3>\r\n <p class=\"_text\" *ngIf=\"role != roles.auctionAdmin\">\r\n To create a new Auction use the button below\r\n </p>\r\n <button class=\"btn btn-colored\" type=\"button\" [routerLink]=\"['../add']\" *ngIf=\"role != roles.auctionAdmin\">\r\n + Create New Auction\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<ng-template #showTable>\r\n <div class=\"card-row\" *ngFor=\"\r\n let list of auctionList\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalAuctions\r\n }\r\n \">\r\n <div class=\"row\">\r\n <div class=\"col-auto max-width--200 card-title-left\">\r\n <p class=\"card-heading for-attr-hdg\" data-column=\"Auction Title\">\r\n <span>{{ list.title }}</span>\r\n </p>\r\n <p class=\"card-description no-card\" [innerHTML]=\"list.tagline | sanitizedHtml\"></p>\r\n <div class=\"no-card\">\r\n <p class=\"card-loc-info mr-3\" *ngFor=\"let loc of list.locations\">\r\n <img alt=\"location-icon\" src=\"../assets/images/location-green.svg\" />\r\n <span class=\"ml-2\">{{ loc.name }}</span>\r\n </p>\r\n </div>\r\n <span class=\"card-badge no-card min-width-auto\">\r\n {{ list.saleTypeName }}\r\n </span>\r\n </div>\r\n <div class=\"col-auto ml-md-auto card-title-right\">\r\n <div class=\"for-icons\">\r\n <span *ngIf=\"checkApproveAuction()\">\r\n <button class=\"btn btn-colored mr-2\" *ngIf=\"\r\n list?.isSentForApproval == true &&\r\n auctionMode == 'pending' &&\r\n (role == roles.admin || role == roles.auctionAdmin)\r\n \" role=\"button\" (click)=\"openApproveAuction(templateApprove, list)\">\r\n Approve\r\n </button>\r\n </span>\r\n\r\n <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"!list.saleType.isCatalogReadOnly\">\r\n <span *ngIf=\"['live'].includes(auctionMode)\">\r\n <button type=\"button\" [routerLink]=\"[list.id, 'bids']\" class=\"btn btn-colored mr-2\">\r\n View Bids\r\n </button>\r\n </span>\r\n <span *ngIf=\"['archived', 'recent'].includes(auctionMode)\">\r\n <button type=\"button\" [routerLink]=\"[list.id, 'result']\" class=\"btn btn-colored mr-2\"\r\n *ngIf=\"list.saleType.isCatalogReadOnly\">\r\n View Results\r\n </button>\r\n <button type=\"button\" [routerLink]=\"[list.id, 'bids']\" class=\"btn btn-colored mr-2\"\r\n *ngIf=\"!list.saleType.isCatalogReadOnly\">\r\n View Bids\r\n </button>\r\n </span>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <a class=\"hover-icon view-auction-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n matTooltip=\"View Auction\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n [routerLink]=\"[list.id]\"></a>\r\n\r\n <a class=\"hover-icon edit-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Edit Auction Details\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n [routerLink]=\"[list.id, 'edit']\" *ngIf=\"auctionMode !== 'archived'\"></a>\r\n\r\n <a *ngIf=\"auctionMode == 'pending'\" role=\"button\" (click)=\"openDeleteAuction(template, list)\"\r\n class=\"hover-icon delete-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\" matTooltip=\"Delete\"\r\n matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"></a>\r\n\r\n <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n <a *ngIf=\"!['recent', 'archived'].includes(auctionMode)\"\r\n class=\"hover-icon configure-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Configure Lot Catalog\" [routerLink]=\"[list.id, 'configure-lot']\"\r\n [queryParams]=\"{ returnTo: currentUrl }\" matTooltipClass=\"custom-tooltip-icon\"\r\n [matTooltipPosition]=\"'above'\"></a>\r\n </ng-container>\r\n <ng-container *ngIf=\"\r\n list.saleType.registrationFormat ===\r\n registrationFormat.tbgRegistration &&\r\n !list.saleType.isCatalogReadOnly\r\n \">\r\n <a *ngIf=\"auctionMode !== 'pending'\" class=\"hover-icon register-icon mr-2 custom-tooltip custom-tooltip2\"\r\n #tooltip=\"matTooltip\" role=\"button\" (click)=\"goToUsers(list.id)\" matTooltip=\"Registered Users\"\r\n matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"></a>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"custom-dropdown\" *ngIf=\"auctionMode != 'pending'\">\r\n <button class=\"no-bg-btn hover-icon\" mat-icon-button\r\n [matMenuTriggerFor]=\"listingMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #listingMenu=\"matMenu\">\r\n <div class=\"custom-dropdown\">\r\n <button mat-menu-item *ngIf=\"\r\n (auctionMode == 'upcoming' ||\r\n auctionMode == 'live' ||\r\n auctionMode == 'recent' ||\r\n auctionMode == 'archived') &&\r\n list.isActive\r\n \" role=\"button\" (click)=\"openDeActivateAuction(template2, list, true)\">\r\n <span>Deactivate Auction</span>\r\n </button>\r\n\r\n <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"\r\n list.saleType.registrationFormat ===\r\n registrationFormat.tbgRegistration &&\r\n list.saleType.isCatalogUploadAllowed &&\r\n !list.saleType.isCatalogReadOnly\r\n \">\r\n <button mat-menu-item *ngIf=\"\r\n !['recent', 'archived'].includes(auctionMode) &&\r\n list.isRegistrationActive == false &&\r\n (role == roles.auctionAdmin ||\r\n role == roles.admin ||\r\n role == roles.customerService)\r\n \" role=\"button\" (click)=\"openStatusAuction(startStopTemplate, list.id, 1)\">\r\n <span>Start Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n !['recent', 'archived'].includes(auctionMode) &&\r\n list.isRegistrationActive == true &&\r\n (role == roles.auctionAdmin ||\r\n role == roles.admin ||\r\n role == roles.customerService)\r\n \" role=\"button\" (click)=\"openStatusAuction(startStopTemplate, list.id, 0)\">\r\n <span>Stop Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n !['recent', 'archived'].includes(auctionMode) &&\r\n list.isEligibleForCommonRegistration == true &&\r\n list.isRegistrationSyncEnabled == false &&\r\n list.commonRegistrationEnd == null\r\n \" role=\"button\" (click)=\"openApproveAuction(templateCommon, list.id)\">\r\n <span>Start Common Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n !['recent', 'archived'].includes(auctionMode) &&\r\n list.isRegistrationSyncEnabled == true &&\r\n list.commonRegistrationEnd == null\r\n \" role=\"button\" (click)=\"stopSyncRegistrationWithOtherAuction(list.id)\">\r\n <span>Stop Common Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"!['recent', 'archived'].includes(auctionMode)\" role=\"button\"\r\n (click)=\"goToBidders(list.id)\">\r\n <span>View Bidders</span>\r\n </button>\r\n\r\n </ng-container>\r\n\r\n <!-- this is for lot management no matter bidding is happening or not -->\r\n <ng-container *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n <button mat-menu-item [routerLink]=\"[list.id, 'configure-lot']\"\r\n [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\"\r\n *ngIf=\"!['recent', 'archived'].includes(auctionMode)\">\r\n <span>Manage Lots</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n (auctionMode == 'upcoming' ||\r\n auctionMode == 'recent' ||\r\n auctionMode == 'archived') &&\r\n list.isLotsPublished\r\n \" role=\"button\" (click)=\"openDeleteAuction(unpublishTemplate, list)\">\r\n <span>Unpublish Lot Catalog</span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionMode == 'archived'\">\r\n <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(unArchiveTemplate, list)\">\r\n <span>Unarchive Auction</span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionMode == 'recent'\">\r\n <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(unArchiveTemplate, list)\">\r\n <span>Archive Auction</span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\">\r\n <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(featuredPastTemplate, list)\">\r\n <span>Change Featured Past</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button mat-menu-item *ngIf=\"!list.isPublic\" role=\"button\" (click)=\"markItFeatured(list.id)\">\r\n <span>Make Featured Auction</span>\r\n </button>\r\n <button mat-menu-item role=\"button\" (click)=\"goToReportSection(list.id, auctionMode)\">\r\n <span>Reports</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n !['recent', 'archived'].includes(auctionMode) &&\r\n list.saleType.canMarkOfferingAsSold == true\r\n \" role=\"button\" (click)=\"markAsSold(list.id)\">\r\n <span>Mark auction as Sold</span>\r\n </button>\r\n\r\n <button mat-menu-item *ngIf=\"\r\n list.isPublic &&\r\n (auctionMode == 'upcoming' || auctionMode == 'live')\r\n \" role=\"button\" (click)=\"markItFeatured(list.id)\">\r\n <span>Remove From Featured Auctions</span>\r\n </button>\r\n\r\n <ng-container *ngIf=\"\r\n list.saleType.registrationFormat ===\r\n registrationFormat.thirdPartyRegistration &&\r\n list.saleType.isCatalogUploadAllowed &&\r\n list.saleType.isCatalogReadOnly\r\n \">\r\n <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\" role=\"button\"\r\n (click)=\"importAuctionUserModal(importModal, list)\">\r\n <span>Import Auction Results</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\"\r\n [routerLink]=\"[list.id, 'result']\">\r\n <span>View Auction Results</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\"\r\n [routerLink]=\"[list.id, 'imported-users']\">\r\n <span>View Registered Users</span>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <ng-container *ngIf=\"\r\n list.saleType.isDetailPageInHouse &&\r\n list.saleType.isCatalogUploadAllowed\r\n \">\r\n <div class=\"custom-dropdown\" *ngIf=\"auctionMode == 'pending'\">\r\n <button class=\"no-bg-btn hover-icon\" mat-icon-button [matMenuTriggerFor]=\"listingMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #listingMenu=\"matMenu\">\r\n <div class=\"custom-dropdown\">\r\n <button mat-menu-item [routerLink]=\"[list.id, 'configure-lot']\"\r\n [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\"\r\n *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n <span>Manage Lots</span>\r\n </button>\r\n <button mat-menu-item role=\"button\" (click)=\"goToReportSection(list.id, auctionMode)\">\r\n <span>Reports</span>\r\n </button>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row no-card\">\r\n <div class=\"col-6 col-sm-auto mt-3\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"user\" src=\"../assets/images/user-green.svg\" />\r\n <span>Sale Manager</span>\r\n </p>\r\n <p class=\"card-info-d\">{{ list.saleManagerName }}</p>\r\n </div>\r\n <ng-container *ngIf=\"list?.saleType?.isDetailPageInHouse\">\r\n <div class=\"col-6 col-sm-auto mt-3\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"link-icon\" src=\"../assets/images/link.svg\" />\r\n <span>Public Link</span>\r\n </p>\r\n <p class=\"card-info-d\"><a (click)=\"openLink(websiteUrl+list?.auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view auction detail</a></p>\r\n\r\n <p class=\"card-info-d\"><a (click)=\"openLotsLink(websiteUrl + list?.auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view lot catalog</a></p>\r\n </div>\r\n </ng-container>\r\n <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"auctionMode == 'live' || auctionMode == 'upcoming'\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"registration-icon\" src=\"../assets/images/registrations-grey.svg\" />\r\n <span>Registrations</span>\r\n </p>\r\n <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isRegistrationActive == true\">\r\n Enabled\r\n </p>\r\n <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isRegistrationActive == false\">\r\n Disabled\r\n </p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n auctionMode == 'live' ||\r\n (auctionMode == 'upcoming' && list !== undefined && list.isPublic)\r\n \">\r\n <p class=\"card-info-h\">\r\n <img alt=\"star-icon\" src=\"../assets/images/star-grey.svg\" />\r\n <span>Featured</span>\r\n </p>\r\n <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isPublic == true\">\r\n Yes\r\n </p>\r\n <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isPublic == false\">\r\n No\r\n </p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n <span>{{\r\n auctionMode == \"pending\" || auctionMode == \"upcoming\"\r\n ? \"Starts On\"\r\n : \"Started On\"\r\n }}</span>\r\n </p>\r\n <p class=\"card-info-d\">\r\n {{ list.startDateTime | toLocalDateTime: false:list?.timeZone }}\r\n </p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n !checkLotClosing(\r\n list.closingStartDateTimeUtc,\r\n list.closingEndDateTimeUtc\r\n )\r\n \">\r\n <p class=\"card-info-h\">\r\n <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n <span>Ends On</span>\r\n </p>\r\n <p class=\"card-info-d\">\r\n {{ list.endDateTime | toLocalDateTime: false:list?.timeZone }}\r\n </p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n checkLotClosing(\r\n list.closingStartDateTimeUtc,\r\n list.closingEndDateTimeUtc\r\n ) && auctionMode == 'live'\r\n \">\r\n <p class=\"card-info-h\">\r\n <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n <span>Lots Closing Now</span>\r\n </p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n <span>Last Updated</span>\r\n </p>\r\n <p class=\"card-info-d\">{{ list.updateOn | toLocalDateTime: true }}</p>\r\n </div>\r\n <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"auctionMode == 'live' || auctionMode == 'upcoming'\">\r\n <p class=\"card-info-h\">\r\n <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n <span>Approved By</span>\r\n </p>\r\n <p class=\"card-info-d\">{{ list.approvedByName }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row only-small\">\r\n <p class=\"for-attr-hdg m-0\" [attr.data-column]=\"\r\n auctionMode == 'pending' || auctionMode == 'upcoming'\r\n ? 'Starts On'\r\n : 'Started On'\r\n \">\r\n {{ list.startDateTime | date: \"short\" }}\r\n </p>\r\n\r\n <p class=\"for-attr-hdg yellow-bg m-0\" data-column=\"Sale Type\">\r\n {{ list.saleTypeName }}\r\n </p>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"\r\n *ngIf=\"showView\">\r\n</app-paginator>\r\n\r\n<ng-template #startStopTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <img alt=\"deactivate-icon\" class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n <p class=\"des mb-4\"></p>\r\n <p class=\"des\" *ngIf=\"startStop == 0\">\r\n Are you sure you want to stop registration for this Auction?\r\n </p>\r\n <p class=\"des\" *ngIf=\"startStop == 1\">\r\n Are you sure you want to start registration for this Auction?\r\n </p>\r\n <button *ngIf=\"startStop == 0\" [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\"\r\n (click)=\"auctionStopRegistration(registrationId)\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Stop\r\n </button>\r\n <button *ngIf=\"startStop == 1\" [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\"\r\n (click)=\"auctionStartRegistration(registrationId)\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Start\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- delete auction -->\r\n<ng-template #template>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <img class=\"act-icon\" alt=\"deactivate\" src=\"../assets/images/deactivate_user.svg\" />\r\n <h1 class=\"modal-inner-hdg\">Delete Auction</h1>\r\n <p class=\"des mb-4\"></p>\r\n <p class=\"des\">Are you sure you want to delete auction?</p>\r\n <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"deleteAuction(auctionModel)\"\r\n type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Yes, Delete\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- deactivate auction -->\r\n<ng-template #template2>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\" *ngIf=\"auctionStatus == true\">\r\n <img alt=\"deactivate-icon\" class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n <h1 class=\"modal-inner-hdg\">Deactivate Auction</h1>\r\n <p class=\"des\">\r\n <ng-container *ngIf=\"auctionModel.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"!auctionModel.saleType.isCatalogReadOnly\">\r\n You are de-activating an auction that may have bids in place.\r\n De-activating the auction will delete the existing bids and any lots\r\n that are sold will no longer be valid.\r\n </ng-container>\r\n Are you sure you want to de-activate this Auction?\r\n </ng-container>\r\n </p>\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n No\r\n </button>\r\n <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"deActivateAuction(auctionModel)\"\r\n type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Yes, Deactivate\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #unpublishTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <h1 class=\"modal-inner-hdg\">Unpublish Lot Catalog</h1>\r\n <p class=\"des\">\r\n This will unpublish the lot catalog from the auction on front-end site.\r\n Are you sure you want to proceed with this?\r\n </p>\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n No\r\n </button>\r\n <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"unpublishCatalog()\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Yes, Unpublish\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #templateApprove>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Approve Auction</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <form [formGroup]=\"approveForm\">\r\n <p class=\"sm-des\">\r\n As soon as this auction is approved, it will start appearing on the\r\n <br class=\"d-none d-md-block\" />\r\n front end website.\r\n </p>\r\n\r\n <ng-container *ngIf=\"currentSelectedAuction.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"!currentSelectedAuction.saleType.isCatalogReadOnly\">\r\n <div class=\"form-group form-check slide-check pl-0 mb-1 pb-3\"\r\n *ngIf=\"currentSelectedAuction.saleType.displaySection\">\r\n <p class=\"m-0 pb-1\">Enable Registration for this auction</p>\r\n <label class=\"switch-slider\">\r\n <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" id=\"enableRegistration\"\r\n formControlName=\"isRegistrationActive\" checked />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"form-group form-check slide-check pl-0 mb-1 pb-3\">\r\n <p class=\"m-0 pb-1\">\r\n Featured (If enabled auction will appear on homepage)\r\n </p>\r\n <label class=\"switch-slider\">\r\n <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" id=\"featured\" formControlName=\"isPublic\"\r\n checked />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentSelectedAuction.saleType.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"!currentSelectedAuction.saleType.isCatalogReadOnly\">\r\n <div class=\"form-group m-0 pb-1\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Auction For Common Registration\r\n (Optional)</mat-label>\r\n <mat-select formControlName=\"registrationSyncWithAuctionId\">\r\n <mat-option value=\"0\" selected>None</mat-option>\r\n <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n {{ auction.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info-icon\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n <p class=\"note-text\">\r\n Please note common registration auction once selected cannot be\r\n changed.\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"image-popup-wrap pt-4 mt-2 approve-auc-btns-mob\">\r\n <button class=\"btn btn-white-border mr-2 approve-cancel\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button [disabled]=\"submitLoader\" type=\"submit\" class=\"btn btn-colored approve-auction\" role=\"button\"\r\n (click)=\"approveAuction()\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Approve Auction\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #templateCommon>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Start Common Registration</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <form [formGroup]=\"approveCommonForm\">\r\n <div class=\"form-group m-0 pb-1\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Auction For Common Registration</mat-label>\r\n <mat-select #selectUpcomingAuction (ngModelChange)=\"\r\n upcomingAuctionChange(selectUpcomingAuction.value)\r\n \" formControlName=\"syncWithAuctionId\" *ngIf=\"upcomingAuctions != undefined\">\r\n <mat-option value=\"0\" selected>None</mat-option>\r\n <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n {{ auction.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info-icon\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n <p class=\"note-text\">\r\n Please note common registration auction once selected cannot be\r\n changed.\r\n </p>\r\n </div>\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"\r\n submitLoader ||\r\n approveCommonForm.invalid ||\r\n disableCommonRegistrationButton\r\n \" role=\"button\" (click)=\"syncRegistrationWithOtherAuction()\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Start Common Auction\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #importAuction>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"importResultWrap importFailed\">\r\n <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/cancel.svg\" />\r\n <h3 class=\"hdg\">Import Failed</h3>\r\n <p class=\"des\">\r\n To investigate the issues please download the log file, fix errors &\r\n upload again.\r\n </p>\r\n <button class=\"btn btn-colored importBtn\">\r\n <img alt=\"icon\" src=\"../assets/images/downloadCloud.svg\" /> Download Log\r\n File\r\n </button>\r\n </div>\r\n\r\n <div class=\"importResultWrap importSuccess\">\r\n <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/auction-success.svg\" />\r\n <h3 class=\"hdg\">Import Successful</h3>\r\n <p class=\"des\">210 Users | 100 Winning Lots Imported</p>\r\n <button class=\"btn btn-colored importBtn\">\r\n Take Me to Auctions Page\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #importAuctionUser>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"importAuctionUserHeader\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <h3>Registered Users</h3>\r\n <p>Import registered users to map them with winning lots</p>\r\n </div>\r\n <div class=\"col-md-4 text-md-right\">\r\n <a class=\"btn btn-text px-0\">\r\n <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n <span>Download Template</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"importUpload\">\r\n <h4>Upload File</h4>\r\n <div class=\"importUploadBtn\">\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"browserUser.click()\">\r\n <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\" fill=\"#F7F7F7\">\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n\r\n <span class=\"browseFileName\">\r\n <span class=\"mr-1\">auction_registered_user.doc</span>\r\n <img alt=\"\" src=\"../assets/images/cross.svg\" />\r\n </span>\r\n </div>\r\n\r\n <div>\r\n <input class=\"btn btn-colored browse-btn d-none\" type=\"file\" text=\"Browse\" #browserUser />\r\n </div>\r\n </div>\r\n\r\n <div class=\"importAuctionUserHeader\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <h3>Winning Lot Data</h3>\r\n <p>Import data for winning lots</p>\r\n </div>\r\n <div class=\"col-md-4 text-md-right\">\r\n <a class=\"btn btn-text px-0\">\r\n <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n <span>Download Template</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"importUpload border-0\">\r\n <h4>Upload File</h4>\r\n <div class=\"importUploadBtn\">\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"winning.click()\">\r\n <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\" fill=\"#F7F7F7\">\r\n <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n <path\r\n d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n id=\"Combined-shape-1226\"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n Browse\r\n </button>\r\n\r\n <span class=\"browseFileName\">\r\n <span class=\"mr-1\">winning_lot_data.doc</span>\r\n <img alt=\"\" src=\"../assets/images/cross.svg\" />\r\n </span>\r\n </div>\r\n\r\n <div>\r\n <input class=\"btn btn-colored browse-btn d-none\" type=\"file\" text=\"Browse\" #winning />\r\n </div>\r\n </div>\r\n\r\n <div class=\"footerBtns\">\r\n <button class=\"btn btn-white-border mr-2\">Cancel</button>\r\n <button class=\"btn btn-colored\">Import</button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #importModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <app-import-result [auctionInfo]=\"auctionModel\">\r\n <button class=\"btn btn-colored importBtn\" role=\"button\" (click)=\"closeModal()\" takeToAuctionButton>\r\n Take Me to Auctions Page\r\n </button>\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\" cancelButton>\r\n Cancel\r\n </button>\r\n </app-import-result>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #unArchiveTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <h1 class=\"modal-inner-hdg\">\r\n {{ auctionModel.isArchived ? \"Unarchive\" : \"Archive\" }} Auction\r\n </h1>\r\n <p class=\"des\">\r\n This will {{ auctionModel.isArchived ? \"unarchive\" : \"archive\" }} the\r\n auction. Are you sure you want to proceed with this?\r\n </p>\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n No\r\n </button>\r\n <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"unarchiveAuction()\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Yes, {{ auctionModel.isArchived ? \"Unarchive\" : \"Archive\" }}\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #featuredPastTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <h1 class=\"modal-inner-hdg\">\r\n {{ auctionModel.featuredItemHeader == 'featuredpast' ? \"Remove as\" : \"Set as\" }} Featured Past Auction\r\n </h1>\r\n <p class=\"des\">\r\n This will {{ auctionModel.featuredItemHeader == 'featuredpast' ? \"remove\" : \"set\" }} the\r\n auction as a featured past auction. Are you sure you want to proceed with this?\r\n </p>\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n No\r\n </button>\r\n <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"updateFeaturedPast()\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Yes\r\n </button>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport {\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n ValidatorFn,\r\n} from '@angular/forms';\r\nimport {\r\n AuctionService,\r\n CurrencyService,\r\n CategoryService,\r\n SaleTypeService,\r\n TimezoneService,\r\n LoaderService,\r\n} from '../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport constants from '../../../utility/constants';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonDropdown, SaleType, Auction } from '../../../models';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport { GetAuctionStep1 } from '../../../models/auctionStep1';\r\nimport { Utils } from '../../../utility/utils';\r\nimport messages from '../../../utility/messages';\r\nimport { AuctionTimeService } from '../../../services/auction-time.service';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { BidIncrementService } from '../../bid-increment/services/bid-increment.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Console } from 'console';\r\n@Component({\r\n selector: 'app-add-auction-step1',\r\n templateUrl: './add-auction-step1.component.html',\r\n styleUrls: ['./add-auction-step1.component.css'],\r\n providers: [BidIncrementService],\r\n})\r\nexport class AddAuctionStep1Component implements OnInit {\r\n //fieldLengths\r\n @Input('isEditMode') editMode: boolean;\r\n @Input('auctionId') auctionId: number;\r\n @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n @Output('newAuctionId') newAuctionId: EventEmitter<number> =\r\n new EventEmitter();\r\n @Output('newAuctionCode') newAuctionCode: EventEmitter<string> =\r\n new EventEmitter();\r\n @Output('getAuctionStatus') auctionStatus: EventEmitter<number> =\r\n new EventEmitter();\r\n @Output() otherStepsNeeded: EventEmitter<boolean> = new EventEmitter();\r\n\r\n fieldMaxLengthShort = constants.common.validations.maxLength30;\r\n fieldMaxLength = constants.common.validations.maxLength50;\r\n fieldMaxLength100 = constants.common.validations.maxLength100;\r\n fieldMaxLengthMedium = constants.common.validations.maxLength200;\r\n fieldMaxLengthLonger = constants.common.validations.maxLength1000;\r\n auctionStatuses = constants.common.auctionStatus;\r\n regFormats = constants.common.saletypeRegistrationFormat;\r\n currency = 1;\r\n returnUrl: string = '../'; // one step back\r\n disableStartTime: boolean = false;\r\n minDate: Date;\r\n stepActive = 1;\r\n showView: boolean = true;\r\n loading: boolean = false;\r\n createAuctionForm1: FormGroup;\r\n redirectLinkForm: FormGroup;\r\n saleManagers: Array<CommonDropdown>;\r\n currencies: Array<CommonDropdown>;\r\n categories: Array<CommonDropdown>;\r\n saletypes: Array<CommonDropdown>;\r\n timezones: Array<CommonDropdown>;\r\n bidIncrementTables: Array<CommonDropdown>;\r\n currentAuctionStatus: any;\r\n taglineText: string = null;\r\n isEditorCharLimitReached: boolean;\r\n\r\n disableEndTime: boolean = false;\r\n\r\n // check on submit button click\r\n isSubmitted: boolean = false;\r\n\r\n // selected saletype hint text\r\n saletypeHint: string;\r\n\r\n isItRedirectLink: boolean = false;\r\n showStaggerMinAndLotCloses: boolean = true;\r\n\r\n isBiddingAtOurPlatform: boolean = true;\r\n\r\n // settings for iamges\r\n coverPhotoSize: string = constants.admin.uploadSetting.coverPhotoMaxSize;\r\n coverPhotoFormat: string = constants.admin.uploadSetting.coverPhotoType;\r\n clientLogoSize: string = constants.admin.uploadSetting.clientLogoMaxSize;\r\n clientLogoFormat: string = constants.admin.uploadSetting.clientLogoType;\r\n\r\n // store image's URL\r\n coverPhotoString: string;\r\n clientLogoString: string;\r\n private subscriptions: Array<Subscription> = []; \r\n disableStaggerTime: boolean;\r\n\r\n constructor(\r\n private currencyService: CurrencyService,\r\n private categoryService: CategoryService,\r\n private saletypeService: SaleTypeService,\r\n private auctionService: AuctionService,\r\n private timezoneService: TimezoneService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private loaderService: LoaderService,\r\n private auctionTimeService: AuctionTimeService,\r\n private bidIncService: BidIncrementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initiateForm1();\r\n this.getEverthingForStep1();\r\n }\r\n\r\n private getEverthingForStep1() {\r\n this.getSaleManagers();\r\n this.getCurrencies();\r\n this.getCategories();\r\n this.getSaleTypes();\r\n this.getTimezones();\r\n if (this.auctionId > 0) {\r\n this.returnUrl = '../../';\r\n this.bindDataToForm1();\r\n } else {\r\n this.getIncrementTables();\r\n }\r\n \r\n }\r\n\r\n private getSaleManagers() {\r\n const salesmanagers = this.auctionService.getSaleManagers().subscribe((res) => {\r\n this.saleManagers = res;\r\n });\r\n this.subscriptions.push(salesmanagers);\r\n }\r\n\r\n private getCurrencies() {\r\n const currenciess = this.currencyService.getCurrency().subscribe((res) => {\r\n this.currencies = res;\r\n });\r\n this.subscriptions.push(currenciess);\r\n }\r\n\r\n private getTimezones() {\r\n const timezoness = this.timezoneService.getTimezone().subscribe((res) => {\r\n this.timezones = res;\r\n });\r\n this.subscriptions.push(timezoness);\r\n }\r\n\r\n private getCategories() {\r\n const cats = this.categoryService.categoryForDropDown().subscribe((res) => {\r\n this.categories = res;\r\n });\r\n this.subscriptions.push(cats);\r\n }\r\n\r\n private getSaleTypes() {\r\n const stypes = this.saletypeService.getSaletypeForDropDown().subscribe((res) => {\r\n this.saletypes = res;\r\n });\r\n this.subscriptions.push(stypes);\r\n }\r\n\r\n private getIncrementTables(status: number = 0) {\r\n this.bidIncService\r\n .getIncrementsInDD(status)\r\n .toPromise()\r\n .then((res) => {\r\n this.bidIncrementTables = res;\r\n if (!this.auctionId) {\r\n this.createAuctionForm1.patchValue({\r\n bidIncrementTableId: res[0].value,\r\n });\r\n }\r\n });\r\n }\r\n\r\n getSaletypeData() {\r\n let saleTypeId: number = this.createAuctionForm1.value.saletype;\r\n this.loaderService.showLoader(true);\r\n this.saletypeService\r\n .getSaleType(saleTypeId)\r\n .toPromise()\r\n .then((res) => {\r\n this.loaderService.showLoader(false);\r\n this.changesAccordingToSaletype(res);\r\n });\r\n }\r\n\r\nremoveValidation(event)\r\n{\r\n let controls = this.createAuctionForm1.controls;\r\n let events = event.target.checked ;\r\n \r\n if(!events)\r\n {\r\n this.createAuctionForm1.get('lotClosesIn').disable()\r\n this.createAuctionForm1.get('minutesToExtend').disable()\r\n this.addRemoveValidatorAndValue(controls.lotClosesIn, false);\r\n this.createAuctionForm1.get('lotClosesIn').updateValueAndValidity(); \r\n this.addRemoveValidatorAndValue(controls.minutesToExtend, false);\r\n this.createAuctionForm1.get('minutesToExtend').updateValueAndValidity(); \r\n }\r\n else{\r\n this.createAuctionForm1.get('lotClosesIn').enable()\r\n this.createAuctionForm1.get('minutesToExtend').enable()\r\n this.addRemoveValidatorAndValue(\r\n controls.lotClosesIn,\r\n true,\r\n constants.admin.initialValues.lotClosesIn,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(3),\r\n ]\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.minutesToExtend,\r\n true, \r\n constants.admin.initialValues.extendMinutes,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(2),\r\n ]\r\n );\r\n }\r\n}\r\n\r\n private changesAccordingToSaletype(saletype: SaleType) {\r\n let controls = this.createAuctionForm1.controls;\r\n\r\n this.isDetailPageInHouse(saletype.isDetailPageInHouse);\r\n\r\n if (\r\n saletype.isDetailPageInHouse &&\r\n saletype.registrationFormat === this.regFormats.tbgRegistration\r\n ) {\r\n this.showStaggerMinAndLotCloses = true;\r\n this.isBiddingAtOurPlatform = true;\r\n this.addRemoveValidatorAndValue(\r\n controls.bidIncrementTableId,\r\n true,\r\n controls.bidIncrementTableId.value,\r\n [Validators.required]\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.staggerCompletionTime,\r\n true,\r\n controls.staggerCompletionTime.value,\r\n null\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.lotClosesIn,\r\n true,\r\n controls.lotClosesIn.value,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(3),\r\n ]\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.minutesToExtend,\r\n true,\r\n controls.minutesToExtend.value,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(2),\r\n ]\r\n );\r\n } else {\r\n this.showStaggerMinAndLotCloses = false;\r\n this.isBiddingAtOurPlatform = false;\r\n this.addRemoveValidatorAndValue(\r\n controls.bidIncrementTableId,\r\n false,\r\n null\r\n );\r\n this.addRemoveValidatorAndValue(controls.staggerCompletionTime, false);\r\n this.addRemoveValidatorAndValue(controls.lotClosesIn, false);\r\n this.addRemoveValidatorAndValue(controls.minutesToExtend, false);\r\n }\r\n }\r\n\r\n private initiateForm1() {\r\n this.createAuctionForm1 = new FormGroup(\r\n {\r\n title: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLength100),\r\n ]),\r\n byOrderOf: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLengthMedium),\r\n ]),\r\n tagline: new FormControl(null, [Validators.required]),\r\n auctionCode: new FormControl(\r\n null,\r\n [\r\n Validators.required,\r\n Validators.minLength(6),\r\n Validators.maxLength(10),\r\n AppValidators.noWhitespace,\r\n ],\r\n this.checkAuctionCode.bind(this)\r\n ),\r\n saletype: new FormControl(null, Validators.required),\r\n bidIncrementTableId: new FormControl(null, Validators.required),\r\n auctionCategory: new FormControl(null, Validators.required),\r\n saleManager: new FormControl(null, Validators.required),\r\n currency: new FormControl(this.currency, Validators.required),\r\n startDate: new FormControl(null, Validators.required),\r\n startTime: new FormControl(\r\n constants.admin.initialValues.defaultStartTime,\r\n Validators.required\r\n ),\r\n endDate: new FormControl(null, Validators.required),\r\n endTime: new FormControl(\r\n constants.admin.initialValues.defaultEndTime,\r\n Validators.required\r\n ),\r\n timezone: new FormControl(null, Validators.required),\r\n staggerCompletionTime: new FormControl(true),\r\n lotClosesIn: new FormControl(\r\n constants.admin.initialValues.lotClosesIn,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(3),\r\n ]\r\n ),\r\n minutesToExtend: new FormControl(\r\n constants.admin.initialValues.extendMinutes,\r\n [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.maxLength(2),\r\n ]\r\n ),\r\n millisecondsAfterClose: new FormControl(\r\n constants.admin.initialValues.millisecondsAfterClose,\r\n [\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n ]\r\n ),\r\n redirectLink: new FormControl(null),\r\n coverPhoto: new FormControl(null),\r\n clientLogo: new FormControl(null),\r\n },\r\n this.checkEndDate.bind(this)\r\n );\r\n }\r\n\r\n private isDetailPageInHouse(isDetailPageInHouse: boolean) {\r\n let controls = this.createAuctionForm1.controls;\r\n if (isDetailPageInHouse) {\r\n this.isItRedirectLink = false;\r\n this.otherStepsNeeded.emit(true);\r\n this.addRemoveValidatorAndValue(controls.redirectLink, false);\r\n this.addRemoveValidatorAndValue(controls.coverPhoto, false);\r\n this.addRemoveValidatorAndValue(controls.clientLogo, false);\r\n this.clientLogoString = null;\r\n this.coverPhotoString = null;\r\n } else {\r\n this.isItRedirectLink = true;\r\n this.otherStepsNeeded.emit(false);\r\n this.addRemoveValidatorAndValue(\r\n controls.redirectLink,\r\n true,\r\n controls.redirectLink.value,\r\n [Validators.required, AppValidators.checkWebAddress]\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.coverPhoto,\r\n true,\r\n controls.coverPhoto.value,\r\n [\r\n ImageValidators.sizeCheck(this.coverPhotoSize),\r\n ImageValidators.imageFormat(this.coverPhotoFormat),\r\n Validators.required,\r\n ]\r\n );\r\n this.addRemoveValidatorAndValue(\r\n controls.clientLogo,\r\n true,\r\n controls.clientLogo.value,\r\n [\r\n ImageValidators.sizeCheck(this.clientLogoSize),\r\n ImageValidators.imageFormat(this.clientLogoFormat),\r\n Validators.required,\r\n ]\r\n );\r\n }\r\n }\r\n\r\n private addRemoveValidatorAndValue(\r\n control: AbstractControl,\r\n isItAdd: boolean,\r\n value?: any,\r\n validArr?: ValidatorFn | ValidatorFn[]\r\n ) {\r\n if (isItAdd) {\r\n if (validArr) control.setValidators(validArr);\r\n control.patchValue(value);\r\n } else {\r\n control.clearValidators();\r\n control.patchValue(null);\r\n }\r\n }\r\n\r\n private bindDataToForm1() {\r\n this.loaderService.showLoader(true);\r\n this.showView = false;\r\n const getauction = this.auctionService.getAuctionStep1(this.auctionId).subscribe(\r\n (res: GetAuctionStep1) => {\r\n this.bindingForm(res);\r\n this.loaderService.showLoader(false);\r\n this.showView = true;\r\n },\r\n () => {\r\n this.gotoAuctionListing();\r\n }\r\n );\r\n this.subscriptions.push(getauction);\r\n }\r\n\r\n bindingForm(data: GetAuctionStep1) {\r\n this.changesAccordingToSaletype(data.saleType);\r\n\r\n this.getIncrementTables(data.auctionStatus);\r\n\r\n let sDate = data.startDate.split('-');\r\n let eDate = data.endDate.split('-');\r\n let start = new Date(\r\n parseInt(sDate[2]),\r\n parseInt(sDate[0]) - 1,\r\n parseInt(sDate[1])\r\n );\r\n let end = new Date(\r\n parseInt(eDate[2]),\r\n parseInt(eDate[0]) - 1,\r\n parseInt(eDate[1])\r\n );\r\n\r\n this.taglineText = data.tagline;\r\n this.clientLogoString = data.clientLogo;\r\n this.coverPhotoString = data.coverPhoto;\r\n\r\n this.currentAuctionStatus = data.auctionStatus;\r\n\r\n this.sendAuctionStatus(data.auctionStatus);\r\n this.sendNewlyCreatedAuctionCode(data.auctionCode);\r\n\r\n this.createAuctionForm1.patchValue({\r\n title: data.title,\r\n byOrderOf: data.byOrderOf,\r\n auctionCode: data.auctionCode,\r\n saletype: data.saleTypeId,\r\n auctionCategory: data.categoryId,\r\n saleManager: data.saleManagerId,\r\n currency: data.currencyId,\r\n startDate: start,\r\n startTime: data.startTime,\r\n endDate: end,\r\n endTime: data.endTime,\r\n tagline: data.tagline,\r\n timezone: data.timeZoneId,\r\n bidIncrementTableId: data.bidIncrementId,\r\n staggerCompletionTime: data.isStaggerAuctionEnable,\r\n lotClosesIn: data.staggerLotCloseTime,\r\n minutesToExtend: data.extendMinutes,\r\n millisecondsAfterClose: this.convertMillisecondsToHours(data.millisecondsAfterClose),\r\n redirectLink: data.detailPageLinkUrl,\r\n coverPhoto: data.coverPhoto,\r\n clientLogo: data.clientLogo,\r\n });\r\n\r\n if(!data.isStaggerAuctionEnable)\r\n {\r\n this.createAuctionForm1.get('lotClosesIn').disable()\r\n this.createAuctionForm1.get('minutesToExtend').disable()\r\n \r\n }\r\n else{\r\n this.createAuctionForm1.get('lotClosesIn').enable()\r\n this.createAuctionForm1.get('minutesToExtend').enable()\r\n }\r\n\r\n switch (data.auctionStatus) {\r\n case this.auctionStatuses.live:\r\n this.changesForLiveAuction(data);\r\n break;\r\n case this.auctionStatuses.past:\r\n this.changesForPastAuction(data);\r\n break;\r\n }\r\n \r\n }\r\n\r\n convertHoursToMilliseconds(hours: any) {\r\n // Calculate the equivalent milliseconds\r\n const milliseconds = Math.round(hours * 60 * 60 * 1000);\r\n return milliseconds;\r\n }\r\n\r\n convertMillisecondsToHours(millisceonds: any) {\r\n const hours = millisceonds / 3600000;\r\n return hours;\r\n }\r\n\r\n uploadCoverPhoto(files: FileList) {\r\n let reader = new FileReader();\r\n this.coverPhotoString = null;\r\n let control = this.createAuctionForm1.controls.coverPhoto;\r\n if (files.length > 0) {\r\n this.createAuctionForm1.patchValue({ coverPhoto: files[0] });\r\n control.markAsTouched();\r\n control.markAsDirty();\r\n control.updateValueAndValidity();\r\n if (control.valid) {\r\n reader.readAsDataURL(files[0]);\r\n reader.onload = () => {\r\n this.coverPhotoString = reader.result as string;\r\n };\r\n } else {\r\n this.coverPhotoString = null;\r\n control.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n uploadClientLogo(files: FileList) {\r\n let reader = new FileReader();\r\n this.clientLogoString = null;\r\n let control = this.createAuctionForm1.controls.clientLogo;\r\n if (files.length > 0) {\r\n this.createAuctionForm1.patchValue({ clientLogo: files[0] });\r\n control.markAsTouched();\r\n control.markAsDirty();\r\n control.updateValueAndValidity();\r\n if (control.valid) {\r\n reader.readAsDataURL(files[0]);\r\n reader.onload = () => {\r\n this.clientLogoString = reader.result as string;\r\n };\r\n } else {\r\n this.clientLogoString = null;\r\n control.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n private changesForLiveAuction(data: GetAuctionStep1) {\r\n this.createAuctionForm1.controls.auctionCode.disable();\r\n this.createAuctionForm1.controls.currency.disable();\r\n this.createAuctionForm1.controls.saletype.disable();\r\n this.createAuctionForm1.controls.timezone.disable();\r\n this.createAuctionForm1.controls.startDate.disable();\r\n this.createAuctionForm1.controls.startTime.disable();\r\n this.minDate = new Date(data.startDate);\r\n this.disableStartTime = true;\r\n this.disableEndTime = this.auctionTimeService.isLotClosingBegun(\r\n data.endDateTimeUtc\r\n );\r\n if (this.disableEndTime) this.createAuctionForm1.controls.endTime.disable();\r\n this.createAuctionForm1.controls.bidIncrementTableId.disable();\r\n }\r\n\r\n private changesForPastAuction(data: GetAuctionStep1) {\r\n this.createAuctionForm1.controls.auctionCode.disable();\r\n this.createAuctionForm1.controls.currency.disable();\r\n this.createAuctionForm1.controls.saletype.disable();\r\n this.createAuctionForm1.controls.timezone.disable();\r\n this.createAuctionForm1.controls.lotClosesIn.disable();\r\n this.createAuctionForm1.controls.minutesToExtend.disable();\r\n this.createAuctionForm1.controls.bidIncrementTableId.disable();\r\n }\r\n\r\n editorContent(\r\n event: { data: string; limitReached: boolean },\r\n control: AbstractControl\r\n ) {\r\n control.patchValue(event.data);\r\n control.markAsDirty();\r\n if (event.limitReached) control.setErrors({ invalid: true });\r\n else control.setErrors(null);\r\n }\r\n\r\n private createFormData() {\r\n let data = this.createAuctionForm1.getRawValue();\r\n let sDate = new Date(Utils.toLocalDateTime(data.startDate));\r\n let eDate = new Date(Utils.toLocalDateTime(data.endDate));\r\n return {\r\n id: this.auctionId,\r\n auctionCode: data.auctionCode,\r\n byOrderOf: data.byOrderOf,\r\n categoryId: data.auctionCategory,\r\n currencyId: data.currency,\r\n endDate: eDate,\r\n endTime: data.endTime,\r\n isStaggerAuctionInSecondsEnable: data.staggerCompletionTime,\r\n minuteToExtend: data.minutesToExtend,\r\n saleManagerId: data.saleManager,\r\n saleTypeId: data.saletype,\r\n staggerLotCloseTime: data.lotClosesIn,\r\n millisecondsAfterClose: this.convertHoursToMilliseconds(data.millisecondsAfterClose),\r\n startDate: sDate,\r\n startTime: data.startTime,\r\n tagline: data.tagline,\r\n timeZoneId: data.timezone,\r\n title: data.title,\r\n bidIncrementTableId: data.bidIncrementTableId,\r\n };\r\n }\r\n\r\n private createRedirectFormData() {\r\n let model = this.createFormData();\r\n\r\n let formValue = this.createAuctionForm1.value;\r\n let formData = new FormData();\r\n\r\n formData.append('id', '' + model.id);\r\n if (model.auctionCode)\r\n formData.append('auctionCode', '' + model.auctionCode);\r\n if (model.saleTypeId) formData.append('saleTypeId', '' + model.saleTypeId);\r\n if (model.title) formData.append('title', '' + model.title);\r\n if (model.byOrderOf) formData.append('byOrderOf', '' + model.byOrderOf);\r\n if (model.tagline) formData.append('tagLine', '' + model.tagline);\r\n if (model.categoryId) formData.append('categoryId', '' + model.categoryId);\r\n if (model.currencyId) formData.append('currencyId', '' + model.currencyId);\r\n if (model.saleManagerId)\r\n formData.append('saleManagerId', '' + model.saleManagerId);\r\n if (model.timeZoneId) formData.append('timeZoneId', '' + model.timeZoneId);\r\n if (model.startDate)\r\n formData.append('StartDate', model.startDate.toISOString());\r\n if (model.startTime) formData.append('StartTime', '' + model.startTime);\r\n if (model.endDate) formData.append('EndDate', model.endDate.toISOString());\r\n if (model.endTime) formData.append('EndTime', '' + model.endTime);\r\n\r\n if (formValue.coverPhoto){\r\n (typeof formValue.coverPhoto === \"string\") ?\r\n formData.append('coverPhoto', formValue.coverPhoto) :\r\n formData.append('coverPhoto', formValue.coverPhoto, formValue.coverPhoto?.name);\r\n }\r\n if (formValue.clientLogo){\r\n (typeof formValue.clientLogo === \"string\") ?\r\n formData.append('clientLogo', formValue.clientLogo) :\r\n formData.append('clientLogo', formValue.clientLogo, formValue.clientLogo?.name);\r\n }\r\n if (formValue.redirectLink)\r\n formData.append('detailPageLinkUrl', '' + formValue.redirectLink);\r\n\r\n return formData;\r\n }\r\n\r\n onSubmit() {\r\n this.isSubmitted = true;\r\n\r\n if (this.createAuctionForm1.invalid) {\r\n return;\r\n }\r\n\r\n if (this.createAuctionForm1.pristine) {\r\n this.toastr.success(\r\n this.editMode\r\n ? messages.addAuction1.updated\r\n : messages.addAuction1.saved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.goToStep();\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.loaderService.showLoader(true);\r\n\r\n let model: any;\r\n let request: Observable<Auction>;\r\n\r\n if (this.isItRedirectLink) {\r\n model = this.createRedirectFormData();\r\n request = this.auctionService.addAuctionStepForRedirect(model);\r\n } else {\r\n model = this.createFormData();\r\n request = this.auctionService.addAuctionStep1(model);\r\n }\r\n\r\n const req = request.subscribe(\r\n (data) => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n this.toastr.success(\r\n this.editMode\r\n ? messages.addAuction1.updated\r\n : messages.addAuction1.saved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.sendNewlyCreatedAuctionId(data.id);\r\n this.sendNewlyCreatedAuctionCode(data.auctionCode);\r\n this.goToStep();\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(req);\r\n }\r\n\r\n gotoAuctionListing() {\r\n if (this.currentAuctionStatus == 1) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.currentAuctionStatus == 2) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.currentAuctionStatus == 4) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n\r\n checkTitle(\r\n control: FormControl\r\n ): Observable<{ [key: string]: boolean } | null> {\r\n return this.auctionService\r\n .isTitleUniqueCheck(this.auctionId, control.value)\r\n .pipe(\r\n map((res) => {\r\n if (!control.touched) {\r\n return null;\r\n } else if (!res.data) {\r\n return { isTitleExists: true };\r\n }\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n checkAuctionCode(\r\n control: FormControl\r\n ): Observable<{ [key: string]: boolean } | null> {\r\n return this.auctionService\r\n .isAuctionCodeUniqueCheck(this.auctionId, control.value)\r\n .pipe(\r\n map((res) => {\r\n if (!control.touched) {\r\n return null;\r\n } else if (res.data == false) {\r\n return { isAuctionCodeExists: true };\r\n }\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n checkEndDate(controls: FormGroup): { [s: string]: boolean | null } {\r\n let values = controls.value;\r\n\r\n if (values.startDate != null && values.endDate != null) {\r\n let sDate = this.convertDateAndTimeToStamp(\r\n values.startDate,\r\n values.startTime\r\n );\r\n let eDate = this.convertDateAndTimeToStamp(\r\n values.endDate,\r\n values.endTime\r\n );\r\n\r\n if (eDate <= sDate) {\r\n return { invalidEndDate: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n convertDateAndTimeToStamp(date: string, time: string): number {\r\n let dateObj = new Date(date);\r\n let [timeObj, meridian] = time.split(' ');\r\n let [hour, min] = timeObj.split(':');\r\n hour = (+hour === 12 ? 0 : +hour).toString();\r\n hour = (\r\n ['PM', 'pm', 'Pm', 'pM'].includes(meridian) ? +hour + 12 : +hour\r\n ).toString();\r\n return new Date(\r\n dateObj.getFullYear(),\r\n dateObj.getMonth(),\r\n dateObj.getDate(),\r\n +hour,\r\n +min\r\n ).getTime();\r\n }\r\n\r\n goToStep() {\r\n this.step.emit(this.isItRedirectLink ? 5 : 2);\r\n }\r\n\r\n sendNewlyCreatedAuctionId(id: number) {\r\n this.newAuctionId.emit(id);\r\n }\r\n\r\n sendNewlyCreatedAuctionCode(code: string) {\r\n this.newAuctionCode.emit(code);\r\n }\r\n\r\n sendAuctionStatus(status: number) {\r\n this.auctionStatus.emit(status);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<form *ngIf=\"showView\" [formGroup]=\"createAuctionForm1\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"auction-form-outer\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Auction/Sale Code</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter Sale Code\"\r\n formControlName=\"auctionCode\"\r\n [maxlength]=\"10\"\r\n required\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"createAuctionForm1.controls.auctionCode\"\r\n [maxlength]=\"10\"\r\n ></char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.auctionCode\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>By Order of (Optional)</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter By Order of text\"\r\n [maxlength]=\"fieldMaxLengthMedium\"\r\n formControlName=\"byOrderOf\"\r\n />\r\n </mat-form-field>\r\n\r\n <span\r\n class=\"custom-tooltip\"\r\n #tooltip=\"matTooltip\"\r\n matTooltip=\"Add alternate text to be displayed in place of By Order Of label\"\r\n [matTooltipPosition]=\"'above'\"\r\n >\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n <char-counter\r\n [control]=\"createAuctionForm1.controls.byOrderOf\"\r\n [maxlength]=\"fieldMaxLengthMedium\"\r\n ></char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.byOrderOf\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Title</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Add Auction Name\"\r\n formControlName=\"title\"\r\n [maxlength]=\"fieldMaxLength100\"\r\n required\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"createAuctionForm1.controls.title\"\r\n [maxlength]=\"fieldMaxLength100\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.title\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width custom-select-option select-with-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Auction Category</mat-label>\r\n <mat-select formControlName=\"auctionCategory\" required>\r\n <mat-option\r\n *ngFor=\"let category of categories\"\r\n [value]=\"category.value\"\r\n >{{ category.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.auctionCategory\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <label>Tagline *</label>\r\n <editor\r\n [initialValue]=\"taglineText\"\r\n (editorData)=\"\r\n editorContent($event, createAuctionForm1.controls.tagline)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthLonger\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.tagline\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div\r\n class=\"mat-field-width custom-select-option select-with-label\"\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Currency</mat-label>\r\n <mat-select formControlName=\"currency\" required>\r\n <mat-option\r\n *ngFor=\"let currency of currencies\"\r\n [value]=\"currency.value\"\r\n >{{ currency.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.currency\"\r\n ></control-messages>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div\r\n class=\"mat-field-width custom-select-option select-with-label\"\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Sale Type</mat-label>\r\n <mat-select\r\n formControlName=\"saletype\"\r\n required\r\n (selectionChange)=\"getSaletypeData()\"\r\n >\r\n <mat-option\r\n *ngFor=\"let saletype of saletypes\"\r\n [value]=\"saletype.value\"\r\n >{{ saletype.text }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint>{{ saletypeHint }}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.saletype\"\r\n ></control-messages>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isBiddingAtOurPlatform\">\r\n <div class=\"form-group\">\r\n <div\r\n class=\"mat-field-width custom-select-option select-with-label\"\r\n >\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Bid Increment</mat-label>\r\n <mat-select formControlName=\"bidIncrementTableId\" required>\r\n <mat-option\r\n *ngFor=\"let Inc of bidIncrementTables\"\r\n [value]=\"Inc.value\"\r\n >{{ Inc.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.bidIncrementTableId\"\r\n ></control-messages>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width custom-select-option select-with-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Timezone you are in</mat-label>\r\n <mat-select formControlName=\"timezone\" required>\r\n <mat-option\r\n *ngFor=\"let timezone of timezones\"\r\n [value]=\"timezone.value\"\r\n >{{ timezone.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.timezone\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width custom-select-option select-with-label\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Sale Manager</mat-label>\r\n <mat-select formControlName=\"saleManager\" required>\r\n <mat-option\r\n *ngFor=\"let manager of saleManagers\"\r\n [value]=\"manager.value\"\r\n >{{ manager.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.saleManager\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-6\">\r\n <div class=\"mat-width-mobile\">\r\n <div class=\"row gutter-14\">\r\n <div class=\"col-7\">\r\n <div class=\"custom-calender\">\r\n <mat-form-field\r\n class=\"example-full-width\"\r\n appearance=\"outline\"\r\n role=\"button\"\r\n (click)=\"picker.open()\"\r\n >\r\n <mat-label>Start Date</mat-label>\r\n <input\r\n matInput\r\n [matDatepicker]=\"picker\"\r\n placeholder=\"MM-DD-YYYY\"\r\n formControlName=\"startDate\"\r\n disabled\r\n required\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\r\n <mat-icon matDatepickerToggleIcon\r\n >calendar_today</mat-icon\r\n >\r\n </mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [disabled]=\"disableStartTime\"\r\n ></mat-datepicker>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.startDate\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-5\">\r\n <div class=\"custom-timer\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Start Time</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n [ngxTimepicker]=\"toggleTimepicker\"\r\n formControlName=\"startTime\"\r\n required\r\n />\r\n <ngx-material-timepicker-toggle\r\n [for]=\"toggleTimepicker\"\r\n >\r\n </ngx-material-timepicker-toggle>\r\n <ngx-material-timepicker\r\n #toggleTimepicker\r\n ></ngx-material-timepicker>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.startTime\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-6\">\r\n <div class=\"mat-width-mobile\">\r\n <div class=\"row gutter-14\">\r\n <div class=\"col-7\">\r\n <div class=\"custom-calender\">\r\n <mat-form-field\r\n class=\"example-full-width\"\r\n appearance=\"outline\"\r\n role=\"button\"\r\n (click)=\"picker2.open()\"\r\n >\r\n <mat-label>End Date</mat-label>\r\n <input\r\n matInput\r\n [min]=\"minDate\"\r\n [matDatepicker]=\"picker2\"\r\n placeholder=\"MM-DD-YYYY\"\r\n formControlName=\"endDate\"\r\n disabled\r\n required\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"picker2\">\r\n <mat-icon matDatepickerToggleIcon\r\n >calendar_today</mat-icon\r\n >\r\n </mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker2\r\n [disabled]=\"disableEndTime\"\r\n ></mat-datepicker>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.endDate\"\r\n >\r\n </control-messages>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-5\">\r\n <div class=\"custom-timer\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>End Time</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n [ngxTimepicker]=\"toggleTimepicker2\"\r\n formControlName=\"endTime\"\r\n required\r\n />\r\n <ngx-material-timepicker-toggle\r\n [for]=\"toggleTimepicker2\"\r\n >\r\n </ngx-material-timepicker-toggle>\r\n <ngx-material-timepicker #toggleTimepicker2>\r\n </ngx-material-timepicker>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.endTime\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n <div class=\"form-group\">\r\n <div class=\"custom-checks-square\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"stagger\"\r\n name=\"check\"\r\n formControlName=\"staggerCompletionTime\"\r\n [checked]=\"\r\n createAuctionForm1.controls.staggerCompletionTime.value\r\n \"\r\n (change)=\"removeValidation($event)\"\r\n />\r\n <label for=\"stagger\" class=\"m-0\"\r\n >Stagger Auction Completion Time</label\r\n >\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.staggerCompletionTime\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n <div class=\"form-group\">\r\n <div class=\"d-flex lot-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Every lot closes in</mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add Value\"\r\n formControlName=\"lotClosesIn\"\r\n [maxlength]=\"3\"\r\n required \r\n />\r\n </mat-form-field>\r\n <span class=\"lot-name\">Seconds</span>\r\n </div>\r\n <char-counter\r\n [control]=\"createAuctionForm1.controls.lotClosesIn\"\r\n [maxlength]=\"3\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.lotClosesIn\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n <div class=\"form-group\">\r\n <div class=\"d-flex lot-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Minutes to extend</mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add Value\"\r\n formControlName=\"minutesToExtend\"\r\n [maxlength]=\"2\"\r\n required \r\n />\r\n </mat-form-field>\r\n <span class=\"lot-name\">Minutes</span>\r\n </div>\r\n <char-counter\r\n [control]=\"createAuctionForm1.controls.minutesToExtend\"\r\n [maxlength]=\"2\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.minutesToExtend\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <div class=\"form-group\">\r\n <div class=\"d-flex lot-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Time to show on catalog after close</mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add hours after close\"\r\n formControlName=\"millisecondsAfterClose\"\r\n />\r\n </mat-form-field>\r\n <span class=\"lot-name\">Hours</span>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.millisecondsAfterClose\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-6\" *ngIf=\"isItRedirectLink\">\r\n <div class=\"form-group\">\r\n <div class=\"d-flex w-100\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>Redirect Link</mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add Redirect Link\"\r\n formControlName=\"redirectLink\"\r\n required\r\n />\r\n </mat-form-field>\r\n </div>\r\n <control-messages\r\n [isFormSubmitted]=\"isSubmitted\"\r\n [control]=\"createAuctionForm1.controls.redirectLink\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngIf=\"isItRedirectLink\">\r\n <div class=\"upload-with-name\">\r\n <div class=\"custom-file-upload\">\r\n <span class=\"upload-inner\">\r\n <div *ngIf=\"coverPhotoString; else showPlaceholder\">\r\n <img\r\n alt=\"thumb-image\"\r\n class=\"thumb-image\"\r\n width=\"150\"\r\n [src]=\"coverPhotoString\"\r\n />\r\n </div>\r\n <ng-template #showPlaceholder>\r\n <img\r\n class=\"thumb-image\"\r\n src=\"../assets/images/thumbnail-square.jpg\"\r\n title=\"thumb-image\"\r\n alt=\"thumb-image\"\r\n />\r\n </ng-template>\r\n <img\r\n src=\"../assets/images/ic-upload-photo.svg\"\r\n class=\"upload-btn\"\r\n alt=\"upload-btn\"\r\n role=\"button\"\r\n (click)=\"cover.click()\"\r\n />\r\n </span>\r\n <input\r\n type=\"file\"\r\n style=\"display: none\"\r\n [accept]=\"coverPhotoFormat\"\r\n #cover\r\n (change)=\"uploadCoverPhoto($event.target.files)\"\r\n />\r\n </div>\r\n <div class=\"for-info\">\r\n <p class=\"name\">Cover Photo*</p>\r\n <p class=\"upload-note m-0\">\r\n Recommended Size : <br class=\"d-sm-none\" />\r\n 1024 * 720 px <br />\r\n <br class=\"d-sm-none\" />\r\n File size should not exceed\r\n {{ +coverPhotoSize / (1024 * 1024) }} MB\r\n </p>\r\n <control-messages\r\n [control]=\"createAuctionForm1.controls.coverPhoto\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngIf=\"isItRedirectLink\">\r\n <div class=\"upload-with-name\">\r\n <div class=\"custom-file-upload\">\r\n <span class=\"upload-inner\">\r\n <div\r\n class=\"upload-container\"\r\n *ngIf=\"clientLogoString != null; else showPlaceholder\"\r\n >\r\n <img\r\n alt=\"thumb-image\"\r\n class=\"thumb-image\"\r\n width=\"150\"\r\n [src]=\"clientLogoString\"\r\n />\r\n </div>\r\n <ng-template #showPlaceholder>\r\n <img\r\n class=\"thumb-image\"\r\n src=\"../assets/images/thumbnail-square.jpg\"\r\n alt=\"thumb-image\"\r\n title=\"thumb-image\"\r\n />\r\n </ng-template>\r\n <img\r\n src=\"../assets/images/ic-upload-photo.svg\"\r\n class=\"upload-btn\"\r\n alt=\"upload-btn\"\r\n role=\"button\"\r\n (click)=\"logo.click()\"\r\n />\r\n </span>\r\n <input\r\n type=\"file\"\r\n style=\"display: none\"\r\n [accept]=\"clientLogoFormat\"\r\n #logo\r\n (change)=\"uploadClientLogo($event.target.files)\"\r\n />\r\n </div>\r\n\r\n <div class=\"for-info\">\r\n <p class=\"name\">Client Logo*</p>\r\n <p class=\"upload-note m-0\">\r\n Recommended Size : <br class=\"d-sm-none\" />\r\n 240 * 240 px <br />\r\n <br class=\"d-sm-none\" />\r\n File size should not exceed\r\n {{ +clientLogoSize / (1024 * 1024) }} MB\r\n </p>\r\n <control-messages\r\n [control]=\"createAuctionForm1.controls.clientLogo\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div\r\n class=\"my-2 error-msg\"\r\n *ngIf=\"createAuctionForm1.invalid && isSubmitted\"\r\n >\r\n Please resolve error(s) first\r\n </div>\r\n\r\n <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n <button\r\n role=\"button\"\r\n (click)=\"gotoAuctionListing()\"\r\n class=\"btn btn-white-border mr-2\"\r\n >\r\n Cancel\r\n </button>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n ![auctionStatuses.past, auctionStatuses.archived].includes(\r\n currentAuctionStatus\r\n )\r\n \"\r\n >\r\n <button type=\"submit\" class=\"btn btn-colored\">\r\n {{ isItRedirectLink ? \"Send for approval\" : \"Save & Continue\" }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n [auctionStatuses.past, auctionStatuses.archived].includes(\r\n currentAuctionStatus\r\n )\r\n \"\r\n >\r\n <button type=\"button\" class=\"btn btn-colored\" (click)=\"goToStep()\">\r\n Skip\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionDetail } from '../../../../models';\r\nimport {\r\n AuthenticationService,\r\n AuctionService,\r\n LoaderService,\r\n EventBusService,\r\n CmsService,\r\n} from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-auction-registeration',\r\n templateUrl: './auction-registeration.component.html',\r\n styleUrls: ['./auction-registeration.component.css'],\r\n})\r\nexport class AuctionRegisterationComponent implements OnInit {\r\n auctionCode: string;\r\n auctionInfo: AuctionDetail;\r\n registerForm: FormGroup;\r\n returnUrl: string = '/';\r\n isRegistered: boolean;\r\n content: string;\r\n readyToSpentMinAmount: number = constants.public.readyToSpentMin;\r\n readyToSpentMaxAmount: number = constants.public.readyToSpentMax;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private authService: AuthenticationService,\r\n private auctionService: AuctionService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private loader: LoaderService,\r\n private toastr: ToastrService,\r\n private eventBusService: EventBusService,\r\n private cmsService: CmsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe((param) => {\r\n this.returnUrl = param['returnTo'];\r\n });\r\n\r\n this.checkLoggedIn();\r\n\r\n this.isRegistered = false;\r\n\r\n this.route.params.subscribe((param) => {\r\n this.auctionCode = param['auctionCode'];\r\n this.getAuctionInfo();\r\n });\r\n\r\n this.getTandCs();\r\n this.formInitiate();\r\n }\r\n\r\n checkLoggedIn()\r\n {\r\n if (!this.authService.checkLoggedIn()) {\r\n this.goToLogin();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n formInitiate() {\r\n this.registerForm = new FormGroup({\r\n spending: new FormControl(null, [\r\n Validators.min(this.readyToSpentMinAmount),\r\n Validators.max(this.readyToSpentMaxAmount),\r\n ]),\r\n termsCheckBox: new FormControl(false, this.checkRequired.bind(this)),\r\n });\r\n }\r\n\r\n checkRequired(control: FormControl) {\r\n if (control.value === false) return { required: true };\r\n return null;\r\n }\r\n\r\n getAuctionInfo() {\r\n this.loader.showLoader(true);\r\n const auctionDetail = this.auctionService.getAuctionDetailByCode(this.auctionCode).subscribe(\r\n (res) => {\r\n this.auctionInfo = res;\r\n this.loader.showLoader(false);\r\n },\r\n (err) => {\r\n this.loader.showLoader(false);\r\n this.goToRedirectUrl();\r\n }\r\n );\r\n this.subscriptions.push(auctionDetail)\r\n }\r\n\r\n getTandCs() {\r\n const cmsPublic = this.cmsService\r\n .GetCmsPublic(constants.common.cmsPages.termsAndConditions)\r\n .subscribe((response) => (this.content = response));\r\n this.subscriptions.push(cmsPublic)\r\n }\r\n\r\n onSubmit() {\r\n if (this.registerForm.invalid) return;\r\n if (!this.checkLoggedIn()) return;\r\n this.loader.showLoader(true);\r\n let value = this.registerForm.value.spending;\r\n let termsCheck = this.registerForm.value.termsCheckBox;\r\n const registerAuction = this.auctionService\r\n .registerUserToAuction(this.auctionInfo.id, value, termsCheck)\r\n .subscribe(\r\n () => {\r\n this.isRegistered = true;\r\n this.toastr.success(\r\n `Successfully Registered for ${this.auctionInfo?.title}`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.loader.showLoader(false);\r\n },\r\n (err) => {\r\n this.isRegistered = false;\r\n this.loader.showLoader(false);\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(registerAuction)\r\n }\r\n\r\n goToLogin() {\r\n this.openModalFile();\r\n }\r\n\r\n goToRedirectUrl() {\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n\r\n openModalFile(modalName: String = 'login') {\r\n this.eventBusService.notification.emit(modalName);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<app-auction-registeration-success\r\n [auctionId]=\"auctionInfo.id\"\r\n [auctionName]=\"auctionInfo?.title\"\r\n (goToBack)=\"goToRedirectUrl()\"\r\n *ngIf=\"isRegistered\"\r\n>\r\n</app-auction-registeration-success>\r\n\r\n<div class=\"public-wrap\" *ngIf=\"!isRegistered\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3 class=\"register-name mb-3 pb-2\">Register For The Auction</h3>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"auction-with-logo mb-3\">\r\n <div class=\"left-logo\">\r\n <img\r\n class=\"auction-logo\"\r\n alt=\"auction-logo\"\r\n AuctionDefaultImage\r\n *ngIf=\"auctionInfo\"\r\n [image]=\"auctionInfo.clientLogo\"\r\n />\r\n </div>\r\n <div class=\"right-logo\">\r\n <div class=\"d-flex mb-2\">\r\n <span class=\"card-badge no-card min-width-auto badge-dark\">\r\n {{ auctionInfo?.saleType.publicName }}\r\n </span>\r\n </div>\r\n\r\n <h3 class=\"auc-name mb-2\">{{ auctionInfo?.title }}</h3>\r\n <p class=\"auc-des mb-3\" [innerHTML]=\"auctionInfo?.tagline\"></p>\r\n <p class=\"auc-location mb-2\">\r\n {{ auctionInfo?.auctionLocations | locationNames }}\r\n </p>\r\n <p\r\n class=\"auc-address m-0\"\r\n [innerHtml]=\"\r\n auctionInfo?.saleType?.auctionDate\r\n | auctionDateFormat\r\n : auctionInfo?.auctionStatus\r\n : auctionInfo?.timeZoneName\r\n : auctionInfo?.startDateTime\r\n : auctionInfo?.endDateTime\r\n : auctionInfo?.saleType?.dateText\r\n \"\r\n ></p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <form [formGroup]=\"registerForm\">\r\n <div class=\"to-register\">\r\n <h1 class=\"register-hdg\">\r\n To Register for this Auction please agree to the terms & conditions\r\n and click the \"Register\" button.\r\n </h1>\r\n <p class=\"register-des\">\r\n You will receive an email notifying you of your eligibility to bid for\r\n this auction.\r\n <br />\r\n <br />\r\n This process can take upto 24 hours from the time you registered. We\r\n may contact you to verify your information and ask for a deposit\r\n before approving your registration. If you have registered on the day\r\n of the Auction we do make every effort to complete your registration\r\n as quickly as possible. In the future, we do suggest registering for\r\n our auctions atleast 48 hours before the day of the auction.\r\n <br />\r\n <br />\r\n If you have any questions, you can contact us at\r\n service@thebranfordgroup.com or call us at 203-488-7020.\r\n </p>\r\n\r\n <div class=\"spending-amount\">\r\n <div class=\"form-group mb-4 no-float-fields\">\r\n <label class=\"form-label\"\r\n >How much are you interested in spending?\r\n <span class=\"fade-label\">(optional)</span>\r\n </label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"number\"\r\n inputmode=\"numeric\"\r\n [min]=\"readyToSpentMinAmount\"\r\n [max]=\"readyToSpentMaxAmount\"\r\n formControlName=\"spending\"\r\n [placeholder]=\"auctionInfo?.currencyName\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [control]=\"registerForm.controls.spending\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"register-terms\" [innerHTML]=\"content\"></div>\r\n\r\n <div class=\"registration-check\">\r\n <div class=\"custom-checks-square check-grey\">\r\n <input type=\"checkbox\" formControlName=\"termsCheckBox\" id=\"terms\" />\r\n <label for=\"terms\" class=\"m-0\"\r\n >I agree to the\r\n <a target=\"_blank\" routerLink=\"/term-and-conditions\"\r\n >Terms & Conditions</a\r\n >\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"register-btns mt-4 pt-0 pt-md-3\">\r\n <button\r\n type=\"submit\"\r\n [disabled]=\"registerForm.invalid\"\r\n class=\"btn btn-colored mr-2 mb-2 mb-md-0\"\r\n role=\"button\"\r\n (click)=\"onSubmit()\"\r\n >\r\n Register\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-white-border mb-2 mb-md-0\"\r\n role=\"button\"\r\n (click)=\"goToRedirectUrl()\"\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-add-auction',\r\n templateUrl: './add-auction.component.html',\r\n styleUrls: ['./add-auction.component.css'],\r\n})\r\nexport class AddAuctionComponent implements OnInit {\r\n // one step back\r\n returnUrl: string = '../';\r\n // initial step number\r\n stepActive = 1;\r\n auctionId: number;\r\n auctionCode: string;\r\n editMode: boolean;\r\n showSteps = false;\r\n auctionStatus: number;\r\n statusString = '';\r\n websiteUrl: string = environment.websiteUrl;\r\n\r\n needSteps: boolean = true;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe((param) => {\r\n if (+param['id'] > 0) {\r\n this.auctionId = +param['id'];\r\n this.statusString = 'updated';\r\n this.editMode = true;\r\n this.returnUrl = '../../';\r\n } else {\r\n this.editMode = false;\r\n this.statusString = 'created';\r\n this.auctionId = 0;\r\n }\r\n });\r\n }\r\n\r\n openLink(url) {\r\n window.open(url, '_blank');\r\n }\r\n\r\n openLotsLink(url) {\r\n window.open(url + '#check', '_blank');\r\n }\r\n\r\n gotoAuctionListing() {\r\n if (this.auctionStatus == 1) {\r\n this.router.navigate([this.returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.auctionStatus == 2) {\r\n this.router.navigate([this.returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.auctionStatus == 4) {\r\n this.router.navigate([this.returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate([this.returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n\r\n setActiveStep(step: number) {\r\n this.stepActive = step;\r\n }\r\n\r\n setNewAuctionId(newId: number) {\r\n this.auctionId = newId;\r\n }\r\n\r\n setNewAuctionCode(code: string) {\r\n this.auctionCode = code;\r\n }\r\n\r\n getAuctionStatus(event) {\r\n this.auctionStatus = event;\r\n }\r\n\r\n goToCurrentStep(step) {\r\n if (this.auctionStatus !== 3 && this.auctionId) {\r\n this.stepActive = step;\r\n }\r\n }\r\n\r\n copyText(val: string) {\r\n let selBox = this.document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n this.document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n this.document.execCommand('copy');\r\n this.document.body.removeChild(selBox);\r\n }\r\n}\r\n","<div class=\"white-wrap-admin\">\r\n <div *ngIf=\"stepActive < 5\">\r\n <div class=\"back-link-outer\">\r\n <div class=\"back-link-outer mb-3 d-flex\">\r\n <a class=\"back-link\" role=\"button\" (click)=\"gotoAuctionListing()\">\r\n <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> back\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <h1 class=\"white-wrap-hdg mb-3\">\r\n {{ editMode ? \"Edit\" : \"Create New\" }} Auction\r\n {{ auctionCode ? \" - \" + auctionCode : \"\" }}\r\n </h1>\r\n\r\n <ng-container *ngIf=\"needSteps\">\r\n <div class=\"top-steps-wrap\">\r\n <div class=\"mobile-step-accordion d-md-none\" role=\"button\" (click)=\"showSteps = !showSteps\">\r\n <p class=\"step-accr-current\">Step {{ stepActive }} Of 4</p>\r\n <p class=\"step-accr-active\">Basic Details</p>\r\n <img alt=\"arrow-icon\" src=\"../assets/images/dropdown-arrow.svg\" [ngClass]=\"{ active: showSteps }\" />\r\n </div>\r\n\r\n <ul class=\"auction-stepper mobile-auction-stepper\" [ngClass]=\"{ active: showSteps }\">\r\n <li [ngClass]=\"{\r\n 'active-step': stepActive == 1,\r\n 'completed-step': stepActive > 1\r\n }\" role=\"button\" (click)=\"goToCurrentStep(1)\">\r\n <span class=\"step-num\"> <span class=\"d-md-none\">0</span>1 </span>\r\n <span class=\"step-name\">Basic Details</span>\r\n </li>\r\n\r\n <li [ngClass]=\"{\r\n 'active-step': stepActive == 2,\r\n 'completed-step': stepActive > 2\r\n }\" role=\"button\" (click)=\"goToCurrentStep(2)\">\r\n <span class=\"step-num\"> <span class=\"d-md-none\">0</span>2</span>\r\n <span class=\"step-name\">Manage Gallery</span>\r\n </li>\r\n\r\n <li [ngClass]=\"{\r\n 'active-step': stepActive == 3,\r\n 'completed-step': stepActive > 3\r\n }\" role=\"button\" (click)=\"goToCurrentStep(3)\">\r\n <span class=\"step-num\"> <span class=\"d-md-none\">0</span>3 </span>\r\n <span class=\"step-name\">Display Details</span>\r\n </li>\r\n\r\n <li [ngClass]=\"{ 'active-step': stepActive == 4 }\" role=\"button\" (click)=\"goToCurrentStep(4)\">\r\n <span class=\"step-num\"> <span class=\"d-md-none\">0</span>4 </span>\r\n <span class=\"step-name\">Locations & Contacts</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"steeper-data\">\r\n <div class=\"step-parts\" *ngIf=\"stepActive == 1\">\r\n <app-add-auction-step1 (goToStep)=\"setActiveStep($event)\" (newAuctionId)=\"setNewAuctionId($event)\"\r\n (newAuctionCode)=\"setNewAuctionCode($event)\" [auctionId]=\"auctionId\" [isEditMode]=\"editMode\"\r\n (getAuctionStatus)=\"getAuctionStatus($event)\" (otherStepsNeeded)=\"needSteps = $event\">\r\n </app-add-auction-step1>\r\n </div>\r\n\r\n <ng-container *ngIf=\"needSteps\">\r\n <div class=\"step-parts\" *ngIf=\"stepActive == 2\">\r\n <app-add-auction-step2 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n </app-add-auction-step2>\r\n </div>\r\n\r\n <div class=\"step-parts\" *ngIf=\"stepActive == 3\">\r\n <app-add-auction-step3 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n </app-add-auction-step3>\r\n </div>\r\n\r\n <div class=\"step-parts\" *ngIf=\"stepActive == 4\">\r\n <app-add-auction-step4 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n </app-add-auction-step4>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mx-auto text-center\" *ngIf=\"stepActive == 5\">\r\n <div class=\"auction-success\">\r\n <img alt=\"success-icon\" src=\"../assets/images/auction-success.svg\" />\r\n <h1 class=\"success-msg\">\r\n Auction {{ statusString | titlecase }} Successfully!\r\n </h1>\r\n <p class=\"dtl\">\r\n Your auction has been {{ statusString }} and is under review.\r\n </p>\r\n\r\n <ng-container *ngIf=\"needSteps\">\r\n <p class=\"dtl\">\r\n Here is the public link for this auction.\r\n <a (click)=\"openLink(websiteUrl + auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view auction detail</a>\r\n <a (click)=\"openLotsLink(websiteUrl + auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view lot catalog</a>\r\n <button class=\"btn btn-white-border mt-4 font-15\" role=\"button\" (click)=\"copyText(websiteUrl + auctionCode)\">\r\n Copy to clipboard\r\n </button>\r\n </p>\r\n </ng-container>\r\n\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"gotoAuctionListing()\">\r\n Take Me to Auctions Page\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AddAuctionComponent } from './add-auction/add-auction.component';\r\nimport { AuctionListComponent } from './auction-list/auction-list.component';\r\nimport { ViewAuctionComponent } from './view-auction/view-auction.component';\r\nimport { BackUrlResolver } from '../../shared/resolver/back-url.resolver';\r\nimport { AuctionResultComponent } from './auction-result/auction-result.component';\r\nimport { ImportedUsersComponent } from './imported-users/imported-users.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: AuctionListComponent,\r\n },\r\n {\r\n path: 'add',\r\n component: AddAuctionComponent,\r\n },\r\n {\r\n path: ':id',\r\n children: [\r\n {\r\n path: '',\r\n component: ViewAuctionComponent,\r\n },\r\n {\r\n path: 'edit',\r\n component: AddAuctionComponent,\r\n },\r\n {\r\n path: 'users',\r\n loadChildren: () => import('./auction-user/auction-user.module').then(m => m.AuctionUserModule),\r\n resolve: { returnTo: BackUrlResolver },\r\n },\r\n {\r\n path: 'configure-lot',\r\n loadChildren: () => import('./configure-lot/configure-lot.module').then(m => m.ConfigureLotModule),\r\n },\r\n {\r\n path: 'bids',\r\n loadChildren: () =>\r\n import('./bids/bids.module').then((m) => m.BidsModule),\r\n },\r\n {\r\n path: 'result',\r\n component: AuctionResultComponent,\r\n },\r\n {\r\n path: 'imported-users',\r\n component: ImportedUsersComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AuctionRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiBaseResponse, CommonDropdown } from '../models';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuctionSurveyService {\r\n constructor(private http: HttpClient) {}\r\n\r\n getSurveyOptionsListing(): Observable<CommonDropdown[]> {\r\n return this.http\r\n .get<ApiBaseResponse<CommonDropdown[]>>(\r\n `${environment.apiUrl}/auctionSurvey`\r\n )\r\n .pipe(map((it) => it.data));\r\n }\r\n\r\n saveAuctionSurvey(auctionId: number, options: string): Observable<any> {\r\n return this.http\r\n .post<ApiBaseResponse<any>>(`${environment.apiUrl}/auctionSurvey`, {\r\n auctionId: auctionId,\r\n selectedOptions: options,\r\n })\r\n .pipe(map((it) => it.data));\r\n }\r\n}\r\n","import { Component, OnInit, TemplateRef, ViewChild, AfterContentInit } from '@angular/core';\r\nimport {\r\n LotService,\r\n LoaderService,\r\n AuctionService,\r\n WatchListService,\r\n WebStorageService,\r\n} from '../../../../services';\r\nimport { Router, ActivatedRoute, Data } from '@angular/router';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport constants from '../../../../utility/constants';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport {\r\n HubConnection,\r\n HubConnectionBuilder,\r\n LogLevel,\r\n} from '@microsoft/signalr';\r\nimport { LotPublic, AuctionCurrentState } from '../../../../models';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { BidInfo } from '../../../shared/component/lot-card/lot-card.component';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\n\r\n@Component({\r\n selector: 'app-view-lot',\r\n templateUrl: './view-lot.component.html',\r\n styleUrls: ['./view-lot.component.css'],\r\n})\r\nexport class ViewLotComponent implements OnInit, AfterContentInit {\r\n modalRef: BsModalRef;\r\n lotId: number = null;\r\n loggedInUser = 0;\r\n auctionDetail: any;\r\n auctionId: any;\r\n currentSlider: any = [];\r\n showTimer: boolean = true;\r\n currentSliderHeader: string;\r\n timeDiff;\r\n sec;\r\n days = 0;\r\n config;\r\n events;\r\n formatted;\r\n hubUrl: string = environment.serverUrl + environment.hubs.bid;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n returnUrl: string = null;\r\n bidMinAmount: number = constants.common.bid.bidMinAmount;\r\n bidMaxAmount: number = constants.common.bid.bidMaxAmount;\r\n userFullName: string;\r\n auctionStatuses = constants.common.auctionStatus;\r\n errorMsg: string = null;\r\n isUserHighestBidder: boolean = false;\r\n biddingAmount: FormControl = new FormControl(null, [\r\n Validators.required,\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyNumeric,\r\n Validators.min(this.bidMinAmount),\r\n Validators.max(this.bidMaxAmount),\r\n ]);\r\n private lotHubConnection: HubConnection;\r\n eachLotData: LotPublic;\r\n addedToWatchlist: number;\r\n\r\n lotNumber: string;\r\n soldStatuses = constants.common.soldStatus;\r\n\r\n isAddedToWatchlist: boolean = false;\r\n isLotClosed: boolean = false;\r\n @ViewChild('quickBidModal', { static: false })\r\n quickBidModal: TemplateRef<any>;\r\n viewLotHeader = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n autoplay: false,\r\n dots: false,\r\n arrows: false,\r\n asNavFor: '.viewLotThumbs',\r\n };\r\n\r\n viewLotThumbs = {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n autoplay: false,\r\n dots: false,\r\n asNavFor: '.viewLotHeader',\r\n centerMode: true,\r\n centerPadding: '50px',\r\n focusOnSelect: true,\r\n responsive: [\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n imagesSlider2 = {\r\n adaptiveHeight: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n fade: true,\r\n asNavFor: '.view-more-slider .thumbs',\r\n };\r\n\r\n thumbnailsSlider2 = {\r\n slidesToShow: 8,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n dots: false,\r\n centerMode: true,\r\n focusOnSelect: true,\r\n asNavFor: '.view-more-slider .image-slides2',\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 5,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n auctionCode: string;\r\n auctionCurrentState: AuctionCurrentState;\r\n readOnlyCatalog: boolean;\r\n isLowConnectionMode: boolean = false;\r\n\r\n serverTimeSub: Subscription;\r\n lotType = constants.common.lotTypes;\r\n isQuickBidOrNot: boolean;\r\n changeInAmount: boolean = false;\r\n\r\n constructor(\r\n private auctionService: AuctionService,\r\n private loader: LoaderService,\r\n private lotService: LotService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: BsModalService,\r\n private watchListService: WatchListService,\r\n private toastrService: ToastrService,\r\n private storage: WebStorageService,\r\n private bidService: BidService,\r\n private auctionTimer: AuctionTimeService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((params) => {\r\n this.lotNumber = params['lotId'];\r\n this.auctionCode = params['auctionCode'];\r\n this.bindDataToForm1();\r\n });\r\n this.route.queryParams.subscribe((queryParams) => {\r\n this.lotId = queryParams['lotId'];\r\n });\r\n var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n if (loggedInData == true) {\r\n this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n this.userFullName =\r\n this.storage.getBuyer()?.currentUser?.user?.firstName +\r\n ' ' +\r\n this.storage.getBuyer()?.currentUser?.user?.lastName;\r\n }\r\n this.route.queryParams.subscribe((qParams) => {\r\n this.returnUrl = qParams['returnTo'];\r\n });\r\n\r\n this.route.data.subscribe((d: Data) => {\r\n this.auctionCurrentState = d['currentState'];\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.loadPrettyPhoto();\r\n }\r\n\r\n loadPrettyPhoto(): void {\r\n function waitForElm(selector) {\r\n return new Promise(resolve => {\r\n if (document.querySelector(selector)) {\r\n return resolve(document.querySelector(selector));\r\n }\r\n const observer = new MutationObserver(mutations => {\r\n if (document.querySelector(selector)) {\r\n resolve(document.querySelector(selector));\r\n observer.disconnect();\r\n }\r\n });\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true\r\n });\r\n });\r\n };\r\n waitForElm('.prettyPhotoSlideWrapperLotDetail').then((elm) => {\r\n //@ts-ignore\r\n $('a[rel^=\"prettyPhoto\"]').prettyPhoto({\r\n animationSpeed: 'slow',\r\n theme: 'dark_rounded'\r\n });\r\n })\r\n }\r\n\r\n private initializeOnRouteChange() {\r\n this.lotId = null;\r\n this.loggedInUser = 0;\r\n this.showTimer = true;\r\n this.currentSlider = [];\r\n this.errorMsg = null;\r\n this.isUserHighestBidder = false;\r\n\r\n this.isAddedToWatchlist = false;\r\n this.isLotClosed = false;\r\n this.isLowConnectionMode = false;\r\n\r\n this.lotId = 0;\r\n\r\n let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n this.eachLotData?.lotEndTimeUtc\r\n );\r\n\r\n var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n\r\n if (loggedInData) {\r\n this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n this.checkLotConnectionMode();\r\n }\r\n\r\n if (\r\n this.loggedInUser > 0 &&\r\n this.eachLotData.loggedInUser?.isApproved &&\r\n (this.eachLotData.auction?.auctionStatus == this.auctionStatuses.past ||\r\n checkLotClosed) &&\r\n !this.readOnlyCatalog\r\n ) {\r\n this.showTimer = false;\r\n this.isLotClosed = true;\r\n }\r\n\r\n this.getResolverData();\r\n }\r\n\r\n private checkLotConnectionMode() {\r\n let storedValue = this.storage.getBuyer();\r\n if (storedValue)\r\n this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n }\r\n\r\n getResolverData() {\r\n this.route.data.subscribe((res) => {\r\n this.auctionCurrentState = res['auctionState'];\r\n if (\r\n !this.auctionCurrentState.isActive &&\r\n !this.auctionCurrentState.isApproved\r\n ) {\r\n this.checkAuctionDeactivated();\r\n }\r\n this.checkReadOnlyCatalog(this.auctionCurrentState);\r\n });\r\n }\r\n\r\n private checkAuctionDeactivated() {\r\n if (\r\n this.auctionCurrentState.isSentForApproval &&\r\n this.auctionCurrentState.status === this.auctionStatuses.pending\r\n ) {\r\n return;\r\n }\r\n if (!this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n this.toastrService.info(\r\n `Unfortunately ${this.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n if (this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n this.toastrService.info(\r\n `Unfortunately ${this.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n constants.common.toast.infoTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n this.router.navigateByUrl('/');\r\n }\r\n\r\n private checkReadOnlyCatalog(auctionState: AuctionCurrentState) {\r\n this.readOnlyCatalog = auctionState.saleType.isCatalogReadOnly;\r\n }\r\n\r\n private checkBidding() {\r\n let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n this.eachLotData?.lotEndTimeUtc\r\n );\r\n\r\n if (\r\n this.loggedInUser > 0 &&\r\n this.eachLotData.loggedInUser?.isApproved &&\r\n this.eachLotData.auction?.auctionStatus == this.auctionStatuses.live &&\r\n !this.readOnlyCatalog &&\r\n !checkLotClosed\r\n ) {\r\n this.lotHubConnection = new HubConnectionBuilder()\r\n .configureLogging(LogLevel.None)\r\n .withUrl(this.hubUrl)\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n this.registerHubEvents();\r\n this.lotHubConnection\r\n .start()\r\n .then(() => {\r\n this.getLotData();\r\n })\r\n .catch(() => {\r\n this.loader.showLoader(true);\r\n });\r\n } else {\r\n this.checkHigherBidder(this.eachLotData.highestBidder);\r\n }\r\n }\r\n\r\n private registerHubEvents() {\r\n this.lotHubConnection.onreconnecting(() => {\r\n this.loader.showLoader(true);\r\n });\r\n\r\n this.biddingListener();\r\n\r\n this.lotHubConnection.onreconnected(() => {\r\n this.getLotData();\r\n });\r\n }\r\n\r\n private getLotData() {\r\n this.loader.showLoader(true);\r\n let groupName: string =\r\n this.eachLotData.auction?.id + '#' + this.eachLotData?.id;\r\n this.lotHubConnection\r\n .invoke('AddUserToLotBidding', groupName)\r\n .then((response) => {\r\n if (response != null) {\r\n this.mapBidInfo(response);\r\n }\r\n this.loader.showLoader(false);\r\n })\r\n .catch(() => {\r\n this.loader.showLoader(false);\r\n });\r\n this.getServerCurrentDatetime();\r\n }\r\n\r\n getServerCurrentDatetime() {\r\n this.serverTimeSub = interval(10000).subscribe(() => {\r\n this.lotHubConnection.invoke('ServerCurrentDateTime').then((response) => {\r\n this.eachLotData.lotStartTimeUtc = response;\r\n });\r\n });\r\n }\r\n\r\n isTimeReached(isReached: boolean) {\r\n if (isReached) {\r\n this.getLotResults();\r\n this.showTimer = false;\r\n this.isLotClosed = true;\r\n }\r\n }\r\n\r\n private checkHigherBidder(highestBidders: Array<number> | null) {\r\n this.isUserHighestBidder = false;\r\n if (highestBidders != null) {\r\n let isHighest: number = highestBidders.find(\r\n (i) => i == this.eachLotData.loggedInUser?.userId\r\n );\r\n this.isUserHighestBidder = isHighest > -1 ? true : false;\r\n }\r\n }\r\n\r\n mapBidInfo(res: BidInfo, needToShowOutBidToast = false) {\r\n this.changeInAmount =\r\n +this.eachLotData.nextRequiredBid !== +res.nextRequiredBid;\r\n this.eachLotData.bidCount = res.bidCount;\r\n this.eachLotData.currentBid = res.currentBid;\r\n this.eachLotData.highestBid = res.highestBid;\r\n this.eachLotData.highestBidder = res.highestBidders;\r\n this.eachLotData.nextRequiredBid = res.nextRequiredBid;\r\n this.eachLotData.lotEndTimeUtc = res.lotEndTimeUtc;\r\n this.eachLotData.soldTo = res.soldTo;\r\n this.eachLotData.soldAt = res.soldAt;\r\n this.eachLotData.extendedByMinutes = res.extendedByMinutes;\r\n this.eachLotData.timeLeft = res.timeLeft;\r\n this.eachLotData.isBiddingPaused = res.isBiddingPaused;\r\n this.eachLotData.lotStatus = res.lotStatus;\r\n this.eachLotData.willSell = res?.willSell;\r\n this.eachLotData.loosers = res?.loosers;\r\n this.eachLotData.outbid = this.findOutbid(\r\n this.eachLotData\r\n );\r\n\r\n this.checkHigherBidder(res.highestBidders);\r\n\r\n this.isAddedToWatchlist = this.eachLotData.watchListId > 0 ? true : false;\r\n }\r\n\r\n private biddingListener() {\r\n this.lotHubConnection.on('GetLotByGroupName', (data: BidInfo) => {\r\n if (data != null) {\r\n this.mapBidInfo(data, true);\r\n }\r\n });\r\n }\r\n\r\n getViewLotDetail() {\r\n this.loader.showLoader(true);\r\n const lotDetail = this.lotService\r\n .getLotDetail(this.lotId, this.auctionCode, this.lotNumber)\r\n .subscribe(\r\n (res: any) => {\r\n this.eachLotData = res;\r\n this.lotId = this.eachLotData.id;\r\n this.initializeOnRouteChange();\r\n if (!this.isLowConnectionMode) {\r\n this.checkBidding();\r\n } else {\r\n this.checkHigherBidder(this.eachLotData.highestBidder);\r\n }\r\n this.currentSlider = res.images;\r\n this.eachLotData['outbid'] = this.findOutbid(this.eachLotData);\r\n this.isAddedToWatchlist =\r\n this.eachLotData.watchListId > 0 ? true : false;\r\n this.loader.showLoader(false);\r\n },\r\n () => {\r\n this.loader.showLoader(false);\r\n this.goBack();\r\n }\r\n );\r\n this.subscriptions.push(lotDetail)\r\n }\r\n\r\n private bindDataToForm1() {\r\n this.loader.showLoader(true);\r\n const auctionDetailByCode = this.auctionService\r\n .getAuctionDetailByCode(this.auctionCode)\r\n .subscribe((res: any) => {\r\n this.auctionDetail = res;\r\n this.loader.showLoader(false);\r\n this.getViewLotDetail();\r\n });\r\n this.subscriptions.push(auctionDetailByCode)\r\n }\r\n\r\n goToLot(lotNumber: string) {\r\n this.router.navigate(\r\n [this.auctionCode, routeTable.public.auctionLot, lotNumber],\r\n {\r\n queryParamsHandling: 'preserve',\r\n }\r\n );\r\n }\r\n\r\n goBack() {\r\n if (this.returnUrl) {\r\n this.router.navigateByUrl(this.returnUrl);\r\n } else {\r\n this.router.navigate([this.auctionCode, routeTable.public.auctionLot]);\r\n }\r\n }\r\n\r\n goToRegister(auctionCode: number) {\r\n this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n queryParams: { returnTo: this.router.url },\r\n });\r\n }\r\n\r\n onSubmit(isQuickBid) {\r\n this.isQuickBidOrNot = isQuickBid;\r\n this.changeInAmount = false;\r\n //if (isQuickBid) {\r\n if (!this.biddingAmount.value && !this.isQuickBidOrNot) {\r\n return;\r\n } else {\r\n this.modalRef = this.modalService.show(this.quickBidModal, {\r\n class: 'custom-popup modal-dialog-centered',\r\n ignoreBackdropClick: true,\r\n keyboard: false,\r\n });\r\n this.modalRef.onHidden.subscribe(() => {\r\n this.changeInAmount = false;\r\n });\r\n }\r\n }\r\n\r\n closeReviewModal() {\r\n this.changeInAmount = false;\r\n this.modalRef.hide();\r\n }\r\n\r\n submitBidByApi(isQuickBid: boolean = false) {\r\n this.errorMsg = null;\r\n let bidAmount: number;\r\n\r\n if (!isQuickBid) {\r\n if (this.biddingAmount.invalid) return;\r\n bidAmount = +this.biddingAmount.value;\r\n } else {\r\n bidAmount = +this.eachLotData.nextRequiredBid;\r\n }\r\n\r\n this.loader.showLoader(true);\r\n let model: BulkBid = {\r\n auctionId: this.eachLotData.auction.id,\r\n lotAmount: [\r\n {\r\n lotId: this.eachLotData.id,\r\n amount: bidAmount,\r\n },\r\n ],\r\n userId: this.eachLotData.loggedInUser?.userId,\r\n paddleNumber: this.eachLotData.loggedInUser?.paddleNumber,\r\n proxyUserId: null,\r\n };\r\n this.bidService\r\n .submitPublicBulkBid(model)\r\n .toPromise()\r\n .then((res: any) => {\r\n res = res[0];\r\n this.loader.showLoader(false);\r\n if (res.isSuccess) {\r\n this.toastrService.success(\r\n res.message,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.biddingAmount.reset();\r\n } else {\r\n this.errorMsg = res.message;\r\n }\r\n if (res.isDeactivated) {\r\n this.checkAuctionDeactivated();\r\n }\r\n })\r\n .catch((err) => {\r\n this.loader.showLoader(false);\r\n this.toastrService.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.closeReviewModal();\r\n }\r\n\r\n private getLotResults() {\r\n this.loader.showLoader(true);\r\n const lotResult = this.bidService.getLotResult(this.eachLotData.id).subscribe(\r\n (res) => {\r\n this.loader.showLoader(false);\r\n this.mapBidInfo(res, true);\r\n },\r\n () => this.loader.showLoader(false)\r\n );\r\n this.subscriptions.push(lotResult)\r\n }\r\n\r\n openModalViewMore(\r\n template4: TemplateRef<any>,\r\n isSliderImages: boolean = false,\r\n picture\r\n ) {\r\n let photoArray = [];\r\n this.currentSlider = [];\r\n photoArray = this.eachLotData?.images;\r\n let index = photoArray.findIndex((x) => x.id == picture?.id);\r\n if (index > -1) {\r\n photoArray[index]['selected'] = true;\r\n }\r\n\r\n let arr = photoArray.filter((x) => x.id >= picture?.id);\r\n let arr1 = photoArray.filter((x) => x.id < picture?.id);\r\n Array.prototype.push.apply(this.currentSlider, arr);\r\n Array.prototype.push.apply(this.currentSlider, arr1);\r\n\r\n this.currentSliderHeader = 'Photo Gallery';\r\n this.modalRef = this.modalService.show(template4, this.config);\r\n }\r\n getHighlightedImage(image) {\r\n this.currentSlider.forEach((element) => {\r\n if (element.selected) {\r\n delete element.selected;\r\n }\r\n });\r\n image['selected'] = true;\r\n return image;\r\n }\r\n\r\n addToWatchList() {\r\n this.loader.showLoader(true);\r\n let model = {\r\n lotId: this.eachLotData.id,\r\n auctionId: this.auctionDetail.id,\r\n };\r\n const addwatchList = this.watchListService.addToWatchList(model).subscribe(() => {\r\n this.toastrService.success(\r\n `Lot # ${this.eachLotData.lotNumber} added to Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.isAddedToWatchlist = true;\r\n this.loader.showLoader(false);\r\n });\r\n this.subscriptions.push(addwatchList)\r\n }\r\n\r\n removeFromWatchList() {\r\n this.loader.showLoader(true);\r\n let model = {\r\n lotId: this.eachLotData.id,\r\n auctionId: this.auctionDetail.id,\r\n };\r\n const removeWatchList = this.watchListService.removeFromWatchList(model).subscribe(() => {\r\n this.toastrService.success(\r\n `Lot # ${this.eachLotData.lotNumber} removed from Watchlist`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.isAddedToWatchlist = false;\r\n this.loader.showLoader(false);\r\n });\r\n this.subscriptions.push(removeWatchList)\r\n }\r\n\r\n findLooser(): number {\r\n if (this.eachLotData.loosers)\r\n return this.eachLotData.loosers?.findIndex(\r\n (i) => i == +this.loggedInUser\r\n );\r\n }\r\n\r\n findOutbid(item) {\r\n let index =\r\n item.loosers && item.loosers?.length > 0\r\n ? item.loosers?.findIndex((x) => x == this.loggedInUser)\r\n : -1;\r\n let index1 =\r\n item.highestBidder && item.highestBidder?.length > 0\r\n ? item.highestBidder?.findIndex((x) => x == this.loggedInUser)\r\n : -1;\r\n if (index > -1 && index1 == -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.serverTimeSub) this.serverTimeSub.unsubscribe();\r\n if (this.lotHubConnection) {\r\n this.lotHubConnection.stop();\r\n }\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<app-lot-connection-mode *ngIf=\"!readOnlyCatalog\"></app-lot-connection-mode>\r\n\r\n<div class=\"public-wrap\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-2 mb-md-0 back-link-outer\">\r\n <a class=\"back-link\" role=\"button\" (click)=\"goBack()\">\r\n <img alt=\"back\" src=\"../assets/images/back.svg\" /> Back To All Lots</a>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"next-prev-lots\">\r\n <button type=\"button\" class=\"btn btn-colored prev-btn-icon mr-2\" role=\"button\"\r\n (click)=\"goToLot(eachLotData?.previousLotNumber)\" *ngIf=\"eachLotData?.previousLotNumber != null\">\r\n <img alt=\"prev-icon\" src=\"../assets/images/prev.svg\" class=\"prev-icon mr-2\" width=\"17\" />\r\n Previous Lot\r\n </button>\r\n <button type=\"button\" class=\"btn btn-colored next-btn-icon\" role=\"button\"\r\n (click)=\"goToLot(eachLotData?.nextLotNumber)\" *ngIf=\"eachLotData?.nextLotNumber != null\">\r\n Next Lot\r\n <img alt=\"next-arrow\" src=\"../assets/images/next.svg\" class=\"next-icon ml-2\" width=\"17\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h1 class=\"view-lot-hdg\">View Lot</h1>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <span class=\"card-badge min-width-auto badge-dark mb-2\">Lot #{{ eachLotData?.lotNumber }}</span>\r\n </div>\r\n <div class=\"col-12\">\r\n <p class=\"view-lot-author\">\r\n Auction: {{ eachLotData?.auction?.title }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"container\">\r\n <div class=\"view-lot-slider-wrapper\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 view-left-wrapper\">\r\n <div class=\"slide slide-view\">\r\n <img alt=\"lot-images\" src=\"/assets/images/image_not_found.svg\"\r\n *ngIf=\"eachLotData?.thumbnailImages?.length == 0; else block\" />\r\n </div>\r\n\r\n <ng-template #block>\r\n <ngx-slick-carousel class=\"carousel viewLotHeader\" [config]=\"viewLotHeader\">\r\n <div ngxSlickItem class=\"slide slide-view\" *ngFor=\"let item of eachLotData?.images; let i = index\">\r\n <img alt=\"lot-images\" [src]=\"item?.name\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n\r\n <ngx-slick-carousel class=\"carousel viewLotThumbs m-0 custom-slick-arrow\" [config]=\"viewLotThumbs\">\r\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of eachLotData?.thumbnailImages; let i = index\">\r\n <!-- <a id=\"myLink\" href=\"{{ item?.name }}\" rel=\"prettyPhoto[pp_gal2]\" class=\"prettyPhotoSlideWrapperLotDetail\">\r\n <img alt=\"auction-image\" class=\"cursor-pointer preview-image\" src=\"{{ item?.thumb }}\" imgFallback=\"{{ item?.name }}\" />\r\n </a> -->\r\n <img alt=\"lot-images\" [src]=\"item?.name\" imagePreview [thumbnailImages]=\"eachLotData?.thumbnailImages\"\r\n [actualImages]=\"eachLotData?.images\" [currentImage]=\"item\" [header]=\"'Lot Images'\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"col-lg-6 view-right-wrapper\">\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <div class=\"closes-in-wrap\" *ngIf=\"\r\n !eachLotData?.isBiddingPaused &&\r\n showTimer &&\r\n eachLotData?.loggedInUser &&\r\n eachLotData?.loggedInUser?.isApproved &&\r\n eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n \">\r\n <img alt=\"clock\" src=\"../assets/images/clock.svg\" />\r\n <span class=\"closes-in\">Closes In</span>\r\n <span class=\"close-time\">\r\n <timer-countdown [timeLeft]=\"eachLotData?.timeLeft\" [startTime]=\"eachLotData?.lotStartTimeUtc\"\r\n [endTime]=\"eachLotData?.lotEndTimeUtc\" [isLowConnectionMode]=\"isLowConnectionMode\"\r\n (timeReached)=\"isTimeReached($event)\"></timer-countdown>\r\n <span class=\"extended\" *ngIf=\"eachLotData?.extendedByMinutes\">Extended</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"view-lot-des2\">\r\n <p>{{ eachLotData?.description }}</p>\r\n </div>\r\n\r\n <div class=\"view-lot-des2\">\r\n <p>{{ eachLotData?.category }}</p>\r\n </div>\r\n\r\n <div class=\"location-wrap\">\r\n <div class=\"location\">\r\n <ng-container *ngIf=\"eachLotData?.quantity > 1\">\r\n <span class=\"ml-0 mr-2 forQty\">Qty: {{ eachLotData?.quantity }}</span>\r\n </ng-container>\r\n <img class=\"location mr-2\" alt=\"location\" src=\"/assets/images/location-grey.svg\" />\r\n <span>{{ eachLotData?.location }}</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <ng-container *ngIf=\"\r\n eachLotData?.auction?.auctionStatus == auctionStatuses.live\r\n \">\r\n <p class=\"bid\">{{ eachLotData?.bidCount }} Bids</p>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!readOnlyCatalog\">\r\n <div class=\"view-lot-des2\" style=\"font-size: 12px\" *ngIf=\"\r\n showTimer &&\r\n eachLotData?.loggedInUser &&\r\n eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n \">\r\n <ng-container *ngIf=\"eachLotData?.reservePrice\">\r\n <ng-container *ngIf=\"eachLotData?.bidCount > 0; else elseTemplate\">\r\n <ng-container *ngIf=\"\r\n eachLotData?.currentBid >= eachLotData?.reservePrice;\r\n else elseBody\r\n \">\r\n <p>Reserve Price Met</p>\r\n </ng-container>\r\n <ng-template #elseBody>\r\n <p>Reserve Price Not Met</p>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <p>Subject To Reserve Price</p>\r\n </ng-template>\r\n </ng-container>\r\n <!-- for bulk lot or individual lot i text -->\r\n <ng-container *ngIf=\"\r\n eachLotData?.lotType === lotType.individual &&\r\n eachLotData?.addedInBulkLotName\r\n \">\r\n <p class=\"m-0\">\r\n Subject to Bulk Lot of {{ eachLotData?.addedInBulkLotName }}\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This lot is subject to Bulk Lot {{\r\n eachLotData?.addedInBulkLotName\r\n }}. In order for this lot to be awarded, the aggregate total of Lots {{\r\n eachLotData?.associatedLots | bulkLots\r\n }} must exceed the value of {{\r\n eachLotData?.addedInBulkLotName\r\n }}. Additionally, the Bulk Bidder/Individual Bidders will be given {{\r\n eachLotData?.individualModifier\r\n }}% protection.\" [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"\r\n eachLotData?.lotType === lotType.bulk &&\r\n eachLotData?.lots?.length\r\n \">\r\n <p class=\"m-0\">\r\n Subject to Lots {{ eachLotData?.lots | bulkLots }}\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n matTooltip=\"\r\n The Bulk Bid is Subject to the Aggregate of Lots {{\r\n eachLotData?.lots | bulkLots\r\n }}. The Bulk Bidder/Piecemeal Bidders will be given {{\r\n eachLotData?.modifier\r\n }}% protection. Whichever lot(s) produce the highest total will be awarded the Lot. The Bulk Bid will close before the individual lots and you will not get a chance to re-bid after the individual lots close.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isLotClosed\">\r\n <ng-container *ngIf=\"\r\n eachLotData?.willSell &&\r\n eachLotData?.lotType != eachLotData?.willSell &&\r\n eachLotData?.addedInBulkLotName\r\n \">\r\n <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n </ng-container>\r\n <ng-container *ngIf=\"\r\n eachLotData?.willSell &&\r\n eachLotData?.lotType != eachLotData?.willSell &&\r\n eachLotData?.lots?.length\r\n \">\r\n <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"\r\n !eachLotData?.isBiddingPaused &&\r\n eachLotData?.loggedInUser &&\r\n eachLotData?.loggedInUser?.isApproved &&\r\n eachLotData?.auction?.auctionStatus == auctionStatuses.live &&\r\n !isLotClosed\r\n \">\r\n <div class=\"top-price\" *ngIf=\"loggedInUser\">\r\n <div class=\"bid-price left-price\">\r\n <p class=\"name\">{{eachLotData?.bidCount == 0 ? 'Opening Bid' : 'Current Bid'}} Amount</p>\r\n <p class=\"amount\">\r\n {{\r\n eachLotData?.currentBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"bid-price right-price\">\r\n <p class=\"name\">\r\n {{\r\n isUserHighestBidder\r\n ? \"Max Bid Amount\"\r\n : \"Next Required Bid\"\r\n }}\r\n </p>\r\n <p class=\"amount\">\r\n <ng-container *ngIf=\"isUserHighestBidder; else nextRequiredBidSection\">\r\n {{\r\n eachLotData?.highestBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </ng-container>\r\n <ng-template #nextRequiredBidSection>\r\n {{\r\n eachLotData?.nextRequiredBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n <small>\r\n {{ eachLotData?.quantity > 1 ? \"Each\" : \"\" }}\r\n </small>\r\n </ng-template>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"bid-price-input\" *ngIf=\"loggedInUser\">\r\n <div class=\"price-left\">\r\n <div class=\"form-group no-float-fields m-0 height-42\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput type=\"number\" [formControl]=\"biddingAmount\" />\r\n </mat-form-field>\r\n <control-messages [control]=\"biddingAmount\"></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-right mt-2\">\r\n <button type=\"button\" class=\"btn btn-white-border w-100\" role=\"button\" (click)=\"onSubmit(false)\">\r\n Bid Now\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"bid-submit mt-2\" *ngIf=\"loggedInUser && !isUserHighestBidder\">\r\n <button type=\"button\" class=\"btn btn-colored w-100\" role=\"button\" (click)=\"onSubmit(true)\">\r\n Quick Bid\r\n {{\r\n eachLotData?.nextRequiredBid\r\n | auctionCurrency: eachLotData?.auction?.curreny\r\n }}\r\n </button>\r\n </div>\r\n\r\n <div class=\"bid-green-hover-outer mt-2\" *ngIf=\"loggedInUser && isUserHighestBidder\">\r\n <button type=\"button\" class=\"btn btn-colored btn-green-hover w-100\">\r\n <img alt=\"high bidder\" class=\"mr-2\" src=\"./assets/images/white-check.svg\" />\r\n High Bidder\r\n </button>\r\n <div class=\"hover-wrap\">\r\n <p class=\"m-0\">\r\n You will be able to \"Quick Bid\" after your bid is outbid.\r\n <br />\r\n <br />\r\n You may still increase your max bid by entering a higher\r\n value on clicking Bid Now.\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"errorMsg != null\">\r\n <p class=\"error-msg\">{{ errorMsg }}</p>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"pause-bidding text-center my-3\" *ngIf=\"eachLotData?.isBiddingPaused\">\r\n <img alt=\"clock-icon\" class=\"clock-icon\" style=\"height: 25px\" src=\"./assets/images/clock-grey.svg\" />\r\n <h4>Bidding is paused!</h4>\r\n </div>\r\n\r\n <div class=\"auc-card-content auc-card-btns pt-3 text-center\">\r\n <button type=\"button\" class=\"btn btn-white-border w-100\" *ngIf=\"\r\n auctionDetail?.saleType?.registrationFormat == 1 &&\r\n auctionDetail?.isRegistrationActive &&\r\n (auctionDetail?.auctionStatus == 1 ||\r\n auctionDetail?.auctionStatus == 2) &&\r\n eachLotData?.loggedInUser == null &&\r\n showTimer\r\n \" role=\"button\" (click)=\"goToRegister(auctionDetail?.auctionCode)\">\r\n Register to Bid\r\n </button>\r\n\r\n <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n eachLotData?.lotStatus &&\r\n isLotClosed &&\r\n eachLotData?.loggedInUser\r\n \">\r\n <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n <ng-container *ngSwitchCase=\"soldStatuses.sold\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\">SOLD</span>\r\n </div>\r\n <p *ngIf=\"eachLotData?.soldTo == loggedInUser\">\r\n Winning Bidder\r\n </p>\r\n <p *ngIf=\"findLooser() > -1 && eachLotData?.soldTo !== loggedInUser\">Unsuccessful</p>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.unsold\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.cancelled\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"soldStatuses.pending\">\r\n <div class=\"badge-type\">\r\n <span class=\"card-badge-colored mr-2\"> PENDING </span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"false\">\r\n {{ \"this is not used now\" }}\r\n <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n !eachLotData?.lotStatus &&\r\n isLotClosed &&\r\n eachLotData.loggedInUser\r\n \">\r\n <div class=\"badge-type\">\r\n <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n <div *ngSwitchCase=\"3\">\r\n <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n </div>\r\n <div *ngSwitchCase=\"4\">\r\n <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!isLotClosed\">\r\n <div class=\"starred add-wishlist mt-2\" role=\"button\" (click)=\"addToWatchList()\"\r\n *ngIf=\"loggedInUser != 0 && !isAddedToWatchlist\">\r\n <span class=\"for-image\">\r\n <img alt=\"not added\" src=\"/assets/images/star-stroke-grey.svg\" />\r\n </span>\r\n <span class=\"ml-2\">Add To Watchlist</span>\r\n </div>\r\n\r\n <a [routerLink]=\"['/profile/my-watchlist']\" *ngIf=\"loggedInUser != 0 && isAddedToWatchlist\">\r\n <div class=\"add-wishlist mt-2 d-inline-flex\">\r\n <span class=\"for-image\">\r\n <img alt=\"added\" src=\"/assets/images/star-filled.svg\" />\r\n </span>\r\n <span class=\"ml-2\">Go to Watchlist</span>\r\n\r\n </div>\r\n\r\n </a>\r\n <span class=\"outbid-text ml-2\" *ngIf=\"eachLotData?.outbid\">Outbid</span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isLowConnectionMode && !isLotClosed\">\r\n <a class=\"iconRefresh\" role=\"button\" role=\"button\" (click)=\"getViewLotDetail()\">\r\n <img alt=\"refresh\" class=\"mr-2\" title=\"refresh\" src=\"/assets/images/refresh.svg\" />\r\n Refresh\r\n </a>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #quickBidModal>\r\n <div class=\"modal-header pl-3\">\r\n <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeReviewModal()\">\r\n <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"column-list\">\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Auction</div>\r\n <div class=\"right-wrap\">{{ eachLotData.auction.title | titlecase }}</div>\r\n </div>\r\n\r\n <div class=\"parts\">\r\n <div class=\"left-wrap\">Bidder</div>\r\n <div class=\"right-wrap\">\r\n Paddle No. {{ eachLotData.loggedInUser.paddleNumber }} {{userFullName | titlecase}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"data-table-wrap w-100\">\r\n <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n <tbody>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Lot #</span>\r\n {{ eachLotData.lotNumber }}\r\n </td>\r\n <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot Description</span>\r\n {{ eachLotData.description | characterLimit: 50 }}\r\n </td>\r\n <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"!isQuickBidOrNot\">\r\n <span class=\"td-header\">Current</span>\r\n {{ eachLotData.currentBid | auctionCurrency: eachLotData.auction.curreny }}\r\n </td>\r\n <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"!isQuickBidOrNot\">\r\n <span class=\"td-header\">New Bid</span>\r\n {{ biddingAmount.value | auctionCurrency: eachLotData.auction.curreny }}\r\n\r\n\r\n </td>\r\n <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"isQuickBidOrNot\">\r\n <span class=\"td-header\">Quick Bid</span>\r\n {{ eachLotData.nextRequiredBid | auctionCurrency: eachLotData.auction.curreny }}\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"!isQuickBidOrNot\">\r\n <div class=\"reviewBidError\" *ngIf=\"biddingAmount?.value < eachLotData.nextRequiredBid\">\r\n <img alt=\"invalid bid\" class=\"mr-2\" src=\"assets/images/bidError.svg\" />\r\n <p>\r\n <strong>Invalid Bid:</strong> Bid of\r\n {{ biddingAmount?.value | auctionCurrency: eachLotData.auction.curreny }}\r\n is lower than next required bid of\r\n {{\r\n eachLotData.nextRequiredBid\r\n | auctionCurrency: eachLotData.auction.curreny\r\n }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <ng-container *ngIf=\"changeInAmount\">\r\n <p>Note : New Bid has been placed. Please bid again.</p>\r\n </ng-container>\r\n\r\n <div class=\"review-btns-wrap mt-3\">\r\n <ng-container *ngIf=\"!changeInAmount\">\r\n <button type=\"button\" class=\"btn btn-colored\" role=\"button\" (click)=\"submitBidByApi(isQuickBidOrNot)\">\r\n Submit Bid\r\n </button>\r\n </ng-container>\r\n <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport constants from '../../../../utility/constants';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../../models';\r\nimport { LotService, AddLotModel, LoaderService } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\nimport { Subscription } from 'rxjs';\r\nexport interface SearchLot {\r\n id: number;\r\n text: string;\r\n selected: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-bulk-lot-form',\r\n templateUrl: './bulk-lot-form.component.html',\r\n styleUrls: ['./bulk-lot-form.component.css'],\r\n})\r\nexport class BulkLotFormComponent implements OnInit {\r\n @Input() auctionId: number;\r\n @Input() lotId: number = 0;\r\n @Input() auctionData: GetAuctionStep1;\r\n @Output('lotFormStep1Completed') step1Completed = new EventEmitter<any>();\r\n\r\n loading: boolean = false;\r\n publishLoading: boolean = false;\r\n submitting: boolean = false;\r\n\r\n minimumLotsToBeAdd: number = 2;\r\n\r\n private lotType: number = 2;\r\n\r\n bulkLotForm: FormGroup;\r\n\r\n fieldLengthShorter: number = constants.common.validations.maxLength10;\r\n fieldLength: number = constants.common.validations.maxLength50;\r\n fieldLengthLonger: number = constants.common.validations.maxLength8000;\r\n minAmount: number = 0;\r\n maxAmount: number = constants.common.bid.bidMaxAmount;\r\n minModifier: number = constants.common.modifier.min;\r\n maxModifier: number = constants.common.modifier.max;\r\n\r\n // mat-slider config\r\n label: boolean = true;\r\n steps: number = 1;\r\n tickIntervals: number = 10;\r\n\r\n // actual lots listing\r\n lotsForSearch: Array<SearchLot> = [];\r\n // filtered lots on search\r\n filteredLots: Observable<Array<SearchLot>>;\r\n // for chips\r\n selectedLots: Array<SearchLot> = [];\r\n\r\n isClosingBegin: boolean = false;\r\n private subscriptions: Array<Subscription> = [];\r\n constructor(\r\n private lotService: LotService,\r\n private loader: LoaderService,\r\n private auctionTimeService: AuctionTimeService,\r\n private toastr: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initiateForm();\r\n\r\n if (this.lotId) this.getLotDataById();\r\n else this.lotsForDD();\r\n }\r\n\r\n private initiateForm() {\r\n this.bulkLotForm = new FormGroup({\r\n lotNumber: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(this.fieldLengthShorter),\r\n AppValidators.checkBulkLotNumber,\r\n ]),\r\n searchLot: new FormControl(null, [\r\n Validators.maxLength(this.fieldLengthShorter),\r\n ]),\r\n description: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(this.fieldLengthLonger),\r\n ]),\r\n location: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(this.fieldLength),\r\n ]),\r\n category: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(this.fieldLength),\r\n ]),\r\n consignor: new FormControl(null, [\r\n Validators.maxLength(this.fieldLength),\r\n ]),\r\n startingPrice: new FormControl(null, [\r\n Validators.min(this.minAmount),\r\n Validators.max(this.maxAmount),\r\n ]),\r\n modifier: new FormControl(0, [\r\n Validators.min(this.minModifier),\r\n Validators.max(this.maxModifier),\r\n ]),\r\n });\r\n }\r\n\r\n private lotsForDD() {\r\n this.lotService\r\n .getLotsByAuction(this.auctionId, this.lotType)\r\n .toPromise()\r\n .then((response: CommonDropdown[]) => {\r\n this.lotFiltering(response);\r\n });\r\n }\r\n\r\n private _filter(lotNumber: string | null): SearchLot[] {\r\n return lotNumber\r\n ? this.lotsForSearch.filter((option) => option.text.includes(lotNumber))\r\n : this.lotsForSearch;\r\n }\r\n\r\n private lotFiltering(response: CommonDropdown[]) {\r\n this.lotsForSearch = response.map((lot) => ({\r\n id: lot.value,\r\n text: lot.text,\r\n selected: false,\r\n }));\r\n\r\n if (this.lotId) {\r\n this.selectedLots.forEach((eachLot) => {\r\n let lotItem = this.lotsForSearch.find((it) => it.id == eachLot.id);\r\n if (lotItem) lotItem.selected = true;\r\n });\r\n }\r\n\r\n this.filteredLots = this.bulkLotForm.controls.searchLot.valueChanges.pipe(\r\n startWith(null),\r\n map((lotNumber: string | null) => this._filter(lotNumber))\r\n );\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n let lot: SearchLot = event.option.value;\r\n lot.text = lot.text;\r\n lot.selected = true;\r\n let findedLot = this.lotsForSearch.find((it) => it.id === lot.id);\r\n if (findedLot) {\r\n findedLot.selected = true;\r\n }\r\n this.selectedLots.push(lot);\r\n this.bulkLotForm.controls.searchLot.reset();\r\n }\r\n\r\n removeLot(lot: SearchLot, lotItemIndex: number) {\r\n lot.selected = false;\r\n let findLot = this.lotsForSearch.find((it) => it.id === lot.id);\r\n if (findLot == undefined) {\r\n this.lotsForSearch.push(lot);\r\n }\r\n this.selectedLots.splice(lotItemIndex, 1);\r\n }\r\n\r\n private getLotDataById() {\r\n this.loader.showLoader(true);\r\n const vlots = this.lotService.viewLotById(this.lotId).subscribe(\r\n (res) => {\r\n this.mapDataToForm(res);\r\n this.lotsForDD();\r\n this.loader.showLoader(false);\r\n },\r\n () => {\r\n this.loader.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(vlots);\r\n }\r\n\r\n mapDataToForm(lotData: any) {\r\n this.bulkLotForm.patchValue({\r\n lotNumber: lotData.lotNumber,\r\n description: lotData.description,\r\n location: lotData.location,\r\n category: lotData.category,\r\n consignor: lotData.consignor,\r\n startingPrice: lotData.openingPrice,\r\n modifier: lotData.modifier,\r\n });\r\n this.selectedLots = lotData.lots.map((lot) => ({\r\n id: lot.id,\r\n text: lot.lotNumber,\r\n selected: true,\r\n }));\r\n this.isClosingBegin = this.auctionTimeService.isLotClosingBegun(\r\n lotData?.lotEndTimeUtc\r\n );\r\n }\r\n\r\n private createAddLotModel(isPublishLot): AddLotModel {\r\n let formValues = this.bulkLotForm.getRawValue();\r\n let model: AddLotModel = {\r\n isUpdateAndPublish: isPublishLot,\r\n auctionId: this.auctionId,\r\n consignor: formValues.consignor,\r\n category: formValues.category,\r\n description: formValues.description,\r\n location: formValues.location,\r\n lotId: this.lotId || 0,\r\n lotNumber: formValues.lotNumber,\r\n lotType: this.lotType,\r\n lots: this.selectedLots.map((it) => it.id).join(','),\r\n modifier: formValues.modifier,\r\n openingPrice: formValues.startingPrice,\r\n };\r\n return model;\r\n }\r\n\r\n bulkLotFormSubmit(isPublishLot) {\r\n this.submitting = true;\r\n\r\n if (this.bulkLotForm.invalid) return;\r\n\r\n if (this.selectedLots.length < this.minimumLotsToBeAdd) return;\r\n\r\n this.submitting = false;\r\n isPublishLot ? (this.publishLoading = true) : (this.loading = true);\r\n\r\n const aplots = this.lotService\r\n .addUpdateLot(this.createAddLotModel(isPublishLot))\r\n .subscribe(\r\n (res) => {\r\n isPublishLot ? (this.publishLoading = false) : (this.loading = false);\r\n this.bulkLotForm.reset();\r\n this.stepCompleted(res);\r\n },\r\n (err) => {\r\n isPublishLot ? (this.publishLoading = false) : (this.loading = false);\r\n this.toastr.error(err, 'Error');\r\n }\r\n );\r\n this.subscriptions.push(aplots);\r\n }\r\n\r\n stepCompleted(lotData: any) {\r\n this.step1Completed.emit(lotData);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<form [formGroup]=\"bulkLotForm\">\r\n <div class=\"row\">\r\n <ng-content select=\".lotType\"></ng-content>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Lot Number *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n formControlName=\"lotNumber\"\r\n [maxlength]=\"fieldLengthShorter\"\r\n [disabled]=\"lotId\"\r\n [readonly]=\"lotId\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.lotNumber\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <mat-label>{{\r\n isClosingBegin ? \"Added Lots *\" : \"Select Lots to Add to Bulk Lot *\"\r\n }}</mat-label>\r\n <ng-container *ngIf=\"!isClosingBegin\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n formControlName=\"searchLot\"\r\n [maxlength]=\"fieldLengthShorter\"\r\n [matAutocomplete]=\"auto\"\r\n [disabled]=\"isClosingBegin\"\r\n />\r\n </mat-form-field>\r\n <mat-hint\r\n [ngClass]=\"{ 'error-msg': submitting }\"\r\n *ngIf=\"selectedLots && selectedLots?.length < minimumLotsToBeAdd\"\r\n >Atleast {{ minimumLotsToBeAdd }} lots are required for bulk\r\n lot</mat-hint\r\n >\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.searchLot\"\r\n >\r\n </control-messages>\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"selected($event)\"\r\n >\r\n <ng-container *ngFor=\"let lot of filteredLots | async\">\r\n <mat-option *ngIf=\"!lot.selected\" [value]=\"lot\">\r\n {{ lot.text }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n </ng-container>\r\n\r\n <mat-chip-list>\r\n <mat-chip *ngFor=\"let lot of selectedLots; index as lotIndex\">\r\n {{ \"Lot \" + lot.text.split(\"/\")[0] }}\r\n <mat-icon\r\n matChipRemove\r\n *ngIf=\"!isClosingBegin\"\r\n role=\"button\"\r\n (click)=\"removeLot(lot, lotIndex)\"\r\n >cancel</mat-icon\r\n >\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Description *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea\r\n matInput\r\n formControlName=\"description\"\r\n [maxlength]=\"fieldLengthLonger\"\r\n ></textarea>\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.description\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Location *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Enter Location\"\r\n formControlName=\"location\"\r\n [maxlength]=\"fieldLength\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.location\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Lot Category *</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter Lot Category\"\r\n formControlName=\"category\"\r\n [maxlength]=\"fieldLength\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.category\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Consignor</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter Consignor\"\r\n formControlName=\"consignor\"\r\n [maxlength]=\"fieldLength\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.consignor\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">Starting/Opening Price</label>\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"number\"\r\n placeholder=\"Enter Starting/Opening price\"\r\n formControlName=\"startingPrice\"\r\n [min]=\"minAmount\"\r\n [max]=\"maxAmount\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.startingPrice\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12\">\r\n <div class=\"form-group\">\r\n <label class=\"form-label mb-0\">\r\n Modifier(%) *\r\n <span\r\n class=\"custom-tooltip\"\r\n #tooltip=\"matTooltip\"\r\n matTooltip=\"Bulk Buyer Protection: Enter a percentage value to grant protection to a Bulk Bidder or piecemeal bidders. Example: +10% means that a $100,000 bulk bid would require $110,000 in piecemeal bids to overcome. Alternatively, -10% means that a $100,000 bulk bid would require just 90,000 of piecemeal bids to overcome.\"\r\n >\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </label>\r\n <div>\r\n value :\r\n {{\r\n bulkLotForm.value.modifier ? bulkLotForm.value.modifier + \"%\" : 0\r\n }}\r\n </div>\r\n <mat-slider\r\n class=\"w-75\"\r\n value=\"0\"\r\n [max]=\"maxModifier\"\r\n [min]=\"minModifier\"\r\n [step]=\"steps\"\r\n [thumbLabel]=\"label\"\r\n [tickInterval]=\"tickIntervals\"\r\n [disabled]=\"isClosingBegin\"\r\n formControlName=\"modifier\"\r\n >\r\n </mat-slider>\r\n <control-messages\r\n [isFormSubmitted]=\"submitting\"\r\n [control]=\"bulkLotForm.controls.modifier\"\r\n >\r\n </control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p class=\"error-msg my-2\" *ngIf=\"bulkLotForm.invalid && submitting\">\r\n Please resolve error(s) first\r\n </p>\r\n\r\n <div class=\"image-popup-wrap pt-2 mt-2\">\r\n <ng-content select=\".closeModalButton\"></ng-content>\r\n\r\n <ng-container *ngIf=\"!lotId\">\r\n <button\r\n type=\"submit\"\r\n [disabled]=\"publishLoading || loading\"\r\n class=\"btn btn-colored font-15 ml-2\"\r\n role=\"button\"\r\n (click)=\"bulkLotFormSubmit(false)\"\r\n >\r\n <span\r\n *ngIf=\"loading\"\r\n class=\"spinner-border spinner-border-sm mr-1\"\r\n ></span>\r\n {{ lotId ? \"Update\" : \"Add\" }} Bulk Lot\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"lotId\">\r\n <button\r\n type=\"submit\"\r\n [disabled]=\"loading || publishLoading\"\r\n class=\"btn btn-colored font-15 ml-2\"\r\n role=\"button\"\r\n (click)=\"bulkLotFormSubmit(true)\"\r\n >\r\n <span\r\n *ngIf=\"publishLoading\"\r\n class=\"spinner-border spinner-border-sm mr-1\"\r\n ></span>\r\n {{ lotId ? \"Update\" : \"Add\" }} Bulk Lot & Publish\r\n </button>\r\n </ng-container>\r\n </div>\r\n</form>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport {\r\n CommonDropdown,\r\n GetAuctionStep1,\r\n RegisteredUsers,\r\n} from '../../../models';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport {\r\n ImportResultService,\r\n} from '../service/import-result.service';\r\nimport { Subscription } from 'rxjs';\r\n@Component({\r\n selector: 'app-imported-users',\r\n templateUrl: './imported-users.component.html',\r\n styleUrls: ['./imported-users.component.css'],\r\n})\r\nexport class ImportedUsersComponent implements OnInit {\r\n displayedColumns: string[] = [\r\n 'bidderNum',\r\n 'name',\r\n 'company',\r\n 'spendHistory',\r\n 'status',\r\n ];\r\n auctionUsers: Array<RegisteredUsers> = [];\r\n totalCount: number = 0;\r\n\r\n auctionId: number;\r\n auctionData: GetAuctionStep1;\r\n auctionsDD: Array<CommonDropdown> = [];\r\n\r\n searchTerm: string = '';\r\n pageNumber: number = 1;\r\n pageSize: number = constants.admin.adminPageSize;\r\n private subscriptions: Array<Subscription> = [];\r\n constructor(\r\n private importResult: ImportResultService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private loader: LoaderService,\r\n private auctionService: AuctionService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((res) => {\r\n let param = res['id'];\r\n if (param) {\r\n if (typeof +param == 'number') {\r\n this.auctionId = +param;\r\n this.getAuctionData();\r\n }\r\n } else {\r\n this.goBack();\r\n }\r\n });\r\n this.auctionsForDD();\r\n }\r\n\r\n auctionsForDD() {\r\n const iauctions = this.importResult.getAuctionsForDD().subscribe((res) => {\r\n this.auctionsDD = res;\r\n });\r\n this.subscriptions.push(iauctions);\r\n }\r\n\r\n private getAuctionData() {\r\n const aucStep1 = this.auctionService.getAuctionStep1(this.auctionId).subscribe((res) => {\r\n this.auctionData = res;\r\n });\r\n this.subscriptions.push(aucStep1);\r\n this.getAllUsers();\r\n }\r\n\r\n onAuctionChange(value: number) {\r\n this.auctionId = value;\r\n this.getAuctionData();\r\n }\r\n\r\n changeSearchValue(val: Observable<string>) {\r\n const vals = val.subscribe((value) => {\r\n this.searchTerm = value;\r\n this.pageNumber = 1;\r\n this.getAllUsers();\r\n });\r\n this.subscriptions.push(vals);\r\n }\r\n\r\n private pagingParams() {\r\n return {\r\n pageNumber: this.pageNumber,\r\n pageSize: this.pageSize,\r\n isPaginated: true,\r\n auctionId: this.auctionId,\r\n searchTerm: this.searchTerm,\r\n };\r\n }\r\n\r\n private getAllUsers() {\r\n this.loader.showLoader(true);\r\n const rusers = this.auctionService.getRegisteredUsers(this.pagingParams()).subscribe(\r\n (res) => {\r\n this.loader.showLoader(false);\r\n this.auctionUsers = res.data;\r\n this.totalCount = res.totalCount;\r\n },\r\n (_) => {\r\n this.loader.showLoader(false);\r\n this.totalCount = 0;\r\n }\r\n );\r\n this.subscriptions.push(rusers);\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.pageNumber = page;\r\n this.getAllUsers();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['../'], { relativeTo: this.route });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<div class=\"white-wrap-admin mb-4\">\r\n <div class=\"back-link-outer\">\r\n <div class=\"back-link-outer mb-3 d-flex\">\r\n <a role=\"button\" (click)=\"goBack()\" class=\"back-link\">\r\n <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-12 col-md-12\">\r\n <p class=\"body-txt-22 mb-4\">View Registered Users</p>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-12\">\r\n <div class=\"form-group m-0\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"custom-select-option custom-select-wrap\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Auction To View Its Results</mat-label>\r\n <mat-select\r\n [(value)]=\"auctionId\"\r\n (selectionChange)=\"onAuctionChange($event.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let auction of auctionsDD\"\r\n [value]=\"auction.value\"\r\n >{{ auction.text }}</mat-option\r\n >\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"grey-well m-0\">\r\n <div class=\"for-badge mb-2\">\r\n <span class=\"card-badge badge-dark\">{{\r\n auctionData?.saleType?.publicName\r\n }}</span>\r\n </div>\r\n <h1 class=\"well-name mb-2\">{{ auctionData?.title }}</h1>\r\n <h3 class=\"well-des\" [innerHTML]=\"auctionData?.tagline\"></h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"page-title-wrap mb-3 mb-md-4\">\r\n <h1 class=\"hdg m-0\">Registered Users</h1>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-1 pb-2\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-lg-6\">\r\n <div class=\"row\">\r\n <div class=\"col-8 pr-0\">\r\n <div class=\"form-group\">\r\n <search-control\r\n [placeholder]=\"'Search'\"\r\n (value)=\"changeSearchValue($event)\"\r\n >\r\n </search-control>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n\r\n<ng-container *ngIf=\"totalCount === 0; else showTable\">\r\n <div class=\"empty-state-container empty-pad-2\">\r\n <div class=\"empty-state-content\">\r\n <img\r\n alt=\"empty-state\"\r\n src=\"../../../../assets/images/empty-state-icon.svg\"\r\n />\r\n <h3 class=\"_heading\">No User Found</h3>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #showTable>\r\n <div class=\"data-table-wrap\">\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalCount > pageSize\"\r\n ></app-paginator>\r\n\r\n <table\r\n mat-table\r\n aria-label=\"table\"\r\n [dataSource]=\"\r\n auctionUsers\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalCount\r\n }\r\n \"\r\n class=\"mat-elevation-z8 custom-data-table ImportRegisteredUsers m-0\"\r\n >\r\n <!-- Position Column -->\r\n <ng-container matColumnDef=\"bidderNum\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-1 listing-header-name\"\r\n >\r\n Bidder Number\r\n </th>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n class=\"column-1 listing-data-entry\"\r\n data-column=\"Bidder Number\"\r\n >\r\n <span> {{ element.paddleNumber | isEmpty }} </span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"name\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-2 listing-header-name\"\r\n >\r\n Name & Email\r\n </th>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n class=\"column-2 listing-data-entry\"\r\n data-column=\"Name & Email\"\r\n >\r\n <div class=\"emailAddressOuter\">\r\n <span\r\n >{{ element.user.firstName + \" \" + element.user.lastName }}\r\n </span>\r\n <p class=\"emailAddress m-0\">\r\n <a href=\"mailto:{{ element.user.email }}\">\r\n {{ element.user.email }}\r\n </a>\r\n </p>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Weight Column -->\r\n <ng-container matColumnDef=\"company\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-3 listing-header-name\"\r\n >\r\n Company\r\n </th>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n class=\"column-3 listing-data-entry\"\r\n data-column=\"Company\"\r\n >\r\n <span>{{ element.user.companyName | isEmpty }}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Symbol Column -->\r\n <ng-container matColumnDef=\"spendHistory\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-4 listing-header-name\"\r\n >\r\n Spending History\r\n <span\r\n #tooltip=\"matTooltip\"\r\n class=\"ml-1\"\r\n matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n matTooltip=\"The Spending History reflects the sum of the Successful/Winning Max Bids a user has placed in the Online Auction System.\"\r\n [matTooltipPosition]=\"'above'\"\r\n >\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </th>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n class=\"column-4 listing-data-entry\"\r\n data-column=\"Spending History\"\r\n >\r\n <span>{{\r\n !element.isNewToPlatform\r\n ? (element.spendingHistory | currency: \"USD\")\r\n : \"-\"\r\n }}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Symbol Column -->\r\n <ng-container matColumnDef=\"status\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-5 listing-header-name\"\r\n >\r\n New ?\r\n <span\r\n #tooltip=\"matTooltip\"\r\n class=\"ml-1\"\r\n matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n matTooltip=\"Is the user being added for the first time on TBG platform ?\"\r\n [matTooltipPosition]=\"'above'\"\r\n >\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </th>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n class=\"column-5 listing-data-entry\"\r\n data-column=\"New ?\"\r\n >\r\n <span> {{ element.isNewToPlatform ? \"Yes\" : \"No\" }}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n\r\n <app-paginator\r\n [paginationId]=\"'server'\"\r\n [currentPage]=\"pageNumber\"\r\n [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\"\r\n *ngIf=\"totalCount > pageSize\"\r\n ></app-paginator>\r\n </div>\r\n</ng-template>\r\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ApiBaseResponse, CommonDropdown, PageData } from '../../../models';\r\n\r\n@Injectable()\r\nexport class ImportResultService {\r\n private apiUrl: string = environment.apiUrl + '/lotResults';\r\n private ddUrl: string = environment.apiUrl + '/Auction/AuctionsHaveLotNotHostedBiddingDropdownList';\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n uploadLotResults(auctionId: number, file: File): Observable<any> {\r\n let formData = new FormData();\r\n formData.append('auctionId', '' + auctionId);\r\n (typeof file === 'string')?\r\n formData.append('file', file):\r\n formData.append('file', file,file?.name);\r\n return this.http.post<ApiBaseResponse<any>>(this.apiUrl + '/importLotResults', formData)\r\n .pipe(map(it => it.data));\r\n }\r\n\r\n uploadAuctionUsers(auctionId: number, file: File): Observable<any> {\r\n let formData = new FormData();\r\n formData.append('auctionId', '' + auctionId);\r\n (typeof file === 'string')?\r\n formData.append('file', file):\r\n formData.append('file', file,file?.name);\r\n return this.http.post<ApiBaseResponse<any>>(this.apiUrl + '/importAuctionUsers', formData)\r\n .pipe(map(it => it.data));\r\n }\r\n\r\n checkAuctionUsers(auctionId: number): Observable<boolean> {\r\n return this.http.get<ApiBaseResponse<boolean>>(this.apiUrl + '/importAuctionUsers', {\r\n params: { 'auctionId': auctionId.toString() }\r\n })\r\n .pipe(map(it => it.data));\r\n }\r\n\r\n getLotResults(pagingModel: PagingModel): Observable<PageData<any>> {\r\n let param = new HttpParams();\r\n\r\n if (pagingModel.searchTerm)\r\n param = param.append('searchTerm', pagingModel.searchTerm);\r\n param = param.append('auctionId', pagingModel.auctionId.toString());\r\n param = param.append('pageNumber', pagingModel.pageNum.toString());\r\n param = param.append('pageSize', pagingModel.pageSize.toString());\r\n param = param.append('isPaginated', '' + true);\r\n\r\n return this.http.get<ApiBaseResponse<any>>(this.apiUrl + '/GetLotResultByAuctionId', {\r\n params: param\r\n })\r\n .pipe(map((it) => ({ data: it.data, totalCount: it.pagingInfo.totalCount })));\r\n }\r\n\r\n getAuctionsForDD(): Observable<CommonDropdown[]> {\r\n return this.http.get<ApiBaseResponse<CommonDropdown[]>>(this.ddUrl).pipe(map(it => it.data));\r\n }\r\n}\r\n\r\nexport interface PagingModel {\r\n auctionId: number;\r\n searchTerm: string;\r\n pageNum: number;\r\n pageSize: number;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n} from '@angular/forms';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport constants from '../../../utility/constants';\r\nimport { AuctionContact, AuctionLocation, AuctionStep4 } from '../../../models';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionService, CmsService, LoaderService } from '../../../services';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport messages from '../../../utility/messages';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport enum modal {\r\n Location = 1,\r\n Contact,\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-auction-step4',\r\n templateUrl: './add-auction-step4.component.html',\r\n styleUrls: ['./add-auction-step4.component.css'],\r\n})\r\nexport class AddAuctionStep4Component implements OnInit {\r\n @Input('isEditMode') editMode: boolean;\r\n @Input('auctionId') auctionId: number;\r\n @Input('auctionStatus') auctionStatus: number;\r\n @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n modalRef: BsModalRef;\r\n\r\n displayedColumns: string[] = ['locationName', 'address', 'lot', 'action'];\r\n\r\n displayedColumns2: string[] = [\r\n 'contactName',\r\n 'address',\r\n 'email',\r\n 'mobileNumber',\r\n 'action',\r\n ];\r\n\r\n fieldMaxLengthShort: number = constants.common.validations.maxLength50;\r\n fieldMaxLengthMid: number = constants.common.validations.maxLength150;\r\n minMobileNumberLength: number = constants.common.validations.maxLength10;\r\n mobileNumberLength: number = constants.common.validations.maxLength30;\r\n fieldMaxLength: number = constants.common.validations.maxLength100;\r\n fieldMaxLengthMedium: number = constants.common.validations.maxLength500;\r\n fieldMaxLengthLong: number = constants.common.validations.maxLength1500;\r\n fieldMaxLengthLonger: number = constants.common.validations.maxLength2500;\r\n fieldMaxLengthMuchLonger: number = constants.common.validations.maxLength5000;\r\n fieldMaxLengthLongest: number = constants.common.validations.maxLength10000;\r\n fieldMaxLengthMediumMost: number = constants.common.validations.maxLength200;\r\n\r\n locationForm: FormGroup;\r\n locations = new MatTableDataSource<AuctionLocation>([]);\r\n addEditLocationsList: Array<AuctionLocation> = [];\r\n isLocationEdit: boolean = false;\r\n currentLocationIndex: number = 0;\r\n\r\n staticRiggingData: string = '';\r\n staticSaletaxData: string = '';\r\n staticRemovalData: string = '';\r\n staticInspectionData: string = '';\r\n\r\n riggingData: string = '';\r\n removalData: string = '';\r\n saletaxData: string = '';\r\n inspectionData: string = '';\r\n addressData: string = '';\r\n\r\n loading: boolean = false;\r\n modalType: number;\r\n contactForm: FormGroup;\r\n contacts = new MatTableDataSource<AuctionContact>([]);\r\n addEditContactsList: Array<AuctionContact> = [];\r\n isContactEdit: boolean = false;\r\n currentContactIndex: number = 0;\r\n contactDisable: boolean;\r\n locationDisable: boolean;\r\n contactLength: number;\r\n locationLength: number;\r\n\r\n isSaleTaxLimitReached: boolean;\r\n isRemovalLimitReached: boolean;\r\n isRiggingLimitReached: boolean;\r\n isInspectionLimitReached: boolean;\r\n\r\n locationSubmitted: boolean = false;\r\n contactSubmitted: boolean = false;\r\n\r\n cmsPageIds = constants.common.cmsPages;\r\n saveUpdate: string;\r\n showButtonText: string;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n constructor(\r\n private modalService: BsModalService,\r\n private toastr: ToastrService,\r\n private auctionService: AuctionService,\r\n private router: Router,\r\n private loaderService: LoaderService,\r\n private cmsService: CmsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.bindFormData();\r\n this.initiateLocationForm();\r\n this.initiateContactForm();\r\n this.getCmsPageData();\r\n }\r\n\r\n private getCmsPageData() {\r\n const pages = this.cmsService.getCmsPage(this.cmsPageIds.riggingInfo).subscribe((res) => {\r\n this.staticRiggingData = res.description;\r\n if (!this.locationForm.value.riggingAndShipping) {\r\n this.locationForm.patchValue({\r\n riggingAndShipping: this.staticRiggingData,\r\n });\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n });\r\n this.subscriptions.push(pages);\r\n\r\n const texinfo = this.cmsService.getCmsPage(this.cmsPageIds.saleTaxInfo).subscribe((res) => {\r\n this.staticSaletaxData = res.description;\r\n if (!this.locationForm.value.salesTaxDetail) {\r\n this.locationForm.patchValue({\r\n salesTaxDetail: this.staticSaletaxData,\r\n });\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n });\r\n this.subscriptions.push(texinfo);\r\n\r\n this.staticInspectionData = constants.admin.initialValues.inspectionPreview;\r\n\r\n const cmspage = this.cmsService\r\n .getCmsPage(this.cmsPageIds.defaultRemovalDatesRules)\r\n .subscribe((res) => {\r\n this.staticRemovalData = res.description;\r\n if (!this.locationForm.value.removalDateAndRules) {\r\n this.locationForm.patchValue({\r\n removalDateAndRules: this.staticRemovalData,\r\n });\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n });\r\n this.subscriptions.push(cmspage);\r\n }\r\n\r\n initiateLocationForm() {\r\n\r\n this.locationForm = new FormGroup({\r\n id: new FormControl(0),\r\n name: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthMid),\r\n ]),\r\n address: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n ]),\r\n locationLink: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n AppValidators.checkWebAddress,\r\n ]),\r\n lotNumbers: new FormControl('TBD', [\r\n AppValidators.noWhitespace,\r\n AppValidators.locationLotNum,\r\n Validators.maxLength(this.fieldMaxLength),\r\n ]),\r\n salesTaxRate: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n AppValidators.onlyPercentage,\r\n ]),\r\n removalDateAndRules: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n ]),\r\n salesTaxDetail: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n ]),\r\n inspectionPreview: new FormControl(constants.admin.initialValues.inspectionPreview, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n ]),\r\n riggingAndShipping: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n ]),\r\n isDeleted: new FormControl(false),\r\n });\r\n }\r\n\r\n editorContent(\r\n event: { data: string; limitReached: boolean },\r\n control: AbstractControl\r\n ) {\r\n control.patchValue(event.data);\r\n control.markAsDirty();\r\n if (event.limitReached) control.setErrors({ invalid: true });\r\n else control.setErrors(null);\r\n control.updateValueAndValidity();\r\n }\r\n\r\n editLocation(index: number) {\r\n let data = this.locations.data[index];\r\n this.addressData = data.address;\r\n this.removalData = data.removalDateAndRules;\r\n this.saletaxData = data.salesTaxDetail\r\n ? data.salesTaxDetail\r\n : this.staticSaletaxData;\r\n this.riggingData = data.riggingAndShipping\r\n ? data.riggingAndShipping\r\n : this.staticRiggingData;\r\n this.inspectionData = data.inspectionPreview\r\n ? data.inspectionPreview\r\n : this.staticInspectionData;\r\n this.locationForm.patchValue({\r\n id: data.id,\r\n name: data.name,\r\n address: data.address,\r\n locationLink: data.locationLink,\r\n lotNumbers: data.lotNumbers,\r\n salesTaxRate: data.salesTaxRate,\r\n removalDateAndRules: data.removalDateAndRules\r\n ? data.removalDateAndRules\r\n : this.staticRemovalData,\r\n salesTaxDetail: data.salesTaxDetail\r\n ? data.salesTaxDetail\r\n : this.staticSaletaxData,\r\n inspectionPreview: data.inspectionPreview,\r\n riggingAndShipping: data.riggingAndShipping\r\n ? data.riggingAndShipping\r\n : this.staticRiggingData,\r\n isDeleted: data.isDeleted,\r\n });\r\n this.locationForm.updateValueAndValidity();\r\n this.disableButton();\r\n }\r\n\r\n onDeleteLocation(index: number) {\r\n this.addEditLocationsList[index].isDeleted = true;\r\n this.locations.data = this.addEditLocationsList;\r\n this.onSendAndApproval(false)\r\n this.disableButton();\r\n this.closeModal();\r\n this.disableButton();\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n\r\n onLocationSave() {\r\n this.locationSubmitted = true;\r\n let updatedAddress = this.locationForm.value.address.replace(/<[^>]*>?/gm, '')\r\n let updatedAddressData = this.addressData ? this.addressData.replace(/<[^>]*>?/gm, '') : '/'\r\n if (this.locationForm.invalid) {\r\n return;\r\n }\r\n if (updatedAddress.length > 200 || updatedAddressData.length > 200) {\r\n return;\r\n }\r\n\r\n if (this.isLocationEdit) {\r\n let arr = [...this.addEditLocationsList]\r\n arr.splice(this.currentLocationIndex, 1)\r\n if (arr.find((test) => test.name === this.locationForm.value.name && test.address === this.locationForm.value.address && test.lotNumbers === this.locationForm.value.lotNumbers && test.salesTaxDetail === this.locationForm.value.salesTaxDetail) === undefined) {\r\n this.addEditLocationsList.splice(\r\n this.currentLocationIndex,\r\n 1,\r\n this.locationForm.value\r\n );\r\n this.locations.data.splice(\r\n this.currentLocationIndex,\r\n 1,\r\n this.locationForm.value\r\n );\r\n this.onSendAndApproval(false)\r\n this.locations.data = this.addEditLocationsList;\r\n this.closeModal();\r\n this.disableButton();\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n else {\r\n this.toastr.error('Duplicate entry')\r\n }\r\n } else {\r\n const result = this.addEditLocationsList.filter((thing, index, self) =>\r\n index === self.findIndex((t) => (\r\n t.name === this.locationForm.value.name && t.address === this.locationForm.value.address && t.lotNumbers === this.locationForm.value.lotNumbers && t.salesTaxDetail === this.locationForm.value.salesTaxDetail\r\n ))\r\n )\r\n if (result.length) {\r\n this.toastr.error('Duplicate entry')\r\n }\r\n else {\r\n this.addEditLocationsList.push(this.locationForm.value);\r\n this.onSendAndApproval(false)\r\n this.locations.data = this.addEditLocationsList;\r\n this.closeModal();\r\n this.disableButton();\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n resetLocationForm() {\r\n this.addressData = '';\r\n this.removalData = '';\r\n this.riggingData = this.staticRiggingData;\r\n this.saletaxData = this.staticSaletaxData;\r\n this.removalData = this.staticRemovalData;\r\n this.inspectionData = this.staticInspectionData;\r\n this.locationForm.reset({ id: 0, isDeleted: false });\r\n this.locationForm.updateValueAndValidity();\r\n }\r\n\r\n initiateContactForm() {\r\n this.contactForm = new FormGroup(\r\n {\r\n id: new FormControl(0),\r\n contactName: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthShort),\r\n ]),\r\n description: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n Validators.required,\r\n Validators.maxLength(this.fieldMaxLengthShort),\r\n ]),\r\n email: new FormControl(null, [\r\n AppValidators.checkEmail,\r\n AppValidators.noWhitespace,\r\n Validators.maxLength(this.fieldMaxLengthShort),\r\n ]),\r\n mobileNumber: new FormControl(null, [\r\n AppValidators.noWhitespace,\r\n ]),\r\n isDeleted: new FormControl(false),\r\n },\r\n this.isRequired.bind(this)\r\n );\r\n }\r\n\r\n private isRequired(formGroup: FormGroup) {\r\n let email = formGroup.value.email;\r\n let mobileNumber = formGroup.value.mobileNumber;\r\n if (\r\n (email == '' || email == null) &&\r\n (mobileNumber == '' || mobileNumber == null)\r\n ) {\r\n return { invalidFields: true };\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n editContact(index: number) {\r\n let data = this.contacts.data[index];\r\n this.contactForm.patchValue({\r\n id: data.id,\r\n contactName: data.contactName,\r\n description: data.description,\r\n email: data.email,\r\n mobileNumber: data.mobileNumber,\r\n isDeleted: data.isDeleted,\r\n });\r\n this.disableButton();\r\n }\r\n\r\n onDeleteContact(index: number) {\r\n this.addEditContactsList[index].isDeleted = true;\r\n this.contacts.data = this.addEditContactsList;\r\n this.onSendAndApproval(false)\r\n this.disableButton();\r\n this.closeModal();\r\n this.disableButton();\r\n }\r\n\r\n onContactSave() {\r\n this.contactSubmitted = true;\r\n if (this.contactForm.invalid) {\r\n return;\r\n }\r\n if (this.isContactEdit) {\r\n this.addEditContactsList[this.currentContactIndex] = this.contactForm.value;\r\n this.contacts.data = this.addEditContactsList;\r\n this.onSendAndApproval(false)\r\n this.closeModal();\r\n this.disableButton();\r\n } else {\r\n this.addEditContactsList.push(this.contactForm.value);\r\n this.onSendAndApproval(false)\r\n this.contacts.data = this.addEditContactsList;\r\n this.closeModal();\r\n this.disableButton();\r\n }\r\n }\r\n\r\n resetContactForm() {\r\n this.contactForm.reset({\r\n id: 0,\r\n isDeleted: false,\r\n });\r\n }\r\n\r\n arrayLengths() {\r\n this.contactLength = this.addEditContactsList.filter(\r\n (obj) => obj.isDeleted != true\r\n ).length;\r\n this.locationLength = this.addEditLocationsList.filter(\r\n (obj) => obj.isDeleted != true\r\n ).length;\r\n }\r\n\r\n disableButton() {\r\n this.arrayLengths();\r\n if (this.contactLength <= 0) {\r\n this.contactDisable = true;\r\n } else {\r\n this.contactDisable = false;\r\n }\r\n if (this.locationLength <= 0) {\r\n this.locationDisable = true;\r\n } else {\r\n this.locationDisable = false;\r\n }\r\n }\r\n\r\n onSendAndApproval(isUpdated) {\r\n this.loading = true;\r\n this.loaderService.showLoader(true);\r\n\r\n let payLoad = this.constructFormData(isUpdated);\r\n const step4 = this.auctionService.addEditDeleteAuctionStep4(payLoad).subscribe(\r\n () => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n \r\n this.toastr.success(\r\n this.editMode\r\n ? messages.addAuction4.updated\r\n : messages.addAuction4.saved,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n if(isUpdated){\r\n this.goToStep(5);\r\n }\r\n //\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.loaderService.showLoader(false);\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(step4);\r\n }\r\n\r\n constructFormData(isUpdated) {\r\n let contactPayload: AuctionContact[] = this.addEditContactsList\r\n .map((i) => ({ ...i, email: i.email == '' ? null : i.email }))\r\n .filter((obj) => {\r\n return obj.id > 0 || (obj.id == 0 && obj.isDeleted != true);\r\n });\r\n let locationPayload: AuctionLocation[] = this.addEditLocationsList.filter(\r\n (obj) => {\r\n return obj.id > 0 || (obj.id == 0 && obj.isDeleted != true);\r\n }\r\n );\r\n return {\r\n auctionId: this.auctionId,\r\n auctionLocations: locationPayload,\r\n auctionContacts: contactPayload,\r\n isUpdated: isUpdated\r\n };\r\n }\r\n\r\n bindFormData() {\r\n const step4data = this.auctionService.getAuctionStep4(this.auctionId).subscribe(\r\n (res) => {\r\n this.addEditContactsList = res.auctionContacts;\r\n this.addEditLocationsList = res.auctionLocations;\r\n this.bindingData(res);\r\n },\r\n (err) => {\r\n this.goToStep();\r\n }\r\n );\r\n this.subscriptions.push(step4data);\r\n }\r\n bindingData(data: AuctionStep4) {\r\n this.contacts.data = data.auctionContacts;\r\n this.locations.data = data.auctionLocations;\r\n this.disableButton();\r\n }\r\n\r\n openLocationModal(\r\n template3: TemplateRef<any>,\r\n isEdit: boolean = false,\r\n index: number = 0\r\n ) {\r\n this.riggingData = this.staticRiggingData;\r\n this.saletaxData = this.staticSaletaxData;\r\n this.removalData = this.staticRemovalData;\r\n this.inspectionData = this.staticInspectionData;\r\n if (isEdit) {\r\n this.editLocation(index);\r\n this.showButtonText = 'Update'\r\n this.isLocationEdit = true;\r\n } else {\r\n this.showButtonText = 'Save'\r\n this.isLocationEdit = false;\r\n }\r\n this.currentLocationIndex = index;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal add-location modal-dialog modal-dialog-centered max-1135',\r\n };\r\n this.modalRef = this.modalService.show(template3, modalOptions);\r\n }\r\n\r\n openContactModal(\r\n template2: TemplateRef<any>,\r\n isEdit: boolean = false,\r\n index: number = 0\r\n ) {\r\n if (isEdit) {\r\n this.editContact(index);\r\n this.isContactEdit = true;\r\n this.showButtonText = 'Update'\r\n } else {\r\n this.isContactEdit = false;\r\n this.showButtonText = 'Save'\r\n }\r\n this.currentContactIndex = index;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal add-location modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template2, modalOptions);\r\n }\r\n\r\n openDeleteModal(\r\n template2: TemplateRef<any>,\r\n type: number,\r\n index: number = 0\r\n ) {\r\n if (type == modal.Location) {\r\n this.modalType = modal.Location;\r\n this.currentLocationIndex = index;\r\n } else {\r\n this.modalType = modal.Contact;\r\n this.currentContactIndex = index;\r\n }\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template2, modalOptions);\r\n }\r\n\r\n closeModal() {\r\n this.locationSubmitted = false;\r\n this.contactSubmitted = false;\r\n this.resetLocationForm();\r\n this.resetContactForm();\r\n if (this.modalRef) this.modalRef.hide();\r\n }\r\n\r\n onCancel() {\r\n if (this.auctionStatus == 1) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.auctionStatus == 2) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.auctionStatus == 4) {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate(['/admin/dashboard/auction'], {\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n\r\n goToStep(step: number = 3) {\r\n this.step.emit(step);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<div>\r\n <div\r\n class=\"empty-auction-location\"\r\n *ngIf=\"locationLength <= 0; else showLocations\"\r\n >\r\n <div class=\"not-found\">\r\n <img\r\n alt=\"not-found-icon\"\r\n class=\"not-found-icon\"\r\n src=\"../assets/images/location.svg\"\r\n />\r\n <h3 class=\"not-added\">Location not added</h3>\r\n <p class=\"sub-hdg\">To add a Location first</p>\r\n <button\r\n class=\"btn btn-colored\"\r\n role=\"button\"\r\n (click)=\"openLocationModal(locationModal)\"\r\n >\r\n + Add Location\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-template #showLocations>\r\n <div class=\"row location-header-row mb-4\">\r\n <div class=\"col-12 col-md-8 col-lg-9\">\r\n <span class=\"heading-20\">Locations</span>\r\n <span class=\"body-text-14 mt-1 mb-2 mb-md-0\"\r\n >These locations will be published on the Auction detail page</span\r\n >\r\n </div>\r\n\r\n <div class=\"col-12 col-md-4 col-lg-3 align-self-end\">\r\n <span class=\"float-right\">\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-colored\"\r\n role=\"button\"\r\n (click)=\"openLocationModal(locationModal)\"\r\n >\r\n + Add Location\r\n </button>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <section class=\"data-table-wrap w-100\">\r\n <table\r\n aria-label=\"locationTable\"\r\n mat-table\r\n [dataSource]=\"locations\"\r\n #locationTable\r\n class=\"mat-elevation-z8 dark-table add-contact-table\"\r\n >\r\n <ng-container matColumnDef=\"locationName\">\r\n <th\r\n scope=\"col\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n class=\"column-1 listing-header-name\"\r\n >\r\n Location Name\r\n </th>\r\n <td\r\n class=\"column-1 listing-data-entry name table-grey-row\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n data-column=\"Location Name\"\r\n >\r\n <span>\r\n {{ element.name | isEmpty }}\r\n </span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"address\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-2 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Address\r\n </th>\r\n <td\r\n mat-cell\r\n class=\"column-2 listing-data-entry name\"\r\n data-column=\"Address\"\r\n *matCellDef=\"let element\"\r\n >\r\n <span\r\n [innerHTML]=\"element.address | isEmpty | sanitizedHtml\"\r\n ></span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lot\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-3 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Lot #\r\n </th>\r\n <td\r\n class=\"column-3 listing-data-entry name table-grey-row\"\r\n data-column=\"Lot #\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n >\r\n <span>{{ element.lotNumbers | isEmpty: \"TBD\" }}</span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"action\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-4 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n ></th>\r\n <td\r\n class=\"column-4 listing-data-entry name\"\r\n mat-cell\r\n *matCellDef=\"let element; let i = index\"\r\n >\r\n <div class=\"for-icons\">\r\n <a\r\n class=\"hover-icon edit-icon mr-2\"\r\n role=\"button\"\r\n (click)=\"openLocationModal(locationModal, true, i)\"\r\n ></a>\r\n <button\r\n type=\"button\"\r\n class=\"hover-icon delete-icon\"\r\n role=\"button\"\r\n (click)=\"openDeleteModal(deletePopup, 1, i)\"\r\n ></button>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [hidden]=\"row.isDeleted == true\"\r\n ></tr>\r\n </table>\r\n </section>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div\r\n class=\"empty-auction-location\"\r\n *ngIf=\"contactLength <= 0; else showContacts\"\r\n >\r\n <div class=\"not-found border-top-only\">\r\n <img\r\n alt=\"not-found-icon\"\r\n class=\"not-found-icon\"\r\n src=\"../assets/images/contact.svg\"\r\n />\r\n <h3 class=\"not-added\">Contact not added</h3>\r\n <p class=\"sub-hdg\">To add your first contact for your auction</p>\r\n <button\r\n class=\"btn btn-colored\"\r\n role=\"button\"\r\n (click)=\"openContactModal(contactModal)\"\r\n >\r\n + Add Contact\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-template #showContacts>\r\n <div class=\"row location-header-row mt-0 mt-md-4 pt-3\">\r\n <div class=\"col-12 col-md-8 col-lg-9\">\r\n <span class=\"heading-20\">Contacts</span>\r\n <span class=\"body-text-14 mt-1 mb-2 mb-md-0\"\r\n >These contacts will be published on the Auction detail page</span\r\n >\r\n </div>\r\n <div class=\"col-12 col-md-4 col-lg-3 align-self-end\">\r\n <span class=\"float-right\">\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-colored\"\r\n role=\"button\"\r\n (click)=\"openContactModal(contactModal)\"\r\n >\r\n + Add Contacts\r\n </button>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <section class=\"data-table-wrap w-100\">\r\n <table\r\n aria-label=\"contactTable\"\r\n mat-table\r\n [dataSource]=\"contacts\"\r\n #contactTable\r\n class=\"mat-elevation-z8 dark-table add-loaction-table\"\r\n >\r\n <ng-container matColumnDef=\"contactName\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-1 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Contact Name\r\n </th>\r\n <td\r\n class=\"column-1 listing-data-entry name table-grey-row\"\r\n data-column=\"Contact Name\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n >\r\n {{ element.contactName | isEmpty }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"address\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-2 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Designation\r\n </th>\r\n <td\r\n class=\"column-2 listing-data-entry name\"\r\n data-column=\"Designation\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n >\r\n {{ element.description | isEmpty }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-3 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Email\r\n </th>\r\n <td\r\n class=\"column-3 listing-data-entry name table-grey-row\"\r\n data-column=\"Email\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n >\r\n {{ element.email | isEmpty }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"mobileNumber\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-4 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n >\r\n Phone Number\r\n </th>\r\n <td\r\n class=\"column-4 listing-data-entry name\"\r\n data-column=\"Phone Number\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n >\r\n {{ element.mobileNumber | isEmpty }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"action\">\r\n <th\r\n scope=\"col\"\r\n class=\"column-5 listing-header-name\"\r\n mat-header-cell\r\n *matHeaderCellDef\r\n ></th>\r\n <td\r\n class=\"column-5 listing-data-entry name\"\r\n mat-cell\r\n *matCellDef=\"let element; let i = index\"\r\n >\r\n <div class=\"for-icons\">\r\n <a\r\n class=\"hover-icon edit-icon mr-2\"\r\n role=\"button\"\r\n (click)=\"openContactModal(contactModal, true, i)\"\r\n ></a>\r\n <button\r\n type=\"button\"\r\n class=\"hover-icon delete-icon\"\r\n role=\"button\"\r\n (click)=\"openDeleteModal(deletePopup, 2, i)\"\r\n ></button>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns2\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns2\"\r\n [hidden]=\"row.isDeleted == true\"\r\n ></tr>\r\n </table>\r\n </section>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n <button\r\n class=\"btn btn-white-border mr-2 half-mob\"\r\n role=\"button\"\r\n (click)=\"onCancel()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"btn btn-white-border mr-2 half-mob\"\r\n role=\"button\"\r\n (click)=\"goToStep()\"\r\n >\r\n Back\r\n </button>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-colored full-mob\"\r\n role=\"button\"\r\n (click)=\"onSendAndApproval(true)\"\r\n [disabled]=\"locationDisable || contactDisable || loading\">\r\n {{ editMode ? \"Finish\" : \"Send For Approval\" }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #locationModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Add New Location</h4>\r\n <button\r\n type=\"button\"\r\n class=\"close pull-right p-0 m-0\"\r\n aria-label=\"Close\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <form (ngSubmit)=\"onLocationSave()\" [formGroup]=\"locationForm\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mat-field-width3\">\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Location Name *</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Add Location Name\"\r\n formControlName=\"name\"\r\n [maxlength]=\"fieldMaxLengthMid\"\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"locationForm.controls.name\"\r\n [maxlength]=\"fieldMaxLengthMid\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.name\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 mat-field-width3\">\r\n <div class=\"form-group input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Lot #</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Add Lot Numbers\"\r\n formControlName=\"lotNumbers\"\r\n [maxlength]=\"fieldMaxLength\"\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"locationForm.controls.lotNumbers\"\r\n [maxlength]=\"fieldMaxLength\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.lotNumbers\"\r\n ></control-messages>\r\n\r\n <span\r\n class=\"custom-tooltip\"\r\n #tooltip=\"matTooltip\"\r\n matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n matTooltip=\"Specify lot numbers for items at this location\"\r\n [matTooltipPosition]=\"'above'\"\r\n >\r\n <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mat-field-width3\">\r\n <div class=\"form-group\">\r\n <div class=\"min-100\">\r\n <p class=\"small-label2 mb-2\">Address *</p>\r\n <editor\r\n [initialValue]=\"addressData\"\r\n (editorData)=\"\r\n editorContent($event, locationForm.controls.address)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthMediumMost\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.address\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 mat-field-width3\">\r\n <div class=\"form-group d-md-block\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Sales Tax Rate(%) </mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add Rate\"\r\n formControlName=\"salesTaxRate\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.salesTaxRate\"\r\n ></control-messages>\r\n </div>\r\n <div class=\"form-group d-md-block\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Location URL</mat-label>\r\n <input\r\n matInput\r\n placeholder=\"Add Location's Google Map Url\"\r\n formControlName=\"locationLink\"\r\n />\r\n </mat-form-field>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.locationLink\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p class=\"small-label2 mb-2\">Removal Dates & Rules *</p>\r\n <div class=\"mb-3 pb-1 min-250\">\r\n <editor\r\n [initialValue]=\"removalData\"\r\n (editorData)=\"\r\n editorContent($event, locationForm.controls.removalDateAndRules)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthMedium\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.removalDateAndRules\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <p class=\"small-label2 mb-2\">Sales Tax Details *</p>\r\n <div class=\"mb-3 pb-1 min-250\">\r\n <editor\r\n [initialValue]=\"saletaxData\"\r\n (editorData)=\"\r\n editorContent($event, locationForm.controls.salesTaxDetail)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthMuchLonger\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.salesTaxDetail\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <p class=\"small-label2 mb-2\">Inspection Preview *</p>\r\n <div class=\"mb-3 pb-1 min-250\">\r\n <editor\r\n [initialValue]=\"inspectionData\"\r\n (editorData)=\"\r\n editorContent($event, locationForm.controls.inspectionPreview)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthLong\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.inspectionPreview\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <p class=\"small-label2 mb-2\">Rigging/Shipping *</p>\r\n <div class=\"mb-0 pb-0 min-250\">\r\n <editor\r\n [initialValue]=\"riggingData\"\r\n (editorData)=\"\r\n editorContent($event, locationForm.controls.riggingAndShipping)\r\n \"\r\n [characterLimit]=\"fieldMaxLengthLongest\"\r\n ></editor>\r\n <control-messages\r\n [isFormSubmitted]=\"locationSubmitted\"\r\n [control]=\"locationForm.controls.riggingAndShipping\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p class=\"error-msg\" *ngIf=\"locationForm.invalid\">\r\n Please fill all required field(s)\r\n </p>\r\n\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <p class=\"text-secondary\">\r\n Kindly click on \"Update Auction\" button to make permanent changes\r\n </p>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-white-border mr-2 font-15\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored font-15\">\r\n {{showButtonText}} Location\r\n \r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contactModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Add New Contact</h4>\r\n <button\r\n type=\"button\"\r\n class=\"close pull-right p-0 m-0\"\r\n aria-label=\"Close\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <form (ngSubmit)=\"onContactSave()\" [formGroup]=\"contactForm\">\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Contact Name</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter contact name\"\r\n formControlName=\"contactName\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"contactForm.controls.contactName\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"contactSubmitted\"\r\n [control]=\"contactForm.controls.contactName\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width min-100\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Designation</mat-label>\r\n <textarea\r\n matInput\r\n placeholder=\"Enter Designation\"\r\n formControlName=\"description\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n ></textarea>\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"contactForm.controls.description\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"contactSubmitted\"\r\n [control]=\"contactForm.controls.description\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Email</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter email\"\r\n formControlName=\"email\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"contactForm.controls.email\"\r\n [maxlength]=\"fieldMaxLengthShort\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"contactSubmitted\"\r\n [control]=\"contactForm.controls.email\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div class=\"mat-field-width\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Phone Number</mat-label>\r\n <input\r\n matInput\r\n type=\"text\"\r\n placeholder=\"Enter Phone Number\"\r\n formControlName=\"mobileNumber\"\r\n />\r\n </mat-form-field>\r\n <char-counter\r\n [control]=\"contactForm.controls.mobileNumber\"\r\n [maxlength]=\"mobileNumberLength\"\r\n >\r\n </char-counter>\r\n <control-messages\r\n [isFormSubmitted]=\"contactSubmitted\"\r\n [control]=\"contactForm.controls.mobileNumber\"\r\n ></control-messages>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"contactForm.invalid && contactSubmitted\" class=\"error-msg\">\r\n Please fill all required field(s)\r\n </p>\r\n\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-white-border mr-2\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored\">{{showButtonText}} Contact</button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #deletePopup>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button\r\n type=\"button\"\r\n class=\"close pull-right p-0 m-0\"\r\n aria-label=\"Close\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"delete-data\">\r\n <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n <h1 class=\"modal-inner-hdg mt-3\">\r\n Delete {{ modalType == 1 ? \"Location\" : \"Contact\" }}\r\n </h1>\r\n <p class=\"des\">\r\n Are you sure you want to delete\r\n <span class=\"for-highlight\">{{\r\n modalType == 1 ? \"Location\" : \"Contact\"\r\n }}</span>\r\n ?\r\n </p>\r\n <div class=\"delete-btns\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-text mr-2\"\r\n role=\"button\"\r\n (click)=\"closeModal()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"btn btn-colored pad-22\"\r\n role=\"button\"\r\n (click)=\"\r\n modalType == 1\r\n ? onDeleteLocation(currentLocationIndex)\r\n : onDeleteContact(currentContactIndex)\r\n \"\r\n >\r\n Yes, Delete\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.3.1 Built on 2021-03-08T15:44:11.674Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2020 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2020 yWorks GmbH, http://www.yworks.com\n * 2015-2020 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, willow-systems.com\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport{zlibSync as t,unzlibSync as e}from\"fflate\";var r=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function n(){r.console&&\"function\"==typeof r.console.log&&r.console.log.apply(r.console,arguments)}var i={log:n,warn:function(t){r.console&&(\"function\"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):n.call(null,arguments))},error:function(t){r.console&&(\"function\"==typeof r.console.error?r.console.error.apply(r.console,arguments):n(t))}};\n/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */function a(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){i.error(\"could not download file\")},n.send()}function o(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function s(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,c,l=r.saveAs||(\"object\"!=typeof window||window!==r?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,n){var i=r.URL||r.webkitURL,u=document.createElement(\"a\");e=e||t.name||\"download\",u.download=e,u.rel=\"noopener\",\"string\"==typeof t?(u.href=t,u.origin!==location.origin?o(u.href)?a(t,e,n):s(u,u.target=\"_blank\"):s(u)):(u.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(u.href)}),4e4),setTimeout((function(){s(u)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(t,e,r){if(e=e||t.name||\"download\",\"string\"==typeof t)if(o(t))a(t,e,r);else{var n=document.createElement(\"a\");n.href=t,n.target=\"_blank\",setTimeout((function(){s(n)}))}else navigator.msSaveOrOpenBlob(function(t,e){return void 0===e?e={autoBom:!1}:\"object\"!=typeof e&&(i.warn(\"Deprecated: Expected third argument to be a object\"),e={autoBom:!e}),e.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,r),e)}:function(t,e,n,i){if((i=i||open(\"\",\"_blank\"))&&(i.document.title=i.document.body.innerText=\"downloading...\"),\"string\"==typeof t)return a(t,e,n);var o=\"application/octet-stream\"===t.type,s=/constructor/i.test(r.HTMLElement)||r.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||o&&s)&&\"object\"==typeof FileReader){var c=new FileReader;c.onloadend=function(){var t=c.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),i?i.location.href=t:location=t,i=null},c.readAsDataURL(t)}else{var l=r.URL||r.webkitURL,h=l.createObjectURL(t);i?i.location=h:location.href=h,i=null,setTimeout((function(){l.revokeObjectURL(h)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function h(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction f(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=p(r,n,i,a,e[0],7,-680876936),a=p(a,r,n,i,e[1],12,-389564586),i=p(i,a,r,n,e[2],17,606105819),n=p(n,i,a,r,e[3],22,-1044525330),r=p(r,n,i,a,e[4],7,-176418897),a=p(a,r,n,i,e[5],12,1200080426),i=p(i,a,r,n,e[6],17,-1473231341),n=p(n,i,a,r,e[7],22,-45705983),r=p(r,n,i,a,e[8],7,1770035416),a=p(a,r,n,i,e[9],12,-1958414417),i=p(i,a,r,n,e[10],17,-42063),n=p(n,i,a,r,e[11],22,-1990404162),r=p(r,n,i,a,e[12],7,1804603682),a=p(a,r,n,i,e[13],12,-40341101),i=p(i,a,r,n,e[14],17,-1502002290),r=g(r,n=p(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=g(a,r,n,i,e[6],9,-1069501632),i=g(i,a,r,n,e[11],14,643717713),n=g(n,i,a,r,e[0],20,-373897302),r=g(r,n,i,a,e[5],5,-701558691),a=g(a,r,n,i,e[10],9,38016083),i=g(i,a,r,n,e[15],14,-660478335),n=g(n,i,a,r,e[4],20,-405537848),r=g(r,n,i,a,e[9],5,568446438),a=g(a,r,n,i,e[14],9,-1019803690),i=g(i,a,r,n,e[3],14,-187363961),n=g(n,i,a,r,e[8],20,1163531501),r=g(r,n,i,a,e[13],5,-1444681467),a=g(a,r,n,i,e[2],9,-51403784),i=g(i,a,r,n,e[7],14,1735328473),r=m(r,n=g(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=m(a,r,n,i,e[8],11,-2022574463),i=m(i,a,r,n,e[11],16,1839030562),n=m(n,i,a,r,e[14],23,-35309556),r=m(r,n,i,a,e[1],4,-1530992060),a=m(a,r,n,i,e[4],11,1272893353),i=m(i,a,r,n,e[7],16,-155497632),n=m(n,i,a,r,e[10],23,-1094730640),r=m(r,n,i,a,e[13],4,681279174),a=m(a,r,n,i,e[0],11,-358537222),i=m(i,a,r,n,e[3],16,-722521979),n=m(n,i,a,r,e[6],23,76029189),r=m(r,n,i,a,e[9],4,-640364487),a=m(a,r,n,i,e[12],11,-421815835),i=m(i,a,r,n,e[15],16,530742520),r=v(r,n=m(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=v(a,r,n,i,e[7],10,1126891415),i=v(i,a,r,n,e[14],15,-1416354905),n=v(n,i,a,r,e[5],21,-57434055),r=v(r,n,i,a,e[12],6,1700485571),a=v(a,r,n,i,e[3],10,-1894986606),i=v(i,a,r,n,e[10],15,-1051523),n=v(n,i,a,r,e[1],21,-2054922799),r=v(r,n,i,a,e[8],6,1873313359),a=v(a,r,n,i,e[15],10,-30611744),i=v(i,a,r,n,e[6],15,-1560198380),n=v(n,i,a,r,e[13],21,1309151649),r=v(r,n,i,a,e[4],6,-145523070),a=v(a,r,n,i,e[11],10,-1120210379),i=v(i,a,r,n,e[2],15,718787259),n=v(n,i,a,r,e[9],21,-343485551),t[0]=x(r,t[0]),t[1]=x(n,t[1]),t[2]=x(i,t[2]),t[3]=x(a,t[3])}function d(t,e,r,n,i,a){return e=x(x(e,t),x(n,a)),x(e<<i|e>>>32-i,r)}function p(t,e,r,n,i,a,o){return d(e&r|~e&n,t,e,i,a,o)}function g(t,e,r,n,i,a,o){return d(e&n|r&~n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return d(e^r^n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return d(r^(e|~n),t,e,i,a,o)}function b(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)f(n,y(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(f(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,f(n,i),n}function y(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=r.atob.bind(r),c=r.btoa.bind(r);var w=\"0123456789abcdef\".split(\"\");function N(t){for(var e=\"\",r=0;r<4;r++)e+=w[t>>8*r+4&15]+w[t>>8*r&15];return e}function L(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function A(t){return b(t).map(L).join(\"\")}function x(t,e){return t+e&4294967295}if(\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=N(t[e]);return t.join(\"\")}(b(\"hello\"))){function x(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function S(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],u=0;u<256;u++)s[u]=u;var c=0;for(u=0;u<256;u++){var l=s[u];c=(c+l+o.charCodeAt(u))%256,s[u]=s[c],s[c]=l}r=t,n=s}else s=n;var h=e.length,f=0,d=0,p=\"\";for(u=0;u<h;u++)d=(d+(l=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=l,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(u)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var _={print:4,modify:8,copy:16,\"annot-forms\":32};function P(t,e,r,n){this.v=1,this.r=2;let i=192;t.forEach((function(t){if(void 0!==_.perm)throw new Error(\"Invalid permission: \"+t);i+=_[t]})),this.padding=\"(¿N^NuŠAd\\0NVÿú\u0001\\b..\\0¶Ãh>€/\\f©þdSiz\";let a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=S(this.encryptionKey,this.padding)}function k(t){if(\"object\"!=typeof t)throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var e={};this.subscribe=function(t,r,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof r||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");e.hasOwnProperty(t)||(e[t]={});var i=Math.random().toString(35);return e[t][i]=[r,!!n],i},this.unsubscribe=function(t){for(var r in e)if(e[r][t])return delete e[r][t],0===Object.keys(e[r]).length&&delete e[r],!0;return!1},this.publish=function(n){if(e.hasOwnProperty(n)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in e[n]){var u=e[n][s];try{u[0].apply(t,a)}catch(t){r.console&&i.error(\"jsPDF PubSub Error\",t.message,t)}u[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function I(t){if(!(this instanceof I))return new I(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function F(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function C(t,e,r,n,i){if(!(this instanceof C))return new C(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,F.call(this,n,i)}function j(t,e,r,n,i){if(!(this instanceof j))return new j(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,F.call(this,n,i)}function O(t){var e,n=\"string\"==typeof arguments[0]?arguments[0]:\"p\",a=arguments[1],o=arguments[2],s=arguments[3],u=[],f=1,d=16,p=\"S\",g=null;\"object\"==typeof(t=t||{})&&(n=t.orientation,a=t.unit||a,o=t.format||o,s=t.compress||t.compressPdf||s,null!==(g=t.encryption||null)&&(g.userPassword=g.userPassword||\"\",g.ownerPassword=g.ownerPassword||\"\",g.userPermissions=g.userPermissions||[]),f=\"number\"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(e=t.precision),void 0!==t.floatPrecision&&(d=t.floatPrecision),p=t.defaultPathOperation||\"S\"),u=t.filters||(!0===s?[\"FlateEncode\"]:u),a=a||\"mm\",n=(\"\"+(n||\"P\")).toLowerCase();var m=t.putOnlyUsedFonts||!1,v={},b={internal:{},__private__:{}};b.__private__.PubSub=k;var y=\"1.3\",w=b.__private__.getPdfVersion=function(){return y};b.__private__.setPdfVersion=function(t){y=t};var N={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};b.__private__.getPageFormats=function(){return N};var L=b.__private__.getPageFormat=function(t){return N[t]};o=o||\"a4\";var A={COMPAT:\"compat\",ADVANCED:\"advanced\"},x=A.COMPAT;function S(){this.saveGraphicsState(),ct(new Ht(xt,0,0,-xt,0,Er()*xt).toString()+\" cm\"),this.setFontSize(this.getFontSize()/xt),p=\"n\",x=A.ADVANCED}function _(){this.restoreGraphicsState(),p=\"S\",x=A.COMPAT}var F=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&t!==e&&(t=400==e?\"italic\"==t?\"italic\":\"normal\":700==e&&\"italic\"!==t?\"bold\":t+\"\"+e),t};b.advancedAPI=function(t){var e=x===A.COMPAT;return e&&S.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},b.compatAPI=function(t){var e=x===A.ADVANCED;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&S.call(this)),this},b.isAdvancedAPI=function(){return x===A.ADVANCED};var B,M=function(t){if(x!==A.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},E=b.roundToPrecision=b.__private__.roundToPrecision=function(t,r){var n=e||r;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};B=b.hpf=b.__private__.hpf=\"number\"==typeof d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,d)}:\"smart\"===d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,16)};var q=b.f2=b.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return E(t,2)},R=b.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return E(t,3)},T=b.scale=b.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return x===A.COMPAT?t*xt:x===A.ADVANCED?t:void 0},D=function(t){return x===A.COMPAT?Er()-t:x===A.ADVANCED?t:void 0},U=function(t){return T(D(t))};b.__private__.setPrecision=b.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(e=parseInt(t,10))};var z,H=\"00000000000000000000000000000000\",V=b.__private__.getFileId=function(){return H},W=b.__private__.setFileId=function(t){return H=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():H.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==g&&(We=new P(g.userPermissions,g.userPassword,g.ownerPassword,H)),H};b.setFileId=function(t){return W(t),this},b.getFileId=function(){return V()};var G=b.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Z(n),\"'\",Z(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Z(t.getMonth()+1),Z(t.getDate()),Z(t.getHours()),Z(t.getMinutes()),Z(t.getSeconds()),a].join(\"\")},Y=b.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},J=b.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=G(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return z=e},X=b.__private__.getCreationDate=function(t){var e=z;return\"jsDate\"===t&&(e=Y(z)),e};b.setCreationDate=function(t){return J(t),this},b.getCreationDate=function(t){return X(t)};var K,Z=b.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},$=b.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},Q=0,tt=[],et=[],rt=0,nt=[],it=[],at=!1,ot=et,st=function(){Q=0,rt=0,et=[],tt=[],nt=[],Zt=Jt(),$t=Jt()};b.__private__.setCustomOutputDestination=function(t){at=!0,ot=t};var ut=function(t){at||(ot=t)};b.__private__.resetCustomOutputDestination=function(){at=!1,ot=et};var ct=b.__private__.out=function(t){return t=t.toString(),rt+=t.length+1,ot.push(t),ot},lt=b.__private__.write=function(t){return ct(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},ht=b.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},ft=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];b.__private__.getStandardFonts=function(){return ft};var dt=t.fontSize||16;b.__private__.setFontSize=b.setFontSize=function(t){return dt=x===A.ADVANCED?t/xt:t,this};var pt,gt=b.__private__.getFontSize=b.getFontSize=function(){return x===A.COMPAT?dt:dt*xt},mt=t.R2L||!1;b.__private__.setR2L=b.setR2L=function(t){return mt=t,this},b.__private__.getR2L=b.getR2L=function(){return mt};var vt,bt=b.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^\\d*\\.?\\d*%$/.test(t))pt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');pt=t}else pt=parseInt(t,10)};b.__private__.getZoomMode=function(){return pt};var yt,wt=b.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');vt=t};b.__private__.getPageMode=function(){return vt};var Nt=b.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');yt=t};b.__private__.getLayoutMode=function(){return yt},b.__private__.setDisplayMode=b.setDisplayMode=function(t,e,r){return bt(t),Nt(e),wt(r),this};var Lt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};b.__private__.getDocumentProperty=function(t){if(-1===Object.keys(Lt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return Lt[t]},b.__private__.getDocumentProperties=function(){return Lt},b.__private__.setDocumentProperties=b.setProperties=b.setDocumentProperties=function(t){for(var e in Lt)Lt.hasOwnProperty(e)&&t[e]&&(Lt[e]=t[e]);return this},b.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(Lt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return Lt[t]=e};var At,xt,St,_t,Pt,kt={},It={},Ft=[],Ct={},jt={},Ot={},Bt={},Mt=null,Et=0,qt=[],Rt=new k(b),Tt=t.hotfixes||[],Dt={},Ut={},zt=[],Ht=function(t,e,r,n,i,a){if(!(this instanceof Ht))return new Ht(t,e,r,n,i,a);isNaN(t)&&(t=1),isNaN(e)&&(e=0),isNaN(r)&&(r=0),isNaN(n)&&(n=1),isNaN(i)&&(i=0),isNaN(a)&&(a=0),this._matrix=[t,e,r,n,i,a]};Object.defineProperty(Ht.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ht.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ht.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ht.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ht.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ht.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ht.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ht.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ht.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ht.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ht.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ht.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ht.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Ht.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Ht.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Ht.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Ht.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(B).join(t)},Ht.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Ht(e,r,n,i,a,o)},Ht.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var u=Math.sqrt(r*r+n*n);return s/=u,t*(n/=u)<e*(r/=u)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Ht(o,0,0,u,0,0),translate:new Ht(1,0,0,1,i,a),rotate:new Ht(t,e,-e,t,0,0),skew:new Ht(1,0,s,1,0,0)}},Ht.prototype.toString=function(t){return this.join(\" \")},Ht.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,u=-e*o,c=-r*o,l=t*o;return new Ht(s,u,c,l,-s*i-c*a,-u*i-l*a)},Ht.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new kr(e,r)},Ht.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new kr(t.x+t.w,t.y+t.h));return new Ir(e.x,e.y,r.x-e.x,r.y-e.y)},Ht.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Ht(t,e,r,n,i,a)},b.Matrix=Ht;var Vt=b.matrixMult=function(t,e){return e.multiply(t)},Wt=new Ht(1,0,0,1,0,0);b.unitMatrix=b.identityMatrix=Wt;var Gt=function(t,e){if(!jt[t]){var r=(e instanceof C?\"Sh\":\"P\")+(Object.keys(Ct).length+1).toString(10);e.id=r,jt[t]=r,Ct[r]=e,Rt.publish(\"addPattern\",e)}};b.ShadingPattern=C,b.TilingPattern=j,b.addShadingPattern=function(t,e){return M(\"addShadingPattern()\"),Gt(t,e),this},b.beginTilingPattern=function(t){M(\"beginTilingPattern()\"),Cr(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},b.endTilingPattern=function(t,e){M(\"endTilingPattern()\"),e.stream=it[K].join(\"\\n\"),Gt(t,e),Rt.publish(\"endTilingPattern\",e),zt.pop().restore()};var Yt=b.__private__.newObject=function(){var t=Jt();return Xt(t,!0),t},Jt=b.__private__.newObjectDeferred=function(){return Q++,tt[Q]=function(){return rt},Q},Xt=function(t,e){return e=\"boolean\"==typeof e&&e,tt[t]=rt,e&&ct(t+\" 0 obj\"),t},Kt=b.__private__.newAdditionalObject=function(){var t={objId:Jt(),content:\"\"};return nt.push(t),t},Zt=Jt(),$t=Jt(),Qt=b.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},te=b.__private__.encodeColorString=function(t){var e;\"string\"==typeof t&&(t={ch1:t});var r=t.ch1,n=t.ch2,i=t.ch3,a=t.ch4,o=\"draw\"===t.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof r&&\"#\"!==r.charAt(0)){var s=new h(r);if(s.ok)r=s.toHex();else if(!/^\\d*\\.?\\d*$/.test(r))throw new Error('Invalid color \"'+r+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof r&&/^#[0-9A-Fa-f]{3}$/.test(r)&&(r=\"#\"+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]),\"string\"==typeof r&&/^#[0-9A-Fa-f]{6}$/.test(r)){var u=parseInt(r.substr(1),16);r=u>>16&255,n=u>>8&255,i=255&u}if(void 0===n||void 0===a&&r===n&&n===i)if(\"string\"==typeof r)e=r+\" \"+o[0];else switch(t.precision){case 2:e=q(r/255)+\" \"+o[0];break;case 3:default:e=R(r/255)+\" \"+o[0]}else if(void 0===a||\"object\"==typeof a){if(a&&!isNaN(a.a)&&0===a.a)return e=[\"1.\",\"1.\",\"1.\",o[1]].join(\" \");if(\"string\"==typeof r)e=[r,n,i,o[1]].join(\" \");else switch(t.precision){case 2:e=[q(r/255),q(n/255),q(i/255),o[1]].join(\" \");break;default:case 3:e=[R(r/255),R(n/255),R(i/255),o[1]].join(\" \")}}else if(\"string\"==typeof r)e=[r,n,i,a,o[2]].join(\" \");else switch(t.precision){case 2:e=[q(r),q(n),q(i),q(a),o[2]].join(\" \");break;case 3:default:e=[R(r),R(n),R(i),R(a),o[2]].join(\" \")}return e},ee=b.__private__.getFilters=function(){return u},re=b.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ee(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==g&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==g&&(s=We.encryptor(o,0));var u={};!0===r&&(r=[\"FlateEncode\"]);var c=t.additionalKeyValues||[],l=(u=void 0!==O.API.processDataByFilters?O.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==u.data.length&&(c.push({key:\"Length\",value:u.data.length}),!0===i&&c.push({key:\"Length1\",value:a})),0!=l.length)if(l.split(\"/\").length-1==1)c.push({key:\"Filter\",value:l});else{c.push({key:\"Filter\",value:\"[\"+l+\"]\"});for(var h=0;h<c.length;h+=1)if(\"DecodeParms\"===c[h].key){for(var f=[],d=0;d<u.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(c[h].value),c[h].value=\"[\"+f.join(\" \")+\"]\"}}ct(\"<<\");for(var p=0;p<c.length;p++)ct(\"/\"+c[p].key+\" \"+c[p].value);ct(\">>\"),0!==u.data.length&&(ct(\"stream\"),ct(s(u.data)),ct(\"endstream\"))},ne=b.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Xt(n,!0),ct(\"<</Type /Page\"),ct(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),ct(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),ct(\"/MediaBox [\"+parseFloat(B(t.mediaBox.bottomLeftX))+\" \"+parseFloat(B(t.mediaBox.bottomLeftY))+\" \"+B(t.mediaBox.topRightX)+\" \"+B(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&&ct(\"/CropBox [\"+B(t.cropBox.bottomLeftX)+\" \"+B(t.cropBox.bottomLeftY)+\" \"+B(t.cropBox.topRightX)+\" \"+B(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&&ct(\"/BleedBox [\"+B(t.bleedBox.bottomLeftX)+\" \"+B(t.bleedBox.bottomLeftY)+\" \"+B(t.bleedBox.topRightX)+\" \"+B(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&&ct(\"/TrimBox [\"+B(t.trimBox.bottomLeftX)+\" \"+B(t.trimBox.bottomLeftY)+\" \"+B(t.trimBox.topRightX)+\" \"+B(t.trimBox.topRightY)+\"]\"),null!==t.artBox&&ct(\"/ArtBox [\"+B(t.artBox.bottomLeftX)+\" \"+B(t.artBox.bottomLeftY)+\" \"+B(t.artBox.topRightX)+\" \"+B(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&&ct(\"/UserUnit \"+t.userUnit),Rt.publish(\"putPage\",{objId:n,pageContext:qt[e],pageNumber:e,page:r}),ct(\"/Contents \"+i+\" 0 R\"),ct(\">>\"),ct(\"endobj\");var a=r.join(\"\\n\");return x===A.ADVANCED&&(a+=\"\\nQ\"),Xt(i,!0),re({data:a,filters:ee(),objectId:i}),ct(\"endobj\"),n},ie=b.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Et;t++)qt[t].objId=Jt(),qt[t].contentsObjId=Jt();for(t=1;t<=Et;t++)r.push(ne({number:t,data:it[t],objId:qt[t].objId,contentsObjId:qt[t].contentsObjId,mediaBox:qt[t].mediaBox,cropBox:qt[t].cropBox,bleedBox:qt[t].bleedBox,trimBox:qt[t].trimBox,artBox:qt[t].artBox,userUnit:qt[t].userUnit,rootDictionaryObjId:Zt,resourceDictionaryObjId:$t}));Xt(Zt,!0),ct(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Et;e++)n+=r[e]+\" 0 R \";ct(n+\"]\"),ct(\"/Count \"+Et),ct(\">>\"),ct(\"endobj\"),Rt.publish(\"postPutPages\")},ae=function(t){var e=function(t,e){return-1!==t.indexOf(\" \")?\"(\"+Ie(t,e)+\")\":Ie(t,e)};Rt.publish(\"putFont\",{font:t,out:ct,newObject:Yt,putStream:re,pdfEscapeWithNeededParanthesis:e}),!0!==t.isAlreadyPutted&&(t.objectNumber=Yt(),ct(\"<<\"),ct(\"/Type /Font\"),ct(\"/BaseFont /\"+e(t.postScriptName)),ct(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&&ct(\"/Encoding /\"+t.encoding),ct(\"/FirstChar 32\"),ct(\"/LastChar 255\"),ct(\">>\"),ct(\"endobj\"))},oe=function(){for(var t in kt)kt.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&ae(kt[t])},se=function(t){t.objectNumber=Yt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[B(t.x),B(t.y),B(t.x+t.width),B(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");re({data:r,additionalKeyValues:e,objectId:t.objectNumber}),ct(\"endobj\")},ue=function(){for(var t in Dt)Dt.hasOwnProperty(t)&&se(Dt[t])},ce=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",u=0,c=0;c<n.length;c++){for(r=n[c];r>t[u+1].offset;)u++;var l=t[u].offset,h=(r-l)/(t[u+1].offset-l),f=t[u].color,d=t[u+1].color;s+=$(Math.round((1-h)*f[0]+h*d[0]).toString(16))+$(Math.round((1-h)*f[1]+h*d[1]).toString(16))+$(Math.round((1-h)*f[2]+h*d[2]).toString(16))}return s.trim()},le=function(t,e){e||(e=21);var r=Yt(),n=ce(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),re({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),ct(\"endobj\"),t.objectNumber=Yt(),ct(\"<< /ShadingType \"+t.type),ct(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+B(parseFloat(t.coords[0]))+\" \"+B(parseFloat(t.coords[1]))+\" \";2===t.type?a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3])):a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3]))+\" \"+B(parseFloat(t.coords[4]))+\" \"+B(parseFloat(t.coords[5])),ct(a+=\"]\"),t.matrix&&ct(\"/Matrix [\"+t.matrix.toString()+\"]\"),ct(\"/Function \"+r+\" 0 R\"),ct(\"/Extend [true true]\"),ct(\">>\"),ct(\"endobj\")},he=function(t,e){var r=Jt(),n=Yt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(B).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:B(t.xStep)}),i.push({key:\"YStep\",value:B(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),re({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),ct(\"endobj\")},fe=function(t){var e;for(e in Ct)Ct.hasOwnProperty(e)&&(Ct[e]instanceof C?le(Ct[e]):Ct[e]instanceof j&&he(Ct[e],t))},de=function(t){for(var e in t.objectNumber=Yt(),ct(\"<<\"),t)switch(e){case\"opacity\":ct(\"/ca \"+q(t[e]));break;case\"stroke-opacity\":ct(\"/CA \"+q(t[e]))}ct(\">>\"),ct(\"endobj\")},pe=function(){var t;for(t in Ot)Ot.hasOwnProperty(t)&&de(Ot[t])},ge=function(){for(var t in ct(\"/XObject <<\"),Dt)Dt.hasOwnProperty(t)&&Dt[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Dt[t].objectNumber+\" 0 R\");Rt.publish(\"putXobjectDict\"),ct(\">>\")},me=function(){We.oid=Yt(),ct(\"<<\"),ct(\"/Filter /Standard\"),ct(\"/V \"+We.v),ct(\"/R \"+We.r),ct(\"/U <\"+We.toHexString(We.U)+\">\"),ct(\"/O <\"+We.toHexString(We.O)+\">\"),ct(\"/P \"+We.P),ct(\">>\"),ct(\"endobj\")},ve=function(){for(var t in ct(\"/Font <<\"),kt)kt.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&ct(\"/\"+t+\" \"+kt[t].objectNumber+\" 0 R\");ct(\">>\")},be=function(){if(Object.keys(Ct).length>0){for(var t in ct(\"/Shading <<\"),Ct)Ct.hasOwnProperty(t)&&Ct[t]instanceof C&&Ct[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Ct[t].objectNumber+\" 0 R\");Rt.publish(\"putShadingPatternDict\"),ct(\">>\")}},ye=function(t){if(Object.keys(Ct).length>0){for(var e in ct(\"/Pattern <<\"),Ct)Ct.hasOwnProperty(e)&&Ct[e]instanceof b.TilingPattern&&Ct[e].objectNumber>=0&&Ct[e].objectNumber<t&&ct(\"/\"+e+\" \"+Ct[e].objectNumber+\" 0 R\");Rt.publish(\"putTilingPatternDict\"),ct(\">>\")}},we=function(){if(Object.keys(Ot).length>0){var t;for(t in ct(\"/ExtGState <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Rt.publish(\"putGStateDict\"),ct(\">>\")}},Ne=function(t){Xt(t.resourcesOid,!0),ct(\"<<\"),ct(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ve(),be(),ye(t.objectOid),we(),ge(),ct(\">>\"),ct(\"endobj\")},Le=function(){var t=[];oe(),pe(),ue(),fe(t),Rt.publish(\"putResources\"),t.forEach(Ne),Ne({resourcesOid:$t,objectOid:Number.MAX_SAFE_INTEGER}),Rt.publish(\"postPutResources\")},Ae=function(){Rt.publish(\"putAdditionalObjects\");for(var t=0;t<nt.length;t++){var e=nt[t];Xt(e.objId,!0),ct(e.content),ct(\"endobj\")}Rt.publish(\"postPutAdditionalObjects\")},xe=function(t){It[t.fontName]=It[t.fontName]||{},It[t.fontName][t.fontStyle]=t.id},Se=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(kt).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Rt.publish(\"addFont\",{font:a,instance:this}),kt[a.id]=a,xe(a),a.id},_e=function(t){for(var e=0,r=ft.length;e<r;e++){var n=Se.call(this,t[e][0],t[e][1],t[e][2],ft[e][3],!0);!1===m&&(v[n]=!0);var i=t[e][0].split(\"-\");xe({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Rt.publish(\"addFonts\",{fonts:kt,dictionary:It})},Pe=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var n=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!r.console)throw new Error(n);r.console.error(n,t),r.alert&&alert(n)}},t.foo.bar=t,t.foo},ke=function(t,e){var r,n,i,a,o,s,u,c,l;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&kt[At].metadata&&kt[At].metadata[i]&&kt[At].metadata[i].encoding&&(a=kt[At].metadata[i].encoding,!o&&kt[At].encoding&&(o=kt[At].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(u=!1,s=[],r=0,n=t.length;r<n;r++)(c=o[t.charCodeAt(r)])?s.push(String.fromCharCode(c)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(u=!0);t=s.join(\"\")}for(r=t.length;void 0===u&&0!==r;)t.charCodeAt(r-1)>>8&&(u=!0),r--;if(!u)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((l=(c=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(l),s.push(c-(l<<8))}return String.fromCharCode.apply(void 0,s)},Ie=b.__private__.pdfEscape=b.pdfEscape=function(t,e){return ke(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},Fe=b.__private__.beginPage=function(t){it[++Et]=[],qt[Et]={objId:0,contentsObjId:0,userUnit:Number(f),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Oe(Et),ut(it[K])},Ce=function(t,e){var r,a,s;switch(n=e||n,\"string\"==typeof t&&(r=L(t.toLowerCase()),Array.isArray(r)&&(a=r[0],s=r[1])),Array.isArray(t)&&(a=t[0]*xt,s=t[1]*xt),isNaN(a)&&(a=o[0],s=o[1]),(a>14400||s>14400)&&(i.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),a=Math.min(14400,a),s=Math.min(14400,s)),o=[a,s],n.substr(0,1)){case\"l\":s>a&&(o=[s,a]);break;case\"p\":a>s&&(o=[s,a])}Fe(o),hr(lr),ct(yr),0!==Sr&&ct(Sr+\" J\"),0!==_r&&ct(_r+\" j\"),Rt.publish(\"addPage\",{pageNumber:Et})},je=function(t){t>0&&t<=Et&&(it.splice(t,1),qt.splice(t,1),Et--,K>Et&&(K=Et),this.setPage(K))},Oe=function(t){t>0&&t<=Et&&(K=t)},Be=b.__private__.getNumberOfPages=b.getNumberOfPages=function(){return it.length-1},Me=function(t,e,r){var n,a=void 0;return r=r||{},t=void 0!==t?t:kt[At].fontName,e=void 0!==e?e:kt[At].fontStyle,n=t.toLowerCase(),void 0!==It[n]&&void 0!==It[n][e]?a=It[n][e]:void 0!==It[t]&&void 0!==It[t][e]?a=It[t][e]:!1===r.disableWarning&&i.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),a||r.noFallback||null==(a=It.times[e])&&(a=It.times.normal),a},Ee=b.__private__.putInfo=function(){var t=Yt(),e=function(t){return t};for(var r in null!==g&&(e=We.encryptor(t,0)),ct(\"<<\"),ct(\"/Producer (\"+Ie(e(\"jsPDF \"+O.version))+\")\"),Lt)Lt.hasOwnProperty(r)&&Lt[r]&&ct(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ie(e(Lt[r]))+\")\");ct(\"/CreationDate (\"+Ie(e(z))+\")\"),ct(\">>\"),ct(\"endobj\")},qe=b.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Zt;switch(Yt(),ct(\"<<\"),ct(\"/Type /Catalog\"),ct(\"/Pages \"+e+\" 0 R\"),pt||(pt=\"fullwidth\"),pt){case\"fullwidth\":ct(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":ct(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":ct(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":ct(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+pt;\"%\"===r.substr(r.length-1)&&(pt=parseInt(pt)/100),\"number\"==typeof pt&&ct(\"/OpenAction [3 0 R /XYZ null null \"+q(pt)+\"]\")}switch(yt||(yt=\"continuous\"),yt){case\"continuous\":ct(\"/PageLayout /OneColumn\");break;case\"single\":ct(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":ct(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":ct(\"/PageLayout /TwoColumnRight\")}vt&&ct(\"/PageMode /\"+vt),Rt.publish(\"putCatalog\"),ct(\">>\"),ct(\"endobj\")},Re=b.__private__.putTrailer=function(){ct(\"trailer\"),ct(\"<<\"),ct(\"/Size \"+(Q+1)),ct(\"/Root \"+Q+\" 0 R\"),ct(\"/Info \"+(Q-1)+\" 0 R\"),null!==g&&ct(\"/Encrypt \"+We.oid+\" 0 R\"),ct(\"/ID [ <\"+H+\"> <\"+H+\"> ]\"),ct(\">>\")},Te=b.__private__.putHeader=function(){ct(\"%PDF-\"+y),ct(\"%ºß¬à \")},De=b.__private__.putXRef=function(){var t=\"0000000000\";ct(\"xref\"),ct(\"0 \"+(Q+1)),ct(\"0000000000 65535 f \");for(var e=1;e<=Q;e++){\"function\"==typeof tt[e]?ct((t+tt[e]()).slice(-10)+\" 00000 n \"):void 0!==tt[e]?ct((t+tt[e]).slice(-10)+\" 00000 n \"):ct(\"0000000000 00000 n \")}},Ue=b.__private__.buildDocument=function(){st(),ut(et),Rt.publish(\"buildDocument\"),Te(),ie(),Ae(),Le(),null!==g&&me(),Ee(),qe();var t=rt;return De(),Re(),ct(\"startxref\"),ct(\"\"+t),ct(\"%%EOF\"),ut(it[K]),et.join(\"\\n\")},ze=b.__private__.getBlob=function(t){return new Blob([ht(t)],{type:\"application/pdf\"})},He=b.output=b.__private__.output=Pe((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return Ue();case\"save\":b.save(e.filename);break;case\"arraybuffer\":return ht(Ue());case\"blob\":return ze(Ue());case\"bloburi\":case\"bloburl\":if(void 0!==r.URL&&\"function\"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(ze(Ue()))||void 0;i.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var n=\"\",a=Ue();try{n=c(a)}catch(t){n=c(unescape(encodeURIComponent(a)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+n;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var o='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src=\"'+(e.pdfObjectUrl||\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\")+'\"><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",s=r.open();return null!==s&&s.document.write(o),s}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var u='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',l=r.open();if(null!==l){l.document.write(u);var h=this;l.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){l.document.title=e.filename,l.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(h.output(\"bloburl\"))}}return l}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(r))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var f='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',d=r.open();if(null!==d&&(d.document.write(f),d.document.title=e.filename),d||\"undefined\"==typeof safari)return d;break;case\"datauri\":case\"dataurl\":return r.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ve=function(t){return!0===Array.isArray(Tt)&&Tt.indexOf(t)>-1};switch(a){case\"pt\":xt=1;break;case\"mm\":xt=72/25.4;break;case\"cm\":xt=72/2.54;break;case\"in\":xt=72;break;case\"px\":xt=1==Ve(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":xt=12;break;case\"ex\":xt=6;break;default:throw new Error(\"Invalid unit: \"+a)}var We=null;J(),W();var Ge=function(t){return null!==g?We.encryptor(t,0):function(t){return t}},Ye=b.__private__.getPageInfo=b.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:qt[t].objId,pageNumber:t,pageContext:qt[t]}},Je=b.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in qt)if(qt[e].objId===t)break;return Ye(e)},Xe=b.__private__.getCurrentPageInfo=b.getCurrentPageInfo=function(){return{objId:qt[K].objId,pageNumber:K,pageContext:qt[K]}};b.addPage=function(){return Ce.apply(this,arguments),this},b.setPage=function(){return Oe.apply(this,arguments),ut.call(this,it[K]),this},b.insertPage=function(t){return this.addPage(),this.movePage(K,t),this},b.movePage=function(t,e){var r,n;if(t>e){r=it[t],n=qt[t];for(var i=t;i>e;i--)it[i]=it[i-1],qt[i]=qt[i-1];it[e]=r,qt[e]=n,this.setPage(e)}else if(t<e){r=it[t],n=qt[t];for(var a=t;a<e;a++)it[a]=it[a+1],qt[a]=qt[a+1];it[e]=r,qt[e]=n,this.setPage(e)}return this},b.deletePage=function(){return je.apply(this,arguments),this},b.__private__.text=b.text=function(t,e,r,n,i){var a,o,s,u,c,l,h,f,d=(n=n||{}).scope||this;if(\"number\"==typeof t&&\"number\"==typeof e&&(\"string\"==typeof r||Array.isArray(r))){var p=r;r=e,e=t,t=p}if(arguments[3]instanceof Ht==!1?(s=arguments[4],u=arguments[5],\"object\"==typeof(h=arguments[3])&&null!==h||(\"string\"==typeof s&&(u=s,s=null),\"string\"==typeof h&&(u=h,h=null),\"number\"==typeof h&&(s=h,h=null),n={flags:h,angle:s,align:u})):(M(\"The transform parameter of text() with a Matrix value\"),f=i),isNaN(e)||isNaN(r)||null==t)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===t.length)return d;var g=\"\",m=!1,b=\"number\"==typeof n.lineHeightFactor?n.lineHeightFactor:cr,y=d.internal.scaleFactor;function w(t){return t=t.split(\"\\t\").join(Array(n.TabLen||9).join(\" \")),Ie(t,h)}function N(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function L(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var S=!1,_=!0;if(\"string\"==typeof t)S=!0;else if(Array.isArray(t)){var P=t.concat();o=[];for(var k,I=P.length;I--;)(\"string\"!=typeof(k=P.shift())||Array.isArray(k)&&\"string\"!=typeof k[0])&&(_=!1);S=_}if(!1===S)throw new Error('Type of text must be string or Array. \"'+t+'\" is not recognized.');\"string\"==typeof t&&(t=t.match(/[\\r?\\n]/)?t.split(/\\r\\n|\\r|\\n/g):[t]);var F=dt/d.internal.scaleFactor,C=F*(cr-1);switch(n.baseline){case\"bottom\":r-=C;break;case\"top\":r+=F-C;break;case\"hanging\":r+=F-2*C;break;case\"middle\":r+=F/2-C}if((l=n.maxWidth||0)>0&&(\"string\"==typeof t?t=d.splitTextToSize(t,l):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(d.splitTextToSize(e,l))}),[]))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Ie,activeFontKey:At,fonts:kt,activeFontSize:dt}},Rt.publish(\"preProcessText\",a),t=a.text,s=(n=a.options).angle,f instanceof Ht==!1&&s&&\"number\"==typeof s){s*=Math.PI/180,0===n.rotationDirection&&(s=-s),x===A.ADVANCED&&(s=-s);var j=Math.cos(s),O=Math.sin(s);f=new Ht(j,O,-O,j,0,0)}else s&&s instanceof Ht&&(f=s);x!==A.ADVANCED||f||(f=Wt),void 0!==(c=n.charSpace||Ar)&&(g+=B(T(c))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0));n.lang;var E=-1,q=void 0!==n.renderingMode?n.renderingMode:n.stroke,R=d.internal.getCurrentPageInfo().pageContext;switch(q){case 0:case!1:case\"fill\":E=0;break;case 1:case!0:case\"stroke\":E=1;break;case 2:case\"fillThenStroke\":E=2;break;case 3:case\"invisible\":E=3;break;case 4:case\"fillAndAddForClipping\":E=4;break;case 5:case\"strokeAndAddPathForClipping\":E=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":E=6;break;case 7:case\"addToPathForClipping\":E=7}var D=void 0!==R.usedRenderingMode?R.usedRenderingMode:-1;-1!==E?g+=E+\" Tr\\n\":-1!==D&&(g+=\"0 Tr\\n\"),-1!==E&&(R.usedRenderingMode=E),u=n.align||\"left\";var U,z=dt*b,H=d.internal.pageSize.getWidth(),V=kt[At];c=n.charSpace||Ar,l=n.maxWidth||0,h=Object.assign({autoencode:!0,noBOM:!0},n.flags);var W=[];if(\"[object Array]\"===Object.prototype.toString.call(t)){var G;o=N(t),\"left\"!==u&&(U=o.map((function(t){return d.getStringUnitWidth(t,{font:V,charSpace:c,fontSize:dt,doKerning:!1})*dt/y})));var Y,J=0;if(\"right\"===u){e-=U[0],t=[],I=o.length;for(var X=0;X<I;X++)0===X?(Y=gr(e),G=mr(r)):(Y=T(J-U[X]),G=-z),t.push([o[X],Y,G]),J=U[X]}else if(\"center\"===u){e-=U[0]/2,t=[],I=o.length;for(var K=0;K<I;K++)0===K?(Y=gr(e),G=mr(r)):(Y=T((J-U[K])/2),G=-z),t.push([o[K],Y,G]),J=U[K]}else if(\"left\"===u){t=[],I=o.length;for(var Z=0;Z<I;Z++)t.push(o[Z])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');t=[],I=o.length,l=0!==l?l:H;for(var $=0;$<I;$++)G=0===$?mr(r):-z,Y=0===$?gr(e):0,$<I-1&&W.push(B(T((l-U[$])/(o[$].split(\" \").length-1)))),t.push([o[$],Y,G])}}var Q=\"boolean\"==typeof n.R2L?n.R2L:mt;!0===Q&&(t=L(t,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Ie,activeFontKey:At,fonts:kt,activeFontSize:dt}},Rt.publish(\"postProcessText\",a),t=a.text,m=a.mutex.isHex||!1;var tt=kt[At].encoding;\"WinAnsiEncoding\"!==tt&&\"StandardEncoding\"!==tt||(t=L(t,(function(t,e,r){return[w(t),e,r]}))),o=N(t),t=[];for(var et,rt,nt,it=0,at=1,ot=Array.isArray(o[0])?at:it,st=\"\",ut=function(t,e,r){var i=\"\";return r instanceof Ht?(r=\"number\"==typeof n.angle?Vt(r,new Ht(1,0,0,1,t,e)):Vt(new Ht(1,0,0,1,t,e),r),x===A.ADVANCED&&(r=Vt(new Ht(1,0,0,-1,0,0),r)),i=r.join(\" \")+\" Tm\\n\"):i=B(t)+\" \"+B(e)+\" Td\\n\",i},lt=0;lt<o.length;lt++){switch(st=\"\",ot){case at:nt=(m?\"<\":\"(\")+o[lt][0]+(m?\">\":\")\"),et=parseFloat(o[lt][1]),rt=parseFloat(o[lt][2]);break;case it:nt=(m?\"<\":\"(\")+o[lt]+(m?\">\":\")\"),et=gr(e),rt=mr(r)}void 0!==W&&void 0!==W[lt]&&(st=W[lt]+\" Tw\\n\"),0===lt?t.push(st+ut(et,rt,f)+nt):ot===it?t.push(st+nt):ot===at&&t.push(st+ut(et,rt,f)+nt)}t=ot===it?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var ht=\"BT\\n/\";return ht+=At+\" \"+dt+\" Tf\\n\",ht+=B(dt*b)+\" TL\\n\",ht+=Nr+\"\\n\",ht+=g,ht+=t,ct(ht+=\"ET\"),v[At]=!0,d};var Ke=b.__private__.clip=b.clip=function(t){return ct(\"evenodd\"===t?\"W*\":\"W\"),this};b.clipEvenOdd=function(){return Ke(\"evenodd\")},b.__private__.discardPath=b.discardPath=function(){return ct(\"n\"),this};var Ze=b.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};b.__private__.setDefaultPathOperation=b.setDefaultPathOperation=function(t){return Ze(t)&&(p=t),this};var $e=b.__private__.getStyle=b.getStyle=function(t){var e=p;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},Qe=b.close=function(){return ct(\"h\"),this};b.stroke=function(){return ct(\"S\"),this},b.fill=function(t){return tr(\"f\",t),this},b.fillEvenOdd=function(t){return tr(\"f*\",t),this},b.fillStroke=function(t){return tr(\"B\",t),this},b.fillStrokeEvenOdd=function(t){return tr(\"B*\",t),this};var tr=function(t,e){\"object\"==typeof e?nr(e,t):ct(t)},er=function(t){null===t||x===A.ADVANCED&&void 0===t||(t=$e(t),ct(t))};function rr(t,e,r,n,i){var a=new j(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Gt(o,a),a}var nr=function(t,e){var r=jt[t.key],n=Ct[r];if(n instanceof C)ct(\"q\"),ct(ir(e)),n.gState&&b.setGState(n.gState),ct(t.matrix.toString()+\" cm\"),ct(\"/\"+r+\" sh\"),ct(\"Q\");else if(n instanceof j){var i=new Ht(1,0,0,-1,0,Er());t.matrix&&(i=i.multiply(t.matrix||Wt),r=rr.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),ct(\"q\"),ct(\"/Pattern cs\"),ct(\"/\"+r+\" scn\"),n.gState&&b.setGState(n.gState),ct(e),ct(\"Q\")}},ir=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},ar=b.moveTo=function(t,e){return ct(B(T(t))+\" \"+B(U(e))+\" m\"),this},or=b.lineTo=function(t,e){return ct(B(T(t))+\" \"+B(U(e))+\" l\"),this},sr=b.curveTo=function(t,e,r,n,i,a){return ct([B(T(t)),B(U(e)),B(T(r)),B(U(n)),B(T(i)),B(U(a)),\"c\"].join(\" \")),this};b.__private__.line=b.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return x===A.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},b.__private__.lines=b.lines=function(t,e,r,n,i,a){var o,s,u,c,l,h,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Ze(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(ar(e,r),o=n[0],s=n[1],c=t.length,g=e,m=r,u=0;u<c;u++)2===(l=t[u]).length?(g=l[0]*o+g,m=l[1]*s+m,or(g,m)):(h=l[0]*o+g,f=l[1]*s+m,d=l[2]*o+g,p=l[3]*s+m,g=l[4]*o+g,m=l[5]*s+m,sr(h,f,d,p,g,m));return a&&Qe(),er(i),this},b.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":ar(n[0],n[1]);break;case\"l\":or(n[0],n[1]);break;case\"c\":sr.apply(this,n);break;case\"h\":Qe()}}return this},b.__private__.rect=b.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return x===A.COMPAT&&(n=-n),ct([B(T(t)),B(U(e)),B(T(r)),B(T(n)),\"re\"].join(\" \")),er(i),this},b.__private__.triangle=b.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Ze(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},b.__private__.roundedRect=b.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Ze(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},b.__private__.ellipse=b.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return ar(t+r,e),sr(t+r,e-o,t+a,e-n,t,e-n),sr(t-a,e-n,t-r,e-o,t-r,e),sr(t-r,e+o,t-a,e+n,t,e+n),sr(t+a,e+n,t+r,e+o,t+r,e),er(i),this},b.__private__.circle=b.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Ze(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},b.setFont=function(t,e,r){return r&&(e=F(e,r)),At=Me(t,e,{disableWarning:!1}),this};var ur=b.__private__.getFont=b.getFont=function(){return kt[Me.apply(b,arguments)]};b.__private__.getFontList=b.getFontList=function(){var t,e,r={};for(t in It)if(It.hasOwnProperty(t))for(e in r[t]=[],It[t])It[t].hasOwnProperty(e)&&r[t].push(e);return r},b.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=F(r,n)),i=i||\"Identity-H\",Se.call(this,t,e,r,i)};var cr,lr=t.lineWidth||.200025,hr=b.__private__.setLineWidth=b.setLineWidth=function(t){return ct(B(T(t))+\" w\"),this};b.__private__.setLineDash=O.API.setLineDash=O.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return B(T(t))})).join(\" \"),e=B(T(e)),ct(\"[\"+t+\"] \"+e+\" d\"),this};var fr=b.__private__.getLineHeight=b.getLineHeight=function(){return dt*cr};b.__private__.getLineHeight=b.getLineHeight=function(){return dt*cr};var dr=b.__private__.setLineHeightFactor=b.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(cr=t),this},pr=b.__private__.getLineHeightFactor=b.getLineHeightFactor=function(){return cr};dr(t.lineHeight);var gr=b.__private__.getHorizontalCoordinate=function(t){return T(t)},mr=b.__private__.getVerticalCoordinate=function(t){return x===A.ADVANCED?t:qt[K].mediaBox.topRightY-qt[K].mediaBox.bottomLeftY-T(t)},vr=b.__private__.getHorizontalCoordinateString=b.getHorizontalCoordinateString=function(t){return B(gr(t))},br=b.__private__.getVerticalCoordinateString=b.getVerticalCoordinateString=function(t){return B(mr(t))},yr=t.strokeColor||\"0 G\";b.__private__.getStrokeColor=b.getDrawColor=function(){return Qt(yr)},b.__private__.setStrokeColor=b.setDrawColor=function(t,e,r,n){return yr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),ct(yr),this};var wr=t.fillColor||\"0 g\";b.__private__.getFillColor=b.getFillColor=function(){return Qt(wr)},b.__private__.setFillColor=b.setFillColor=function(t,e,r,n){return wr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),ct(wr),this};var Nr=t.textColor||\"0 g\",Lr=b.__private__.getTextColor=b.getTextColor=function(){return Qt(Nr)};b.__private__.setTextColor=b.setTextColor=function(t,e,r,n){return Nr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var Ar=t.charSpace,xr=b.__private__.getCharSpace=b.getCharSpace=function(){return parseFloat(Ar||0)};b.__private__.setCharSpace=b.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return Ar=t,this};var Sr=0;b.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},b.__private__.setLineCap=b.setLineCap=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Sr=e,ct(e+\" J\"),this};var _r=0;b.__private__.setLineJoin=b.setLineJoin=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return _r=e,ct(e+\" j\"),this},b.__private__.setLineMiterLimit=b.__private__.setMiterLimit=b.setLineMiterLimit=b.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return ct(B(T(t))+\" M\"),this},b.GState=I,b.setGState=function(t){(t=\"string\"==typeof t?Ot[Bt[t]]:Pr(null,t)).equals(Mt)||(ct(\"/\"+t.id+\" gs\"),Mt=t)};var Pr=function(t,e){if(!t||!Bt[t]){var r=!1;for(var n in Ot)if(Ot.hasOwnProperty(n)&&Ot[n].equals(e)){r=!0;break}if(r)e=Ot[n];else{var i=\"GS\"+(Object.keys(Ot).length+1).toString(10);Ot[i]=e,e.id=i}return t&&(Bt[t]=e.id),Rt.publish(\"addGState\",e),e}};b.addGState=function(t,e){return Pr(t,e),this},b.saveGraphicsState=function(){return ct(\"q\"),Ft.push({key:At,size:dt,color:Nr}),this},b.restoreGraphicsState=function(){ct(\"Q\");var t=Ft.pop();return At=t.key,dt=t.size,Nr=t.color,Mt=null,this},b.setCurrentTransformationMatrix=function(t){return ct(t.toString()+\" cm\"),this},b.comment=function(t){return ct(\"#\"+t),this};var kr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},Ir=function(t,e,r,n){kr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Fr=function(){this.page=Et,this.currentPage=K,this.pages=it.slice(0),this.pagesContext=qt.slice(0),this.x=St,this.y=_t,this.matrix=Pt,this.width=Br(K),this.height=Er(K),this.outputDestination=ot,this.id=\"\",this.objectNumber=-1};Fr.prototype.restore=function(){Et=this.page,K=this.currentPage,qt=this.pagesContext,it=this.pages,St=this.x,_t=this.y,Pt=this.matrix,Mr(K,this.width),qr(K,this.height),ot=this.outputDestination};var Cr=function(t,e,r,n,i){zt.push(new Fr),Et=K=0,it=[],St=t,_t=e,Pt=i,Fe([r,n])},jr=function(t){if(!Ut[t]){var e=new Fr,r=\"Xo\"+(Object.keys(Dt).length+1).toString(10);e.id=r,Ut[t]=r,Dt[r]=e,Rt.publish(\"addFormObject\",e),zt.pop().restore()}};for(var Or in b.beginFormObject=function(t,e,r,n,i){return Cr(t,e,r,n,i),this},b.endFormObject=function(t){return jr(t),this},b.doFormObject=function(t,e){var r=Dt[Ut[t]];return ct(\"q\"),ct(e.toString()+\" cm\"),ct(\"/\"+r.id+\" Do\"),ct(\"Q\"),this},b.getFormObject=function(t){var e=Dt[Ut[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},b.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(ze(Ue()),t),\"function\"==typeof l.unload&&r.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,n){try{var i=l(ze(Ue()),t);\"function\"==typeof l.unload&&r.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){n(t.message)}}))},O.API)O.API.hasOwnProperty(Or)&&(\"events\"===Or&&O.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Rt,O.API.events):b[Or]=O.API[Or]);var Br=b.getPageWidth=function(t){return(qt[t=t||K].mediaBox.topRightX-qt[t].mediaBox.bottomLeftX)/xt},Mr=b.setPageWidth=function(t,e){qt[t].mediaBox.topRightX=e*xt+qt[t].mediaBox.bottomLeftX},Er=b.getPageHeight=function(t){return(qt[t=t||K].mediaBox.topRightY-qt[t].mediaBox.bottomLeftY)/xt},qr=b.setPageHeight=function(t,e){qt[t].mediaBox.topRightY=e*xt+qt[t].mediaBox.bottomLeftY};return b.internal={pdfEscape:Ie,getStyle:$e,getFont:ur,getFontSize:gt,getCharSpace:xr,getTextColor:Lr,getLineHeight:fr,getLineHeightFactor:pr,write:lt,getHorizontalCoordinate:gr,getVerticalCoordinate:mr,getCoordinateString:vr,getVerticalCoordinateString:br,collections:{},newObject:Yt,newAdditionalObject:Kt,newObjectDeferred:Jt,newObjectDeferredBegin:Xt,getFilters:ee,putStream:re,events:Rt,scaleFactor:xt,pageSize:{getWidth:function(){return Br(K)},setWidth:function(t){Mr(K,t)},getHeight:function(){return Er(K)},setHeight:function(t){qr(K,t)}},encryptionOptions:g,encryption:We,getEncryptor:Ge,output:He,getNumberOfPages:Be,pages:it,out:ct,f2:q,f3:R,getPageInfo:Ye,getPageInfoByObjId:Je,getCurrentPageInfo:Xe,getPDFVersion:w,Point:kr,Rectangle:Ir,Matrix:Ht,hasHotfix:Ve},Object.defineProperty(b.internal.pageSize,\"width\",{get:function(){return Br(K)},set:function(t){Mr(K,t)},enumerable:!0,configurable:!0}),Object.defineProperty(b.internal.pageSize,\"height\",{get:function(){return Er(K)},set:function(t){qr(K,t)},enumerable:!0,configurable:!0}),_e.call(b,ft),At=\"F1\",Ce(o,n),Rt.publish(\"initialized\"),b}P.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},P.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},P.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},P.prototype.processOwnerPassword=function(t,e){return S(A(e).substr(0,5),t)},P.prototype.encryptor=function(t,e){let r=A(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return S(r,t)}},I.prototype.equals=function(t){var e,r=\"id,objectNumber,equals\";if(!t||typeof t!=typeof this)return!1;var n=0;for(e in this)if(!(r.indexOf(e)>=0)){if(this.hasOwnProperty(e)&&!t.hasOwnProperty(e))return!1;if(this[e]!==t[e])return!1;n++}for(e in t)t.hasOwnProperty(e)&&r.indexOf(e)<0&&n--;return 0===n},O.API={events:[]},O.version=\"2.3.1\";var B=O.API,M=1,E=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},q=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},R=function(t){return t.toFixed(2)},T=function(t){return t.toFixed(5)};B.__acroform__={};var D=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},U=function(t){return t*M},z=function(t){var e=new ot,r=wt.internal.getHeight(t)||0,n=wt.internal.getWidth(t)||0;return e.BBox=[0,0,Number(R(n)),Number(R(r))],e},H=B.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},V=B.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},W=B.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},G=B.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return W(t,e-1)},Y=B.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return H(t,e-1)},J=B.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return V(t,e-1)},X=B.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],u={};return u.lowerLeft_X=r(i)||0,u.lowerLeft_Y=n(a+s)||0,u.upperRight_X=r(i+o)||0,u.upperRight_Y=n(a)||0,[Number(R(u.lowerLeft_X)),Number(R(u.lowerLeft_Y)),Number(R(u.upperRight_X)),Number(R(u.upperRight_Y))]},K=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=Z(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+R(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=z(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},Z=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \"),a=r,o=wt.internal.getHeight(t)||0;o=o<0?-o:o;var s=wt.internal.getWidth(t)||0;s=s<0?-s:s;var u=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1];return $(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var c,l,h=$(\"3\",t,a).height,f=t.multiline?o-a:(o-h)/2,d=f+=2,p=0,g=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+$(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}var m=\"\",v=0;for(var b in i)if(i.hasOwnProperty(b)){m=\" \"==(m+=i[b]+\" \").substr(m.length-1)?m.substr(0,m.length-1):m;var y=parseInt(b),w=u(y,m,a),N=b>=i.length-1;if(w&&!N){m+=\" \";continue}if(w||N){if(N)g=y;else if(t.multiline&&(h+2)*(v+2)+2>o)continue t}else{if(!t.multiline)continue t;if((h+2)*(v+2)+2>o)continue t;g=y}for(var L=\"\",A=p;A<=g;A++)L+=i[A]+\" \";switch(L=\" \"==L.substr(L.length-1)?L.substr(0,L.length-1):L,l=$(L,t,a).width,t.textAlign){case\"right\":c=s-l-2;break;case\"center\":c=(s-l)/2;break;case\"left\":default:c=2}e+=R(c)+\" \"+R(d)+\" Td\\n\",e+=\"(\"+E(L)+\") Tj\\n\",e+=-R(c)+\" 0 Td\\n\",d=-(a+2),l=0,p=g+1,v++,m=\"\"}else;break}return n.text=e,n.fontSize=a,n},$=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},tt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},et=function(t,e){for(var r in t)if(t.hasOwnProperty(r)){var n=r,i=t[r];e.internal.newObjectDeferredBegin(i.objId,!0),\"object\"==typeof i&&\"function\"==typeof i.putStream&&i.putStream(),delete t[n]}},rt=function(t,e){if(e.scope=t,void 0!==t.internal&&(void 0===t.internal.acroformPlugin||!1===t.internal.acroformPlugin.isInitialized)){if(ut.FieldNum=0,t.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");M=t.internal.scaleFactor,t.internal.acroformPlugin.acroFormDictionaryRoot=new st,t.internal.acroformPlugin.acroFormDictionaryRoot.scope=t,t.internal.acroformPlugin.acroFormDictionaryRoot._eventID=t.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(t)})),t.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&tt(n,t)}}(t)})),t.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(t)})),t.internal.events.subscribe(\"postPutPages\",(function(e){!function(t,e){var r=!t;for(var n in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(n)){var i=t[n],a=[],o=i.Rect;if(i.Rect&&(i.Rect=X(i.Rect,e)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=wt.createDefaultAppearanceStream(i),\"object\"==typeof i&&\"function\"==typeof i.getKeyValueListForStream&&(a=i.getKeyValueListForStream()),i.Rect=o,i.hasAppearanceStream&&!i.appearanceStreamContent){var s=K(i);a.push({key:\"AP\",value:\"<</N \"+s+\">>\"}),e.internal.acroformPlugin.xForms.push(s)}if(i.appearanceStreamContent){var u=\"\";for(var c in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(c)){var l=i.appearanceStreamContent[c];if(u+=\"/\"+c+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var n in l)if(l.hasOwnProperty(n)){var h=l[n];\"function\"==typeof h&&(h=h.call(e,i)),u+=\"/\"+n+\" \"+h+\" \",e.internal.acroformPlugin.xForms.indexOf(h)>=0||e.internal.acroformPlugin.xForms.push(h)}}else\"function\"==typeof(h=l)&&(h=h.call(e,i)),u+=\"/\"+n+\" \"+h,e.internal.acroformPlugin.xForms.indexOf(h)>=0||e.internal.acroformPlugin.xForms.push(h);u+=\">>\"}a.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}e.internal.putStream({additionalKeyValues:a,objectId:i.objId}),e.internal.out(\"endobj\")}r&&et(e.internal.acroformPlugin.xForms,e)}(e,t)})),t.internal.acroformPlugin.isInitialized=!0}},nt=B.__acroform__.arrayToPdfArray=function(t,e,r){var n=function(t){return t};if(Array.isArray(t)){for(var i=\"[\",a=0;a<t.length;a++)switch(0!==a&&(i+=\" \"),typeof t[a]){case\"boolean\":case\"number\":case\"object\":i+=t[a].toString();break;case\"string\":\"/\"!==t[a].substr(0,1)?(void 0!==e&&r&&(n=r.internal.getEncryptor(e)),i+=\"(\"+E(n(t[a].toString()))+\")\"):i+=t[a].toString()}return i+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var it=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+E(n(t))+\")\"},at=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};at.prototype.toString=function(){return this.objId+\" 0 R\"},at.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},at.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:nt(i,this.objId,this.scope)}):i instanceof at?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ot=function(){at.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};D(ot,at);var st=function(){at.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+E(e(t))+\")\"}},set:function(e){t=e}})};D(st,at);var ut=function(){at.call(this);var t=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){if(isNaN(e))throw new Error('Invalid value \"'+e+'\" for attribute F supplied.');t=e}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(t,3))},set:function(e){!0===Boolean(e)?this.F=Y(t,3):this.F=J(t,3)}});var e=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');e=t}});var r=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==r.length)return r},set:function(t){r=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[0])?0:r[0]},set:function(t){r[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[1])?0:r[1]},set:function(t){r[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[2])?0:r[2]},set:function(t){r[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[3])?0:r[3]},set:function(t){r[3]=t}});var n=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return n},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":n=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var i=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!i||i.length<1){if(this instanceof mt)return;i=\"FieldObject\"+ut.FieldNum++}var t=function(t){return t};return this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),\"(\"+E(t(i))+\")\"},set:function(t){i=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return a},set:function(t){a=t}});var o=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/M:u},set:function(t){u=t}});var c=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof mt||this instanceof bt))return it(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var h=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(h)return this instanceof dt==!1?it(h,this.objId,this.scope):h},set:function(t){t=t.toString(),h=this instanceof dt==!1?\"(\"===t.substr(0,1)?q(t.substr(1,t.length-2)):q(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof dt==!0?q(h.substr(1,h.length-1)):h},set:function(t){t=t.toString(),h=this instanceof dt==!0?\"/\"+t:t}});var f=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(f)return f},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof dt==!1?it(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof dt==!1?\"(\"===t.substr(0,1)?q(t.substr(1,t.length-2)):q(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof dt==!0?q(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof dt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var d,p=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return p},set:function(t){t=Boolean(t),p=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(d)return d},set:function(t){d=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,1):this.Ff=J(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,2):this.Ff=J(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,3):this.Ff=J(this.Ff,3)}});var g=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==g)return g},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');g=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(g){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:g=2;break;case\"center\":case 1:g=1;break;case\"left\":case 0:default:g=0}}})};D(ut,at);var ct=function(){ut.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return nt(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,18):this.Ff=J(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=Y(this.Ff,19):this.Ff=J(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=Y(this.Ff,20),e.sort()):this.Ff=J(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,22):this.Ff=J(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,23):this.Ff=J(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,27):this.Ff=J(this.Ff,27)}}),this.hasAppearanceStream=!1};D(ct,ut);var lt=function(){ct.call(this),this.fontName=\"helvetica\",this.combo=!1};D(lt,ct);var ht=function(){lt.call(this),this.combo=!0};D(ht,lt);var ft=function(){ht.call(this),this.edit=!0};D(ft,ht);var dt=function(){ut.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,15):this.Ff=J(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,16):this.Ff=J(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,17):this.Ff=J(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,26):this.Ff=J(this.Ff,26)}});var t,e={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(e).length){var r,n=[];for(r in n.push(\"<<\"),e)n.push(\"/\"+r+\" (\"+E(t(e[r]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(t){\"object\"==typeof t&&(e=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return e.CA||\"\"},set:function(t){\"string\"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t=\"/\"+e}})};D(dt,ut);var pt=function(){dt.call(this),this.pushButton=!0};D(pt,dt);var gt=function(){dt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};D(gt,dt);var mt=function(){var t,e;ut.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var r,n={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),n)r.push(\"/\"+e+\" (\"+E(t(n[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(t){\"object\"==typeof t&&(n=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return n.CA||\"\"},set:function(t){\"string\"==typeof t&&(n.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(t){r=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=wt.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};D(mt,ut),gt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},gt.prototype.createOption=function(t){var e=new mt;return e.Parent=this,e.optionName=t,this.Kids.push(e),Nt.call(this.scope,e),e};var vt=function(){dt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=wt.CheckBox.createAppearanceStream()};D(vt,dt);var bt=function(){ut.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,13):this.Ff=J(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,21):this.Ff=J(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,23):this.Ff=J(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,24):this.Ff=J(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,25):this.Ff=J(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,26):this.Ff=J(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};D(bt,ut);var yt=function(){bt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,14):this.Ff=J(this.Ff,14)}}),this.password=!0};D(yt,bt);var wt={CheckBox:{createAppearanceStream:function(){return{N:{On:wt.CheckBox.YesNormal},D:{On:wt.CheckBox.YesPushDown,Off:wt.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=Z(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+R(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=wt.internal.getHeight(t),o=wt.internal.getWidth(t),s=Z(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+R(o)+\" \"+R(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+R(o-1)+\" \"+R(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+R(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:wt.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=wt.RadioButton.Circle.YesNormal,e.D[t]=wt.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=wt.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*wt.internal.Bezier_C).toFixed(5)),o=Number((n*wt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*wt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:wt.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=wt.RadioButton.Cross.YesNormal,e.D[t]=wt.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+R(wt.internal.getWidth(t)-2)+\" \"+R(wt.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(R(n.x1.x)+\" \"+R(n.x1.y)+\" m\"),r.push(R(n.x2.x)+\" \"+R(n.x2.y)+\" l\"),r.push(R(n.x4.x)+\" \"+R(n.x4.y)+\" m\"),r.push(R(n.x3.x)+\" \"+R(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=wt.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+R(wt.internal.getWidth(t)-2)+\" \"+R(wt.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(R(r.x1.x)+\" \"+R(r.x1.y)+\" m\"),n.push(R(r.x2.x)+\" \"+R(r.x2.y)+\" l\"),n.push(R(r.x4.x)+\" \"+R(r.x4.y)+\" m\"),n.push(R(r.x3.x)+\" \"+R(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};wt.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=wt.internal.getWidth(t),r=wt.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},wt.internal.getWidth=function(t){var e=0;return\"object\"==typeof t&&(e=U(t.Rect[2])),e},wt.internal.getHeight=function(t){var e=0;return\"object\"==typeof t&&(e=U(t.Rect[3])),e};var Nt=B.addField=function(t){if(rt(this,t),!(t instanceof ut))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};B.AcroFormChoiceField=ct,B.AcroFormListBox=lt,B.AcroFormComboBox=ht,B.AcroFormEditBox=ft,B.AcroFormButton=dt,B.AcroFormPushButton=pt,B.AcroFormRadioButton=gt,B.AcroFormCheckBox=vt,B.AcroFormTextField=bt,B.AcroFormPasswordField=yt,B.AcroFormAppearance=wt,B.AcroForm={ChoiceField:ct,ListBox:lt,ComboBox:ht,EditBox:ft,Button:dt,PushButton:pt,RadioButton:gt,CheckBox:vt,TextField:bt,PasswordField:yt,Appearance:wt},O.AcroForm={ChoiceField:ct,ListBox:lt,ComboBox:ht,EditBox:ft,Button:dt,PushButton:pt,RadioButton:gt,CheckBox:vt,TextField:bt,PasswordField:yt,Appearance:wt};var Lt=O.AcroForm;\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */function At(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(t){t.__addimage__={};var e=\"UNKNOWN\",r={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},n=t.__addimage__.getImageFileTypeByImageData=function(t,n){var i,a;n=n||e;var o,s,u,c=e;if(x(t))for(u in r)for(o=r[u],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){c=u;break}}else for(u in r)for(o=r[u],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){c=u;break}}return c===e&&n!==e&&(c=n),c},i=function(t){for(var e=this.internal.write,r=this.internal.putStream,n=(0,this.internal.getFilters)();-1!==n.indexOf(\"FlateEncode\");)n.splice(n.indexOf(\"FlateEncode\"),1);t.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:t.width}),a.push({key:\"Height\",value:t.height}),t.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(t.palette.length/3-1)+\" \"+(\"sMask\"in t&&void 0!==t.sMask?t.objectId+2:t.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+t.colorSpace}),t.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:t.bitsPerComponent}),\"decodeParameters\"in t&&void 0!==t.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+t.decodeParameters+\">>\"}),\"transparency\"in t&&Array.isArray(t.transparency)){for(var o=\"\",s=0,u=t.transparency.length;s<u;s++)o+=t.transparency[s]+\" \"+t.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==t.sMask&&a.push({key:\"SMask\",value:t.objectId+1+\" 0 R\"});var c=void 0!==t.filter?[\"/\"+t.filter]:void 0;if(r({data:t.data,additionalKeyValues:a,alreadyAppliedFilters:c,objectId:t.objectId}),e(\"endobj\"),\"sMask\"in t&&void 0!==t.sMask){var l=\"/Predictor \"+t.predictor+\" /Colors 1 /BitsPerComponent \"+t.bitsPerComponent+\" /Columns \"+t.width,h={width:t.width,height:t.height,colorSpace:\"DeviceGray\",bitsPerComponent:t.bitsPerComponent,decodeParameters:l,data:t.sMask};\"filter\"in t&&(h.filter=t.filter),i.call(this,h)}if(t.colorSpace===b.INDEXED){var f=this.internal.newObject();r({data:_(new Uint8Array(t.palette)),objectId:f}),e(\"endobj\")}},a=function(){var t=this.internal.collections.addImage_images;for(var e in t)i.call(this,t[e])},o=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},s=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",a),this.internal.events.subscribe(\"putXobjectDict\",o))},l=function(){var t=this.internal.collections.addImage_images;return s.call(this),t},h=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(e){return\"function\"==typeof t[\"process\"+e.toUpperCase()]},d=function(t){return\"object\"==typeof t&&1===t.nodeType},p=function(e,r){if(\"IMG\"===e.nodeName&&e.hasAttribute(\"src\")){var n=\"\"+e.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=t.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===e.nodeName){var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(e.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString,c=l.call(this);if(r=o[0],n=o[1],c[i.index]=i,a){a*=Math.PI/180;var h=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(h),d(f),d(-1*f),d(h),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),u(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),u(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=t.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};t.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=t.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=t.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=t.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=t.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},A=t.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};t.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=t.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=t.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=t.__addimage__.arrayBufferToBinaryString=function(t){try{return u(c(String.fromCharCode.apply(null,t)))}catch(e){if(\"undefined\"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.reduce)return new Uint8Array(t).reduce((function(t,e){return t.push(String.fromCharCode(e)),t}),[]).join(\"\")}};t.addImage=function(){var t,r,n,i,a,o,u,c,l;if(\"number\"==typeof arguments[1]?(r=e,n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],u=arguments[5],c=arguments[6],l=arguments[7]):(r=arguments[1],n=arguments[2],i=arguments[3],a=arguments[4],o=arguments[5],u=arguments[6],c=arguments[7],l=arguments[8]),\"object\"==typeof(t=arguments[0])&&!d(t)&&\"imageData\"in t){var h=t;t=h.imageData,r=h.format||r||e,n=h.x||n||0,i=h.y||i||0,a=h.w||h.width||a,o=h.h||h.height||o,u=h.alias||u,c=h.compression||c,l=h.rotation||h.angle||l}var f=this.internal.getFilters();if(void 0===c&&-1!==f.indexOf(\"FlateEncode\")&&(c=\"SLOW\"),isNaN(n)||isNaN(i))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");s.call(this);var p=P.call(this,t,r,u,c);return v.call(this,n,i,a,o,p,l),this};var P=function(r,i,a,o){var s,u,c;if(\"string\"==typeof r&&n(r)===e){r=unescape(r);var l=k(r,!1);(\"\"!==l||void 0!==(l=t.loadFile(r,!0)))&&(r=l)}if(d(r)&&(r=p(r,i)),i=n(r,i),!f(i))throw new Error(\"addImage does not support files of type '\"+i+\"', please ensure that a plugin for '\"+i+\"' support is added.\");if((null==(c=a)||0===c.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):null}(r)),(s=g.call(this,a))||(A()&&(r instanceof Uint8Array||(u=r,r=S(r))),s=this[\"process\"+i.toUpperCase()](r,h.call(this),a,function(e){return e&&\"string\"==typeof e&&(e=e.toUpperCase()),e in t.image_compression?e:y.NONE}(o),u)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=t.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=L(t))?r.data:t;try{i=u(n)}catch(t){if(e)throw N(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};t.getImageProperties=function(r){var i,a,o=\"\";if(d(r)&&(r=p(r)),\"string\"==typeof r&&n(r)===e&&(\"\"===(o=k(r,!1))&&(o=t.loadFile(r)||\"\"),r=o),a=n(r),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||r instanceof Uint8Array||(r=S(r)),!(i=this[\"process\"+a.toUpperCase()](r)))throw new Error(\"An unknown error occurred whilst processing the image\");return i.fileType=a,i}}(O.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};O.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),u=t.pageContext.annotations,c=!1,l=0;l<u.length&&!c;l++)switch((r=u[l]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(c=!0);break;case\"reference\":case\"text\":case\"freetext\":c=!0}if(0!=c){this.internal.write(\"/Annots [\");for(var h=0;h<u.length;h++){r=u[h];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i=this.getTextWidth(t),a=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,r,n),r+=.2*a,\"center\"===n.align&&(e-=i/2),\"right\"===n.align&&(e-=i),this.link(e,r-a,i,a,n),i},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(O.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},u=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var c=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var l=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},h=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!c(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&u(e)||s(t)&&s(e)?0:l(t)&&o(e)&&!s(e)&&o(r)&&c(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",u=\"\",c=(t=t||\"\").split(\"\\\\s+\"),l=[];for(r=0;r<c.length;r+=1){for(l.push(\"\"),n=0;n<c[r].length;n+=1)a=c[r][n],s=c[r][n-1],u=c[r][n+1],o(a)?(i=f(a,s,u),l[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):l[r]+=a;l[r]=h(l[r])}return l.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(O.API),O.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(O.API),\n/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e={left:0,top:0,bottom:0,right:0},r=!1,n=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},e),this.internal.__cell__.margins.width=this.getPageWidth(),i.call(this))},i=function(){this.internal.__cell__.lastCell=new a,this.internal.__cell__.pages=1},a=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};a.prototype.clone=function(){return new a(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},a.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},t.setHeaderFunction=function(t){return n.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},t.getTextDimensions=function(t,e){n.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),i=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,u=0,c=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}const l=e.maxWidth;l>0?\"string\"==typeof t?t=this.splitTextToSize(t,l):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(c.splitTextToSize(e,l))}),[])):t=Array.isArray(t)?t:[t];for(var h=0;h<t.length;h++)o<(u=this.getStringUnitWidth(t[h],{font:i})*r)&&(o=u);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},t.cellAddPage=function(){n.call(this),this.addPage();var t=this.internal.__cell__.margins||e;return this.internal.__cell__.lastCell=new a(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var o=t.cell=function(){var t;t=arguments[0]instanceof a?arguments[0]:new a(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),n.call(this);var i=this.internal.__cell__.lastCell,o=this.internal.__cell__.padding,s=this.internal.__cell__.margins||e,u=this.internal.__cell__.tableHeaderRow,c=this.internal.__cell__.printHeaders;return void 0!==i.lineNumber&&(i.lineNumber===t.lineNumber?(t.x=(i.x||0)+(i.width||0),t.y=i.y||0):i.y+i.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,c&&u&&(this.printHeaderRow(t.lineNumber,!0),t.y+=u[0].height)):t.y=i.y+i.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===r?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-o,t.y+o,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+o,{align:\"center\",baseline:\"top\",maxWidth:t.width-o-o}):this.text(t.text,t.x+o,t.y+o,{align:\"left\",baseline:\"top\",maxWidth:t.width-o-o})),this.internal.__cell__.lastCell=t,this};t.table=function(t,r,u,c,l){if(n.call(this),!u)throw new Error(\"No data for PDF table.\");var h,f,d,p,g=[],m=[],v=[],b={},y={},w=[],N=[],L=(l=l||{}).autoSize||!1,A=!1!==l.printHeaders,x=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,S=l.margins||Object.assign({width:this.getPageWidth()},e),_=\"number\"==typeof l.padding?l.padding:3,P=l.headerBackgroundColor||\"#c8c8c8\";if(i.call(this),this.internal.__cell__.printHeaders=A,this.internal.__cell__.margins=S,this.internal.__cell__.table_font_size=x,this.internal.__cell__.padding=_,this.internal.__cell__.headerBackgroundColor=P,this.setFontSize(x),null==c)m=g=Object.keys(u[0]),v=g.map((function(){return\"left\"}));else if(Array.isArray(c)&&\"object\"==typeof c[0])for(g=c.map((function(t){return t.name})),m=c.map((function(t){return t.prompt||t.name||\"\"})),v=c.map((function(t){return t.align||\"left\"})),h=0;h<c.length;h+=1)y[c[h].name]=c[h].width*(19.049976/25.4);else Array.isArray(c)&&\"string\"==typeof c[0]&&(m=g=c,v=g.map((function(){return\"left\"})));if(L||Array.isArray(c)&&\"string\"==typeof c[0])for(h=0;h<g.length;h+=1){for(b[p=g[h]]=u.map((function(t){return t[p]})),this.setFont(void 0,\"bold\"),w.push(this.getTextDimensions(m[h],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),f=b[p],this.setFont(void 0,\"normal\"),d=0;d<f.length;d+=1)w.push(this.getTextDimensions(f[d],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);y[p]=Math.max.apply(null,w)+_+_,w=[]}if(A){var k={};for(h=0;h<g.length;h+=1)k[g[h]]={},k[g[h]].text=m[h],k[g[h]].align=v[h];var I=s.call(this,k,y);N=g.map((function(e){return new a(t,r,y[e],I,k[e].text,void 0,k[e].align)})),this.setTableHeaderRow(N),this.printHeaderRow(1,!1)}var F=c.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(h=0;h<u.length;h+=1){var C=s.call(this,u[h],y);for(d=0;d<g.length;d+=1)o.call(this,new a(t,r,y[g[d]],C,u[h][g[d]],h+2,F[g[d]]))}return this.internal.__cell__.table_x=t,this.internal.__cell__.table_y=r,this};var s=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};t.setTableHeaderRow=function(t){n.call(this),this.internal.__cell__.tableHeaderRow=t},t.printHeaderRow=function(t,e){if(n.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var i;if(r=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var s=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new a(s[0],s[1],s[2],s[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var u=[],c=0;c<this.internal.__cell__.tableHeaderRow.length;c+=1)i=this.internal.__cell__.tableHeaderRow[c].clone(),e&&(i.y=this.internal.__cell__.margins.top||0,u.push(i)),i.lineNumber=t,this.setFillColor(this.internal.__cell__.headerBackgroundColor),o.call(this,i);u.length>0&&this.setTableHeaderRow(u),this.setFont(void 0,\"normal\"),r=!1}}(O.API);var xt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},St=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],_t=At(St),Pt=[100,200,300,400,500,600,700,800,900],kt=At(Pt);function It(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return xt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof _t[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ft(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Ct={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},jt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Ot(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function Bt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Ct,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=It(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Ot(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=_t[t],n=r<=_t.normal?-1:1,i=Ft(e,St,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=xt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=kt[t],n=Ft(e,Pt,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Ot(a)+\"'.\");return o}function Mt(t){return t.trimLeft()}function Et(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function qt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Rt,Tt,Dt,Ut=[\"times\"];!function(t){var e,r,n,a,o,s,u,c,l,f=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new c,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new s,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new s,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};t.events.push([\"initialized\",function(){this.context2d=new d(this),e=this.internal.f2,r=this.internal.getCoordinateString,n=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,o=this.internal.getVerticalCoordinate,s=this.internal.Point,u=this.internal.Rectangle,c=this.internal.Matrix,l=new f}]);var d=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=Boolean(t)}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var u=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof f&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var c=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=p(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=p(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function d(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=It(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var g=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return g},set:function(t){h=null,g=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Ut;if(i in jt)return[jt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Mt(i)).charAt(0)){case'\"':case\"'\":r=Et(i.substring(1),e);break;default:r=qt(i)}if(null===r)return Ut;if(n.push(r[0]),\"\"!==(i=Mt(r[1]))&&\",\"!==i.charAt(0))return Ut;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var u=Bt(d(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(u.ref.name,u.ref.style)}else{var c=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(c=\"bold\"),\"italic\"===r&&(c+=\"italic\"),0===c.length&&(c=\"normal\");for(var l=\"\",h={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},f=0;f<s.length;f++){if(void 0!==this.pdf.internal.getFont(s[f],c,{noFallback:!0,disableWarning:!0})){l=s[f];break}if(\"bolditalic\"===c&&void 0!==this.pdf.internal.getFont(s[f],\"bold\",{noFallback:!0,disableWarning:!0}))l=s[f],c=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[f],\"normal\",{noFallback:!0,disableWarning:!0})){l=s[f],c=\"normal\";break}}if(\"\"===l)for(var p=0;p<s.length;p++)if(h[s[p]]){l=h[s[p]];break}l=\"\"===l?\"Times\":l,this.pdf.setFont(l,c)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};d.prototype.fill=function(){N.call(this,\"fill\",!1)},d.prototype.stroke=function(){N.call(this,\"stroke\",!1)},d.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},d.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(t,e)},d.prototype.closePath=function(){var t=new s(0,0),e=0;for(e=this.path.length-1;-1!==e;e--)if(\"begin\"===this.path[e].type&&\"object\"==typeof this.path[e+1]&&\"number\"==typeof this.path[e+1].x){t=new s(this.path[e+1].x,this.path[e+1].y),this.path.push({type:\"lt\",x:t.x,y:t.y});break}\"object\"==typeof this.path[e+2]&&\"number\"==typeof this.path[e+2].x&&this.path.push(JSON.parse(JSON.stringify(this.path[e+2]))),this.path.push({type:\"close\"}),this.ctx.lastPoint=new s(t.x,t.y)},d.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(r.x,r.y)},d.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),N.call(this,null,!0)},d.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var a=this.ctx.transform.applyToPoint(new s(r,n)),o=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:a.x,y:a.y}),this.ctx.lastPoint=new s(a.x,a.y)},d.prototype.bezierCurveTo=function(t,e,r,n,a,o){if(isNaN(a)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var u=this.ctx.transform.applyToPoint(new s(a,o)),c=this.ctx.transform.applyToPoint(new s(t,e)),l=this.ctx.transform.applyToPoint(new s(r,n));this.path.push({type:\"bct\",x1:c.x,y1:c.y,x2:l.x,y2:l.y,x:u.x,y:u.y}),this.ctx.lastPoint=new s(u.x,u.y)},d.prototype.arc=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a))throw i.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var u=this.ctx.transform.applyToPoint(new s(t,e));t=u.x,e=u.y;var c=this.ctx.transform.applyToPoint(new s(0,r)),l=this.ctx.transform.applyToPoint(new s(0,0));r=Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2))}Math.abs(a-n)>=2*Math.PI&&(n=0,a=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:a,counterclockwise:o})},d.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},d.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},d.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!g.call(this)){var a={};\"butt\"!==this.lineCap&&(a.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(a.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),a.hasOwnProperty(\"lineCap\")&&(this.lineCap=a.lineCap),a.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=a.lineJoin)}},d.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");m.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},d.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},d.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new f(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},d.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin)},d.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var p=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new h(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},g=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},m=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};d.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!g.call(this)){r=A.call(this,r);var a=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;k.call(this,{text:t,x:e,y:r,scale:o,angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!m.call(this)){n=isNaN(n)?void 0:n,r=A.call(this,r);var a=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;k.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.measureText=function(t){if(\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),a=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:a*=Math.round(96*r/72*1e4)/1e4})},d.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new c(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.rotate=function(t){if(isNaN(t))throw i.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new c(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},d.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new c(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.transform=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a)||isNaN(o))throw i.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new c(t,e,r,n,a,o);this.ctx.transform=this.ctx.transform.multiply(s)},d.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new c(t,e,r,n,i,a)},d.prototype.drawImage=function(t,e,r,n,i,a,o,s,l){var h=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=l/i,f=h.width/n*s/n,d=h.height/i*l/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,l=i),void 0===n&&void 0===s&&(s=h.width,l=h.height);for(var m,b=this.ctx.transform.decompose(),N=B(b.rotate.shx),A=new c,x=(A=(A=(A=A.multiply(b.translate)).multiply(b.skew)).multiply(b.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),S=v.call(this,x),_=[],P=0;P<S.length;P+=1)-1===_.indexOf(S[P])&&_.push(S[P]);if(w(_),this.autoPaging)for(var k=_[0],I=_[_.length-1],F=k;F<I+1;F++){if(this.pdf.setPage(F),0!==this.ctx.clip_path.length){var C=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(m,this.posX,-1*this.pdf.internal.pageSize.height*(F-1)+this.posY),L.call(this,\"fill\",!0),this.path=C}var j=JSON.parse(JSON.stringify(x));j=y([j],this.posX,-1*this.pdf.internal.pageSize.height*(F-1)+this.posY)[0],this.pdf.addImage(t,\"JPEG\",j.x,j.y,j.w,j.h,null,null,N)}else this.pdf.addImage(t,\"JPEG\",x.x,x.y,x.w,x.h,null,null,N)};var v=function(t,e,r){var n=[];switch(e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height,t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+this.posY)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+this.posY-t.radius)/r)+1),n.push(Math.floor((t.y+this.posY+t.radius)/r)+1);break;case\"qct\":var i=M(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor(i.y/r)+1),n.push(Math.floor((i.y+i.h)/r)+1);break;case\"bct\":var a=E(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor(a.y/r)+1),n.push(Math.floor((a.y+a.h)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+this.posY)/r)+1),n.push(Math.floor((t.y+t.h+this.posY)/r)+1)}for(var o=0;o<n.length;o+=1)for(;this.pdf.internal.getNumberOfPages()<n[o];)b.call(this);return n},b=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},y=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},w=function(t){return t.sort((function(t,e){return t-e}))},N=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,u=s*this.ctx.transform.scaleX,c=this.lineJoin,l=JSON.parse(JSON.stringify(this.path)),h=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<h.length;d++)if(void 0!==h[d].x)for(var p=v.call(this,h[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)b.call(this);if(w(f),this.autoPaging)for(var N=f[0],A=f[f.length-1],x=N;x<A+1;x++){if(this.pdf.setPage(x),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=u,this.lineJoin=c,0!==this.ctx.clip_path.length){var S=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(r,this.posX,-1*this.pdf.internal.pageSize.height*(x-1)+this.posY),L.call(this,t,!0),this.path=S}n=JSON.parse(JSON.stringify(l)),this.path=y(n,this.posX,-1*this.pdf.internal.pageSize.height*(x-1)+this.posY),!1!==e&&0!==x||L.call(this,t,e),this.lineWidth=s}else this.lineWidth=u,L.call(this,t,e),this.lineWidth=s;this.path=l},L=function(t,e){if((\"stroke\"!==t||e||!m.call(this))&&(\"stroke\"===t||e||!g.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var u=i.length;if(!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],u>0))for(;u>=0;u--)if(!0!==i[u-1].close&&!0!==i[u-1].begin){i[u-1].deltas.push(r),i[u-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var c=a[o-1].x+2/3*(s.x1-a[o-1].x),l=a[o-1].y+2/3*(s.y1-a[o-1].y),h=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[c-a[o-1].x,l-a[o-1].y,h-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var v=0;v<i.length;v++){if(i[v].arc){for(var b=i[v].abs,y=0;y<b.length;y++){var w=b[y];\"arc\"===w.type?x.call(this,w.x,w.y,w.radius,w.startAngle,w.endAngle,w.counterclockwise,void 0,e):I.call(this,w.x,w.y)}S.call(this,n),this.pdf.internal.out(\"h\")}if(!i[v].arc&&!0!==i[v].close&&!0!==i[v].begin){var N=i[v].start.x,L=i[v].start.y;F.call(this,i[v].deltas,N,L)}}n&&S.call(this,n),e&&_.call(this)}},A=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}};d.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},d.prototype.createPattern=function(){return this.createLinearGradient()},d.prototype.createRadialGradient=function(){return this.createLinearGradient()};var x=function(t,e,r,n,i,a,o,s){for(var u=j.call(this,r,n,i,a),c=0;c<u.length;c++){var l=u[c];0===c&&P.call(this,l.x1+t,l.y1+e),C.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?_.call(this):S.call(this,o)},S=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},_=function(){this.pdf.clip(),this.pdf.discardPath()},P=function(t,e){this.pdf.internal.out(r(t)+\" \"+n(e)+\" m\")},k=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.ctx.transform.applyToPoint(new s(t.x,t.y)),n=this.ctx.transform.decompose(),i=new c;i=(i=(i=i.multiply(n.translate)).multiply(n.skew)).multiply(n.scale);for(var a,o,l,h=this.pdf.getTextDimensions(t.text),f=this.ctx.transform.applyToRectangle(new u(t.x,t.y,h.w,h.h)),d=i.applyToRectangle(new u(t.x,t.y-h.h,h.w,h.h)),p=v.call(this,d),g=[],m=0;m<p.length;m+=1)-1===g.indexOf(p[m])&&g.push(p[m]);if(w(g),!0===this.autoPaging)for(var b=g[0],N=g[g.length-1],A=b;A<N+1;A++){if(this.pdf.setPage(A),0!==this.ctx.clip_path.length){var x=this.path;a=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(a,this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY),L.call(this,\"fill\",!0),this.path=x}var S=JSON.parse(JSON.stringify(f));S=y([S],this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY)[0],t.scale>=.01&&(o=this.pdf.internal.getFontSize(),this.pdf.setFontSize(o*t.scale),l=this.lineWidth,this.lineWidth=l*t.scale),this.pdf.text(t.text,S.x,S.y,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(o),this.lineWidth=l)}else t.scale>=.01&&(o=this.pdf.internal.getFontSize(),this.pdf.setFontSize(o*t.scale),l=this.lineWidth,this.lineWidth=l*t.scale),this.pdf.text(t.text,r.x+this.posX,r.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(o),this.lineWidth=l)},I=function(t,e,i,a){i=i||0,a=a||0,this.pdf.internal.out(r(t+i)+\" \"+n(e+a)+\" l\")},F=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},C=function(t,r,n,i,s,u,c,l){this.pdf.internal.out([e(a(n+t)),e(o(i+r)),e(a(s+t)),e(o(u+r)),e(a(c+t)),e(o(l+r)),\"c\"].join(\" \"))},j=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],u=n?-1:1,c=e;o>1e-5;){var l=c+u*Math.min(o,a);s.push(O.call(this,t,c,l)),o-=Math.abs(l-c),c=l}return s},O=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,u=o*o+s*s,c=u+o*i+s*a,l=4/3*(Math.sqrt(2*u*c)-c)/(o*a-s*i),h=o-l*s,f=s+l*o,d=h,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:h*m-f*v,y2:h*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},B=function(t){return 180*t/Math.PI},M=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),l=a+.5*(n-a),h=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,l),p=Math.max(e,a,s,l);return new u(h,d,f-h,p-d)},E=function(t,e,r,n,i,a,o,s){var c,l,h,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(l=0;l<41;l++)v=(g=(h=t+(c=l/40)*A)+c*((d=r+c*S)-h))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==l?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))}}(O.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(e){var r=function(t){var e,r,n,i,a,o,s,u,c,l;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(l=a%85))/85)-(c=a%85))/85)-(u=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,u+33,c+33,l+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",u=255,c=\"charCodeAt\",l=\"slice\",h=\"replace\";for(t[l](-2),t=t[l](0,-2)[h](/\\s/g,\"\")[h](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[l](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[c](i)-33)+614125*(t[c](i+1)-33)+7225*(t[c](i+2)-33)+85*(t[c](i+3)-33)+(t[c](i+4)-33),n.push(u&r>>24,u&r>>16,u&r>>8,u&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(e){for(var r=new Uint8Array(e.length),n=e.length;n--;)r[n]=e.charCodeAt(n);return e=(r=t(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};e.processDataByFilters=function(t,e){var o=0,s=t||\"\",u=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),u.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),u.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),u.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",u.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),u.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:u.reverse().join(\" \")}}}(O.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(O.API),\n/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){function e(){return(r.html2canvas?Promise.resolve(r.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function n(){return(r.DOMPurify?Promise.resolve(r.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var i=function(t){var e=typeof t;return\"undefined\"===e?\"undefined\":\"string\"===e||t instanceof String?\"string\":\"number\"===e||t instanceof Number?\"number\":\"function\"===e||t instanceof Function?\"function\":t&&t.constructor===Array?\"array\":t&&1===t.nodeType?\"element\":\"object\"===e?\"object\":\"unknown\"},a=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},o=function(t,e){for(var r=3===t.nodeType?document.createTextNode(t.nodeValue):t.cloneNode(!1),n=t.firstChild;n;n=n.nextSibling)!0!==e&&1===n.nodeType&&\"SCRIPT\"===n.nodeName||r.appendChild(o(n,e));return 1===t.nodeType&&(\"CANVAS\"===t.nodeName?(r.width=t.width,r.height=t.height,r.getContext(\"2d\").drawImage(t,0,0)):\"TEXTAREA\"!==t.nodeName&&\"SELECT\"!==t.nodeName||(r.value=t.value),r.addEventListener(\"load\",(function(){r.scrollTop=t.scrollTop,r.scrollLeft=t.scrollLeft}),!0)),r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(i(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(n).then((function(e){return this.set({src:a(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=o(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=a(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=a(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(a(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=Object.assign({async:!0,allowTaint:!0,scale:1,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete n.onrendered,e.context2d.autoPaging=!0,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.fontFaces=r,r)for(var i=0;i<r.length;++i){var a=r[i],o=a.src.find((function(t){return\"truetype\"===t.format}));o&&e.addFont(o.url,a.ref.name,a.ref.style)}return n.windowHeight=n.windowHeight||0,n.windowHeight=0==n.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):n.windowHeight,t(this.prop.container,n)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==i(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(i(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||O.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,O.getPageSize=function(t,e,r){if(\"object\"==typeof t){var n=t;t=n.orientation,e=n.unit||e,r=n.format||r}e=e||\"mm\",r=r||\"a4\",t=(\"\"+(t||\"P\")).toLowerCase();var i,a=(\"\"+r).toLowerCase(),o={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(e){case\"pt\":i=1;break;case\"mm\":i=72/25.4;break;case\"cm\":i=72/2.54;break;case\"in\":i=72;break;case\"px\":i=.75;break;case\"pc\":case\"em\":i=12;break;case\"ex\":i=6;break;default:throw\"Invalid unit: \"+e}var s,u=0,c=0;if(o.hasOwnProperty(a))u=o[a][1]/i,c=o[a][0]/i;else try{u=r[1],c=r[0]}catch(t){throw new Error(\"Invalid format: \"+r)}if(\"p\"===t||\"portrait\"===t)t=\"p\",c>u&&(s=c,c=u,u=s);else{if(\"l\"!==t&&\"landscape\"!==t)throw\"Invalid orientation: \"+t;t=\"l\",u>c&&(s=c,c=u,u=s)}return{width:c,height:u,unit:e,k:i,orientation:t}},t.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(It):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(O.API),O.API.addJS=function(t){return Dt=t,this.internal.events.subscribe(\"postPutResources\",(function(){Rt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Rt+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),Tt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Dt+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Rt&&void 0!==Tt&&this.internal.out(\"/Names <</JavaScript \"+Rt+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var u=this.internal.pages.length,c=[];for(i=0;i<u;i++){var l=t.internal.newObject();c.push(l);var h=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+h.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<c.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+c[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(O.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,u=this.decode.DCT_DECODE,c=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}c={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:u,index:r,alias:n}}return c}}(O.API);var zt,Ht,Vt,Wt,Gt,Yt=function(){var t,n,i;function a(t){var e,r,n,i,a,o,s,u,c,l,h,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),c=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===c&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((l=n-this.transparency.indexed.length)>0)for(d=0;0<=l?d<l:d>l;0<=l?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(h=this.read(e)).indexOf(0),u=String.fromCharCode.apply(String,h.slice(0,s)),this.text[u]=String.fromCharCode.apply(String,h.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var r=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*r),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(e,o,s,u){var c,l,h,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-e)/s),C=Math.ceil((a.height-o)/u),j=a.width==F&&a.height==C;for(L=r*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,l=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[l++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)c=t[i++],d=f<r?0:w[l-r],w[l++]=(c+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)c=t[i++],h=(f-f%r)/r,A=N&&w[(N-1)*L+h*r+f%r],w[l++]=(A+c)%256;break;case 3:for(f=k=0;k<L;f=k+=1)c=t[i++],h=(f-f%r)/r,d=f<r?0:w[l-r],A=N&&w[(N-1)*L+h*r+f%r],w[l++]=(c+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)c=t[i++],h=(f-f%r)/r,d=f<r?0:w[l-r],0===N?A=x=0:(A=w[(N-1)*L+h*r+f%r],x=h&&w[(N-1)*L+(h-1)*r+f%r]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[l++]=(c+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*u)*a.width+e)*r,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<r;M+=1)n[O++]=w[B++];O+=(s-1)*r}}N++}}return t=e(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,u;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(u=a[t++])?u:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,u,c,l,h,f;if(n=this.colors,l=null,r=this.hasAlphaChannel,this.palette.length&&(l=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),c=(i=t.data||t).length,o=l||e,a=s=0,1===n)for(;a<c;)u=l?4*e[a/4]:s,h=o[u++],i[a++]=h,i[a++]=h,i[a++]=h,i[a++]=r?o[u++]:255,s=u;else for(;a<c;)u=l?4*e[a/4]:s,i[a++]=o[u++],i[a++]=o[u++],i[a++]=o[u++],i[a++]=r?o[u++]:255,s=u},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(r)){try{n=r.document.createElement(\"canvas\"),i=n.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var e;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(e=new Image).src=n.toDataURL(),e;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,u,c;if(this.animation){for(c=[],n=o=0,s=(u=this.animation.frames).length;o<s;n=++o)r=u[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,c.push(r.image=t(i));return c}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,u;if(o=r++%i,u=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,u.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Jt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,u=null;a&&(s=e,u=o,e+=3*o);var c=!0,l=[],h=0,f=null,d=0,p=null;for(this.width=r,this.height=n;c&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];h=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=u,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}l.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:h,disposal:d});break;case 59:c=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return l.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=l.length)throw new Error(\"Frame index out of range.\");return l[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Xt(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Xt(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--h}}}function Xt(t,e,r,n){for(var a=t[e++],o=1<<a,s=o+1,u=s+1,c=a+1,l=(1<<c)-1,h=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;h<16&&0!==p;)f|=t[e++]<<h,h+=8,1===p?p=t[e++]:--p;if(h<c)break;var v=f&l;if(f>>=c,h-=c,v!==o){if(v===s)break;for(var b=v<u?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void i.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&u<4096&&(g[u++]=m<<8|N,u>=l+1&&c<12&&(++c,l=l<<1|1)),m=v}else u=s+1,l=(1<<(c=a+1))-1,m=null}return d!==n&&i.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Kt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),u=new Array(64),c=new Array(64),l=new Array(64),h=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],u=function(t,e){var r,n,i,a,o,s,u,c,l,h,f=0;for(l=0;l<8;++l){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],u=t[f+6];var p=r+(c=t[f+7]),g=r-c,m=n+u,v=n-u,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,l=0;l<8;++l){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],u=t[f+48];var O=r+(c=t[f+56]),B=r-c,M=n+u,E=n-u,q=i+s,R=i-s,T=a+o,D=a-o,U=O+T,z=O-T,H=M+q,V=M-q;t[f]=U+H,t[f+32]=U-H;var W=.707106781*(V+z);t[f+16]=z+W,t[f+48]=z-W;var G=.382683433*((U=D+R)-(V=E+B)),Y=.5411961*U+G,J=1.306562965*V+G,X=.707106781*(H=R+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(l=0;l<64;++l)h=t[l]*e[l],d[l]=h>0?h+.5|0:h-.5|0;return d}(t,e),c=0;c<64;++c)p[A[c]]=u[c];var l=p[0]-r;r=p[0],0==l?O(n[0]):(O(n[f[a=32767+l]]),O(h[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(h[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var h=o((i[a]*t+50)/100);h=Math.min(Math.max(h,1),255),u[A[a]]=h}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)c[d]=1/(s[A[d]]*f[p]*f[g]*8),l[d]=1/(u[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(u[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,h=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,R,T,D,U,z=t.data,H=t.width,V=t.height,W=4*H,G=0;G<V;){for(d=0;d<W;){for(j=W*G+d,T=-1,D=0,U=0;U<64;U++)R=j+(D=U>>3)*W+(T=4*(7&U)),G+D>=V&&(R-=W*(G+1+D-V)),d+T>=W&&(R-=d+T-W+4),p=z[R++],N=z[R++],A=z[R++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,c,o,e,n),h=E(y,l,h,r,i),f=E(w,l,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,h[32767+n]=[],h[32767+n][1]=r,h[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,h[32767+i]=[],h[32767+i][1]=r,h[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function Zt(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function $t(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function c(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new($t=function(){var t=this;function u(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function c(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function l(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var l,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,l=1;15>l;++l){if(g[l]>1<<l)return 0;m[l+1]=m[l]+g[l]}for(f=0;f<o;++f)l=i[f],0<i[f]&&(s[m[l]++]=f);if(1==m[15])return(i=new h).g=0,i.value=s[0],c(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,l=1,o=2;l<=n;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l])(i=new h).g=l,i.value=s[f++],c(t,d+w,o,A,i),w=u(w,l)}for(l=n+1,o=2;15>=l;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l]){if(i=new h,(w&y)!=b){for(d+=A,v=1<<(b=l)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=l-n,i.value=s[f++],c(t,d+(w>>n),o,A,i),w=u(w,l)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function h(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,h),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Rr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Dr){var n=L(t)&Tr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function R(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function T(e,r){t[r]=function(r,n,i,a,o,s,u){var c;for(c=0;c<o;++c){var l=t[e](s[u+c-1],i,a+c);s[u+c]=R(r[n+c],l)}}}function D(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function V(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function W(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=R(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,u=16711935&(u=(u=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+u>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],u=s>>>8,c=s,l=255&(l=(l=s>>>16)+((t.jd<<24>>24)*(u<<24>>24)>>>5));c=255&(c=(c=c+((t.hd<<24>>24)*(u<<24>>24)>>>5))+((t.ud<<24>>24)*(l<<24>>24)>>>5));i[a+o]=(4278255360&s)+(l<<16)+c}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,u,c,l){for(n=u;n<c;++n)for(u=0;u<l;++u)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,u,c,l){var h=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>h)for(e=(1<<e.b)-1,p=(1<<h)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[u++])),c[l++]=a(d[m&p]),m>>=h}else t[\"VP8LMapColor\"+n](s,u,d,p,c,l,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Vn||t==Wn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ut(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ct(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function lt(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],u=t.y,c=t.O,l=t.f,h=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(u,c,null,null,l,h,f,d,l,h,f,d,a,o,null,null,w):(s(e.ec,e.fc,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=l,g=h,m=f,v=d,h+=t.Rc,d+=t.Rc,o+=2*i.A,s(u,(c+=2*t.fa)-t.fa,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w);return c+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,u,c,w),n(e.cc,e.dc,l,h,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(u,c,null,null,l,h,f,d,l,h,f,d,a,o+i.A,null,null,w),r}function ht(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,u=s==Dn||s==Wn;r=r.ba.f.RGBA;var c=[0],l=t.ka;c[0]=t.T,t.Kb&&(0==l?--c[0]:(--l,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(c[0]=t.o-t.j-l));var h=r.eb;l=r.fb+l*r.A;t=Sn(i,a[0],t.width,o,c,h,l+(u?0:3),r.A),e(n==c),t&&nt(s)&&An(h,l,u,o,c,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Tn||r==Dn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ct,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=lt,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=ht,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Wt(e,255),qi[t-Pi]=Wt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,u=t.C;r=u+r;var c=i,l=a;for(a=t.Ta,i=t.Ua;0<o--;){var h=t.gc[o],f=u,d=r,p=c,g=l,m=(l=a,c=i,h.Ea);switch(e(f<d),e(d<=h.nc),h.hc){case 2:Gr(p,g,(d-f)*m,l,c);break;case 0:var v=f,b=d,y=l,w=c,N=(_=h).Ea;0==v&&(Vr(p,g,null,null,1,y,w),W(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Wr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=h.nc&&n(l,c-m,l,c+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=h.Ea)-(w=p&~(y=(g=1<<h.b)-1)),v=q(p,h.b),L=h.K,h=h.w+(f>>h.b)*v;f<d;){for(A=L,x=h,S=new D,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,l,c),b+=g,c+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,l,c),b+=N,c+=N),++f&y||(h+=v)}break;case 3:if(p==l&&g==c&&0<h.b){for(b=l,p=m=c+(d-f)*m-(w=(d-f)*q(h.Ea,h.b)),g=l,y=c,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(h,f,d,l,m,l,c)}else Yr(h,f,d,p,g,l,c)}c=a,l=i}l!=i&&n(a,i,c,l,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,u=t.Ua,c=o.width;if(Nt(t,a,n,i),a=u=[u],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var l=o.j-n;n=o.j;a[0]+=l*c}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(u=u[0],11>(n=t.ca).S){var h=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,l=h.eb,h.A),d=o;for(h=h.fb+t.Ma*h.A;0<d--;){var p=s,g=u,m=a,v=l,b=h;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Rn:nn(p,g,m,v,b);break;case Tn:et(p,g,m,v,b,1);break;case Vn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Dn:et(p,g,m,v,b,0);break;case Wn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}u+=c,h+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,u=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,u,i,a,i,a,o),s=i,u=a,a+=o;t.qd=s,t.rd=u}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,u=t.V,c=t.Ba+t.c*i,l=t.gc;e(1==t.ab),e(3==l[0].hc),Xr(l[0],i,r,u,c,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var u=t.$/i,c=t.$%i,l=t.m,h=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+h.ua,m=t.Pb?u:16777216,v=0<h.ua?h.Wa:null,b=h.wc,y=f<p?wt(h,c,u):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(u>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=u+ti}if(c&b||(y=wt(h,c,u)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(l),y.jc){N=l,_=r;var P=f,k=y.pd[L(N)&Rr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],l);if(l.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(l),w=bt(y.G[1],y.H[1],l),S(l),_=bt(y.G[2],y.H[2],l),P=bt(y.G[3],y.H[3],l),l.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++c>=i&&(c=0,++u,null!=s&&u<=o&&!(u%16)&&s(t,u),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,l),_=bt(y.G[4],y.H[4],l),S(l),_=vt(i,_=mt(_,l)),l.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,c+=N;c>=i;)c-=i,++u,null!=s&&u<=o&&!(u%16)&&s(t,u);if(e(f<=a),c&b&&(y=wt(h,c,u)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(l.h==A(l))}if(t.Pb&&l.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(l.h)break t;null!=s&&s(t,u>o?o:u),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,u){var c=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;c&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)c=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,T=1<<(8>>E.b),D=a(T);if(null==D)F=0;else{var U=E.K[0],z=E.w;for(D[0]=E.K[0][0],B=1;B<1*M;++B)D[B]=R(U[z+B],D[B-1]);for(;B<4*T;++B)D[B]=0;E.K[0]=null,E.K[0]=D,F=1}}_=F;break;case 2:break;default:e(0)}c=_}}if(f=f[0],p=p[0],c&&y(g,1)&&!(c=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=c)e:{var V,W,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,V=0;V<st;++V){var ut=tt[V]>>8&65535;tt[V]=ut,ut>=et&&(et=ut+1)}}if($.h)break r;for(W=0;5>W;++W){var ct=Xn[W];!W&&0<K&&(ct+=1<<K),rt<ct&&(rt=ct)}var lt=o(et*nt,h),ht=et,ft=o(ht,d);if(null==ft)var dt=null;else e(65536>=ht),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==lt){Y.a=1;break r}var gt=lt;for(V=G=0;V<et;++V){var mt=dt[V],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(W=0;5>W;++W){ct=Xn[W],vt[W]=gt,bt[W]=G,!W&&0<K&&(ct+=1<<K);n:{var At,xt=ct,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Rt=1}else{var Tt=a(19),Dt=y(Ot,4)+4;if(19<Dt){St.a=3;var Ut=0;break n}for(At=0;At<Dt;++At)Tt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Vt=St,Wt=Tt,Gt=xt,Yt=kt,Jt=0,Xt=Vt.m,Kt=8,Zt=o(128,h);i:for(;l(Zt,0,7,Wt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Vt.a=3),Rt=Jt}(Rt=Rt&&!Ot.h)&&(jt=l(Ft,Ct,8,kt,xt)),Rt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[W]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=W){var oe,se=pt[0];for(oe=1;oe<ct;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ue,ce=mt;for(ue=0;ue<Rr;++ue){var le=ue,he=ce.pd[le],fe=ce.G[0][ce.H[0]+le];256<=fe.value?(he.g=fe.g+256,he.value=fe.value):(he.g=0,he.value=0,le>>=yt(fe,8,he),le>>=yt(ce.G[1][ce.H[1]+le],16,he),le>>=yt(ce.G[2][ce.H[2]+le],0,he),yt(ce.G[3][ce.H[3]+le],24,he))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=lt,H=1;break e}H=0}if(!(c=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,c=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,c=0;break t}c=(c=_t(s,v,0,f,p,p,null))&&!g.h;break t}return c?(null!=u?u[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),c}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,u=t.l.ma,c=t.l.width,l=c*s,h=u.ca,f=u.tb+c*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,h,f,l),xt(u,n,n+s,h,f,c),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Rt(){this.ld=this.La=this.dd=this.tc=0}function Tt(){this.Na=this.la=0}function Dt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Rt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Vt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Dt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Tt),this.sb=0,this.wa=Array(new Rt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Rt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Wt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Vt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,u=t.Od;if(u.Rb=!(1&s),u.td=s>>1&7,u.yd=s>>4&1,u.ub=s>>5,3<u.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!u.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var c=t.Kc;if(u.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");c.c=16383&(n[a+4]<<8|n[a+3]),c.Td=n[a+4]>>6,c.i=16383&(n[a+6]<<8|n[a+5]),c.Ud=n[a+6]>>6,a+=7,o-=7,t.za=c.c+15>>4,t.Ub=c.i+15>>4,r.width=c.c,r.height=c.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(u.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,u.ub),a+=u.ub,o-=u.ub,u.Rb&&(c.Ld=P(s),c.Kd=P(s)),c=t.Qa;var l,h=t.Pa;if(e(null!=s),e(null!=c),c.Cb=P(s),c.Cb){if(c.Bb=P(s),P(s)){for(c.Fb=P(s),l=0;4>l;++l)c.Zb[l]=P(s)?m(s,7):0;for(l=0;4>l;++l)c.Lb[l]=P(s)?m(s,6):0}if(c.Bb)for(l=0;3>l;++l)h.jb[l]=P(s)?g(s,8):255}else c.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((c=t.ed).zd=P(s),c.Tb=g(s,6),c.wb=g(s,3),c.Pc=P(s),c.Pc&&P(s)){for(h=0;4>h;++h)P(s)&&(c.vd[h]=m(s,6));for(h=0;4>h;++h)P(s)&&(c.od[h]=m(s,6))}if(t.L=0==c.Tb?0:c.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=l=a,a=l+f,c=f,t.Xb=(1<<g(t.m,2))-1,f<3*(h=t.Xb))n=7;else{for(l+=3*h,c-=3*h,f=0;f<h;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>c&&(d=c),p(t.Jc[+f],n,l,d),l+=d,c-=d,o+=3}p(t.Jc[+h],n,l,c),n=l<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(l=t.m,7),o=P(l)?m(l,4):0,a=P(l)?m(l,4):0,c=P(l)?m(l,4):0,h=P(l)?m(l,4):0,l=P(l)?m(l,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Wt(v+o,127)],b.Sc[1]=ri[Wt(v+0,127)],b.Eb[0]=2*ei[Wt(v+a,127)],b.Eb[1]=101581*ri[Wt(v+c,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Wt(v+h,117)],b.Qc[1]=ri[Wt(v+l,127)],b.lc=v+l}if(!u.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),u=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(c=0;11>c;++c)h=k(s,ci[n][o][a][c])?g(s,8):si[n][o][a][c],u.Wc[n][o].Yb[a][c]=h;for(o=0;17>o;++o)u.Xc[n][o]=u.Wc[n][li[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var u=e[i+1].Yb;if(k(t,s[r+2])){var c=t,l=0;if(k(c,(f=s)[(h=r)+3]))if(k(c,f[h+6])){for(s=0,h=2*(l=k(c,f[h+8]))+(f=k(c,f[h+9+l])),l=0,f=ii[h];f[s];++s)l+=l+k(c,f[s]);l+=3+(8<<h)}else k(c,f[h+7])?(l=7+2*k(c,165),l+=k(c,145)):l=5+k(c,159);else l=k(c,f[h+4])?3+k(c,f[h+5]):2;s=u[2]}else l=1,s=u[1];u=o+ai[i],0>(c=t).b&&_(c);var h,f=c.b,d=(h=c.Ca>>1)-(c.I>>f)>>31;--c.b,c.Ca+=d,c.Ca|=1,c.I-=(h+1&d)<<f,a[u]=((l^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ti[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var u=t.ed;for(s=0;4>s;++s){var c;if(t.Qa.Cb){var l=t.Qa.Lb[s];t.Qa.Fb||(l+=u.Tb)}else l=u.Tb;for(c=0;1>=c;++c){var h=t.gd[s][c],f=l;if(u.Pc&&(f+=u.vd[0],c&&(f+=u.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<u.wb&&((d=4<u.wb?d>>2:d>>1)>9-u.wb&&(d=9-u.wb)),1>d&&(d=1),h.dd=d,h.tc=2*f+d,h.ld=40<=f?2:15<=f?1:0}else h.tc=0;h.La=c}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;u=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((h=u+832+(c=3*(16*s+Ti[t.L])/2*p)+(l=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=h)s=0;else{if(h>t.Vb){if(t.Vb=0,t.Ec=a(h),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=h}h=t.Ec,f=t.Fc,t.Ac=h,t.Bc=f,f+=u,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Tt),t.sb=1,t.wa=m?o(m,Rt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=h,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ti[t.L])*t.R,p=p/2*t.B,t.sa=h,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=c,t.mb=l?h:null,t.nb=l?f:null,e(f+l<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,u),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ce,on=ae,un=oe,cn=se,ln=ue,sn=ie,hn=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=Ve,Ln=We,fi[0]=xe,fi[1]=he,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,hi[0]=ve,hi[1]=de,hi[2]=pe,hi[3]=ge,hi[4]=be,hi[5]=ye,hi[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],u=t.m,c=t;for(o=0;o<c.za;++o){var l=u,h=c,f=h.Ac,d=h.Bc+4*o,p=h.zc,g=h.ya[h.aa+o];if(h.Qa.Bb?g.$b=k(l,h.Pa.jb[0])?2+k(l,h.Pa.jb[2]):k(l,h.Pa.jb[1]):g.$b=0,h.kc&&(g.Ad=k(l,h.Bd)),g.Za=!k(l,145)+0,g.Za){var m=g.Ob,v=0;for(h=0;4>h;++h){var b,y=p[0+h];for(b=0;4>b;++b){y=ui[f[d+b]][y];for(var w=oi[k(l,y[0])];0<w;)w=oi[2*w+k(l,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+h]=y}}else y=k(l,156)?k(l,128)?1:3:k(l,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(l,142)?k(l,114)?k(l,183)?1:3:2:0}if(c.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(c=s,l=(u=t).rb[u.sb-1],f=u.rb[u.sb+u.ja],o=u.ya[u.aa+u.ja],d=u.kc?o.Ad:0)l.la=f.la=0,o.Za||(l.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;l=f,f=c,d=u.Pa.Xc,p=u.ya[u.aa+u.ja],g=u.pb[p.$b];if(h=p.ad,m=0,v=u.rb[u.sb-1],y=b=0,i(h,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=l.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),l.Na=v.Na=(0<S)+0,1<S)an(w,0,h,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)h[m+w]=_}A=1,x=d[0]}var P=15&l.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,h,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=l.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,h,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}l.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<u.L&&(u.wa[u.Y+u.ja]=u.gd[o.$b][o.Za],u.wa[u.Y+u.ja].La|=!d),c.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),u=r,c=1,o=(s=t).D,l=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=l,Or(s,o),c=1,o=(L=s.D).Nb,l=(y=Ti[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-l+w,g=s.qa,h=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,R=U.qa,T=U.ra+8*C*q+8*A,D=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(R,T,D,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(R,T,D,U,q,E,M,C)),0<x&&(hn(O,B,N,E+4,M,C),dn(R,T,D,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(R,T,D,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=u.put){if(L=16*P,P=16*(P+1),I?(u.y=s.sa,u.O=s.ta+w,u.f=s.qa,u.N=s.ra+_,u.ea=s.Ha,u.W=s.Ia+_):(L-=y,u.y=d,u.O=p,u.f=g,u.N=h,u.ea=m,u.W=v),b||(P-=y),P>u.o&&(P=u.o),u.F=null,u.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(u.J=hr(s,u,L,P-L),u.F=s.mb,null==u.F&&0==u.F.length)){c=Jt(s,3,\"Could not decode alpha data.\");break t}L<u.j&&(y=u.j-L,L=u.j,e(!(1&y)),u.O+=s.R*y,u.N+=s.B*(y>>1),u.W+=s.B*(y>>1),null!=u.F&&(u.J+=u.width*y)),L<P&&(u.O+=u.v,u.N+=u.v>>1,u.W+=u.v>>1,null!=u.F&&(u.J+=u.v),u.ka=L-u.j,u.U=u.va-u.v,u.T=P-L,c=u.put(u))}o+1!=s.Ic||b||(n(s.sa,s.ta-l,d,p+16*s.R,l),n(s.qa,s.ra-f,g,h+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!c)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var u=t[e+0]+t[e+8],c=t[e+0]-t[e+8],l=(35468*t[e+4]>>16)-re(t[e+12]),h=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=u+h,s[o+1]=c+l,s[o+2]=c-l,s[o+3]=u-h,o+=4,e++}for(i=o=0;4>i;++i)u=(t=s[o+0]+4)+s[o+8],c=t-s[o+8],l=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,u+(h=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,c+l),te(r,n,2,0,c-l),te(r,n,3,0,u-h),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ue(t,e,r,n){t[e+0]&&cn(t,e+0,r,n),t[e+16]&&cn(t,e+16,r,n+4),t[e+32]&&cn(t,e+32,r,n+128),t[e+48]&&cn(t,e+48,r,n+128+4)}function ce(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],u=t[e+4+i]+t[e+8+i],c=t[e+4+i]-t[e+8+i],l=t[e+0+i]-t[e+12+i];o[0+i]=s+u,o[8+i]=s-u,o[4+i]=l+c,o[12+i]=l-c}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],u=o[1+4*i]+o[2+4*i],c=o[1+4*i]-o[2+4*i],l=t-o[3+4*i],r[n+0]=s+u>>3,r[n+16]=l+c>>3,r[n+32]=s-u>>3,r[n+48]=l-c>>3,n+=64}function le(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,u=a,c=o+t[e-1];for(s=0;s<r;++s)t[e+s]=u[c+t[i+s]];e+=32}}function he(t,e){le(t,e,4)}function fe(t,e){le(t,e,8)}function de(t,e){le(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(u,s,o),t[e+3+0]=Ne(c,u,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],u=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,u),t[e+3+96]=Ne(s,u,u)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+u+1>>1,t[e+3+0]=u+c+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,u),t[e+3+32]=Ne(s,u,c)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],u=t[e+6-32],c=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,u),t[e+3+96]=Ne(s,u,c)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],u=t[e+1-32],c=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,u,c),t[e+2+0]=Ne(o,s,u),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function Re(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Te(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function De(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],u=t[e+0],c=t[e+r],l=t[e+2*r],h=t[e+3*r];return 4*Mn[255+s-u]+Mn[255+o-c]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+h-l]<=i&&Mn[255+l-c]<=i&&Mn[255+c-u]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n,r,i)&&Re(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n*r,1,i)&&Re(t,e+n*r,1)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function We(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Te(t,e,r,s))Re(t,e,r);else{var u=t,c=e,l=r,h=u[c-2*l],f=u[c-l],d=u[c+0],p=u[c+l],g=u[c+2*l],m=27*(b=jn[1020+3*(d-f)+jn[1020+h-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;u[c-3*l]=Bn[255+u[c-3*l]+b],u[c-2*l]=Bn[255+h+v],u[c-l]=Bn[255+f+m],u[c+0]=Bn[255+d-m],u[c+l]=Bn[255+p-v],u[c+2*l]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Te(t,e,r,s))Re(t,e,r);else{var u=t,c=e,l=r,h=u[c-l],f=u[c+0],d=u[c+l],p=On[112+((g=3*(f-h))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;u[c-2*l]=Bn[255+u[c-2*l]+m],u[c-l]=Bn[255+h+g],u[c+0]=Bn[255+f-p],u[c+l]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ut,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new h}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function ur(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function cr(t,e,r,n,i,a,o){var s;if(null==t)ur(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function lr(t,e,r,n,i,a,o){if(null==t)ur(null,null,r,n,i,a,o);else{var s,u=t[e+0],c=u,l=u;for(s=0;s<o;++s)c=l+(u=t[e+s])-c,l=r[n+s]+(-256&c?0>c?0:255:c)&255,c=u,i[a+s]=l}}function hr(t,r,i,o){var s=r.width,u=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>u)return null;if(!t.Cc){if(null==t.ga){var c;if(t.ga=new sr,(c=null==t.ga)||(c=r.width*r.o,e(0==t.Gb.length),t.Gb=a(c),t.Uc=0,null==t.Gb?c=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,c=1),c=!c),!c){c=t.ga;var l=t.Fa,h=t.P,f=t.qc,d=t.mb,p=t.nb,g=h+1,m=f-1,b=c.l;if(e(null!=l&&null!=d&&null!=r),mi[0]=null,mi[1]=ur,mi[2]=cr,mi[3]=lr,c.ca=d,c.tb=p,c.c=r.width,c.i=r.height,e(0<c.c&&0<c.i),1>=f)r=0;else if(c.$a=l[h+0]>>0&3,c.Z=l[h+0]>>2&3,c.Lc=l[h+0]>>4&3,h=l[h+0]>>6&3,0>c.$a||1<c.$a||4<=c.Z||1<c.Lc||h)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=c,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,c.$a)t:{e(1==c.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=c),c.mc=r,r.c=c.c,r.i=c.i,r.l=c.l,r.l.ma=c,r.l.width=c.c,r.l.height=c.i,r.a=0,v(r.m,l,g,m),!It(c.c,c.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(c.ic=1,l=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(l),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(c.ic=0,r=Ft(r,c.c)),!r)break e;r=1;break t}c.mc=null,r=0}else r=m>=c.c*c.i;c=!r}if(c)return null;1!=t.ga.Lc?t.Ga=0:o=u-i}e(null!=t.ga),e(i+o<=u);t:{if(r=(l=t.ga).c,u=l.l.o,0==l.$a){if(g=t.rc,m=t.Vc,b=t.Fa,h=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(h<=t.P+t.qc),0!=l.Z)for(e(null!=mi[l.Z]),c=0;c<o;++c)mi[l.Z](g,m,b,h,f,d,r),g=f,m=d,d+=r,h+=r;else for(c=0;c<o;++c)n(f,d,b,h,r),g=f,m=d,d+=r,h+=r;t.rc=g,t.Vc=m}else{if(e(null!=l.mc),r=i+o,e(null!=(c=l.mc)),e(r<=c.i),c.C>=r)r=1;else if(l.ic||mr(),l.ic){l=c.V,g=c.Ba,m=c.c;var y=c.i,w=(b=1,h=c.$/m,f=c.$%m,d=c.m,p=c.s,c.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,h):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,h)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))l[g+w]=y,++w,++f>=m&&(f=0,++h<=r&&!(h%16)&&St(c,h));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)l[g+w+P]=l[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++h<=r&&!(h%16)&&St(c,h);w<L&&f&x&&(_=wt(p,f,h))}e(d.h==A(d))}St(c,h>r?r:h);break e}!b||d.h&&w<N?(b=0,c.a=d.h?5:3):c.$=w,r=b}else r=_t(c,c.V,c.Ba,c.c,c.i,r,Ct);if(!r){o=0;break t}}i+o>=u&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,u=e+(r?1:0),c=t,l=e+(r?0:3);for(o=0;o<n;++o){var h=c[l+4*o];255!=h&&(h*=32897,s[u+4*o+0]=s[u+4*o+0]*h>>23,s[u+4*o+1]=s[u+4*o+1]*h>>23,s[u+4*o+2]=s[u+4*o+2]*h>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(c=t[e+2*a+1]),u=4369*s,c=(240&c|c>>4)*u>>16;t[e+2*a+0]=(240&o|o>>4)*u>>16&240|(15&o|o<<4)*u>>16>>4&15,t[e+2*a+1]=240&c|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var u,c,l=255;for(c=0;c<i;++c){for(u=0;u<n;++u){var h=t[e+u];a[o+4*u]=h,l&=h}e+=r,o+=s}return 255!=l}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[u+0]|c[l+0]<<16,A=h[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[u+w]|c[l+w]<<16,_=h[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Rn]=yi,vi[Tn]=Ni,vi[Dn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Vn]=Ni,vi[Wn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Wt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,u,c,l){for(var h=c+(-2&l)*n;c!=h;)r(t[e+0],i[a+0],o[s+0],u,c),r(t[e+1],i[a+0],o[s+0],u,c+n),e+=2,++a,++s,c+=2*n;1&l&&r(t[e+0],i[a+0],o[s+0],u,c)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:cn(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,u=t.oc,c=t.pc+40,l=t.oc,h=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)u[c+32*r-1]=129;for(r=0;8>r;++r)l[h+32*r-1]=129,f[d+32*r-1]=129;for(0<o?u[c-1-32]=l[h-1-32]=f[d-1-32]=129:(i(u,c-32-1,127,21),i(l,h-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(u,c+32*r-4,u,c+32*r+12,4);for(r=-1;8>r;++r)n(l,h+32*r-4,l,h+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(u,c-32,g[m].y,0,16),n(l,h-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=u,w=c-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=u,w=c+Ri[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),hi[y](u,c),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,u,c+Ri[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](l,h),di[y](f,d),b=v,y=l,w=h,255&(p=r>>0)&&(170&p?un(b,256,y,w):ln(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?un(v,320,p,b):ln(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,u,c+480,16),n(g[m].f,0,l,h+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,u,c+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,l,h+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,u,c,l){var h=[0],f=[0],d=0,p=null!=l?l.kd:0,g=null!=l?l:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=h,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=u&&(u[0]=b),null!=c&&(c[0]=0),u=h[0],m=f[0],d&&b&&null==l){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==c||b||(c[0]=g.xa?2:1),u=[u],m=[m],g.xa){if(5>i){y=7;break}c=u,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=c&&(c[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}c=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(u&&(u[0]=b),c&&(c[0]=t),t=1))}if(!t)return 3;if(u=u[0],m=m[0],d&&(h[0]!=u||f[0]!=m))return 3;null!=l&&(l[0]=g,l.offset=n-l.w,e(4294967286>n-l.w),e(l.offset==l.ha-i));break}return 0==y||7==y&&d&&null==l?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=u),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,u=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,u=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=u||a+s>n||o+u>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+u,e.U=s,e.T=u,e.da=null!=t&&0<t.da,e.da){if(!E(s,u,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,u=-2&r.j;if(0>s||0>u||0>=i||0>=o||s+i>t||u+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var c=n.width,l=n.height;if(t=n.S,0>=c||0>=l||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var h=(u=c*zi[t])*l;if(11>t||(o=(l+1)/2*(e=(c+1)/2),12==t&&(s=(i=c)*l)),null==(l=a(h+2*o+s))){t=1;break t}n.sd=l,11>t?((c=n.f.RGBA).eb=l,c.fb=0,c.A=u,c.size=h):((c=n.f.kb).y=l,c.O=0,c.fa=u,c.Fd=h,c.f=l,c.N=0+h,c.Ab=e,c.Cd=o,c.ea=l,c.W=0+h+o,c.Db=e,c.Ed=o,12==t&&(c.F=l,c.J=0+h+2*o),c.Tc=s,c.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(u=Math.abs(t.A))*(s-1)+o<=t.size,e&=u>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,u=(o+1)/2,h=(s+1)/2,c=Math.abs(t.fa);l=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=c*(s-1)+o<=t.Fd,e&=l*(h-1)+u<=t.Cd,e=(e&=f*(h-1)+u<=t.Ed)&c>=o&l>=u&f>=u,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Rr=64,Tr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Dr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];T(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=V(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+V(n>>16&255,t>>16&255,e>>16&255)+V(n>>8&255,t>>8&255,e>>8&255)+V(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Vr=t.PredictorAdd0;t.PredictorAdd1=W,T(\"Predictor2\",\"PredictorAdd2\"),T(\"Predictor3\",\"PredictorAdd3\"),T(\"Predictor4\",\"PredictorAdd4\"),T(\"Predictor5\",\"PredictorAdd5\"),T(\"Predictor6\",\"PredictorAdd6\"),T(\"Predictor7\",\"PredictorAdd7\"),T(\"Predictor8\",\"PredictorAdd8\"),T(\"Predictor9\",\"PredictorAdd9\"),T(\"Predictor10\",\"PredictorAdd10\"),T(\"Predictor11\",\"PredictorAdd11\"),T(\"Predictor12\",\"PredictorAdd12\"),T(\"Predictor13\",\"PredictorAdd13\");var Wr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,un,cn,ln,hn,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Rn=2,Tn=3,Dn=4,Un=5,zn=6,Hn=7,Vn=8,Wn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ui=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ci=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],li=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],hi=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Ri=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ti=[0,2,8],Di=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,u=new ot;s.ba=u,u.S=o,u.width=[u.width],u.height=[u.height];var c=u.width,l=u.height,h=new st;if(null==h||null==t)var f=2;else e(null!=h),f=Br(t,r,n,h.width,h.height,h.Pd,h.Qd,h.format,null);if(0!=f?c=0:(null!=c&&(c[0]=h.width[0]),null!=l&&(l[0]=h.height[0]),c=1),c){u.width=u.width[0],u.height=u.height[0],null!=i&&(i[0]=u.width),null!=a&&(a[0]=u.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Tn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(c=0>(c=n.Md)?0:100<c?255:255*c/100)){for(l=h=0;4>l;++l)12>(f=a.pb[l]).lc&&(f.ia=c*Di[0>f.lc?0:f.lc]>>3),h|=f.ia;h&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?u.f.RGBA.eb:u.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]});var h=[0],f=[0],d=[],p=new $t,g=t,m=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,h;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+c(t,g);g+=3;v.canvas_height=1+c(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(h=g)+0]<<0|s[h+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*c(t,e),e+=3,v.offset_y=2*c(t,e),e+=3,v.width=1+c(t,e),e+=3,v.height=1+c(t,e),e+=3,v.duration=c(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(g,0);m.response=g,m.rgbaoutput=!0,m.dataurl=!1;var v=m.header?m.header:null,b=m.frames?m.frames:null;if(v){v.loop_counter=v.loop_count,h=[v.canvas_height],f=[v.canvas_width];for(var y=0;y<b.length&&0!=b[y].blend;y++);}var w=b[0],N=p.WebPDecodeRGBA(g,w.src_off,w.src_size,f,h);w.rgba=N,w.imgwidth=f[0],w.imgheight=h[0];for(var L=0;L<f[0]*h[0]*4;L++)d[L]=N[L];return this.width=f,this.height=h,this.data=d,this}!function(e){var r=function(){return\"function\"==typeof t},n=function(r,n,a,l){var h=4,f=s;switch(l){case e.image_compression.FAST:h=1,f=o;break;case e.image_compression.MEDIUM:h=6,f=u;break;case e.image_compression.SLOW:h=9,f=c}r=i(r,n,a,f);var d=t(r,{level:h});return e.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,u=new Uint8Array(t.length+s),c=h(),l=0;l<s;l+=1){if(o=l*e,i=t.subarray(o,o+e),n)u.set(n(i,r,a),o+l);else{for(var d,p=c.length,g=[];d<p;d+=1)g[d]=c[d](i,r,a);var m=f(g.concat());u.set(g[m],o+l)}a=i}return u},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},u=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},c=function(t,e,r){var n,i,a,o,s=[],u=t.length;s[0]=4;for(var c=0;c<u;c+=1)n=t[c-e]||0,i=r&&r[c]||0,a=r&&r[c-e]||0,o=l(n,i,a),s[c+1]=t[c]-o+256&255;return s},l=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},h=function(){return[a,o,s,u,c]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};e.processPNG=function(t,i,a,o){var s,u,c,l,h,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.__addimage__.isArrayBufferView(t)){if(t=(c=new Yt(t)).imgData,u=c.bits,s=c.colorSpace,h=c.colors,-1!==[4,6].indexOf(c.colorType)){if(8===c.bits){g=(p=32==c.pixelBitlength?new Uint32Array(c.decodePixels().buffer):16==c.pixelBitlength?new Uint16Array(c.decodePixels().buffer):new Uint8Array(c.decodePixels().buffer)).length,v=new Uint8Array(g*c.colors),m=new Uint8Array(g);var x,S=c.pixelBitlength-c.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=c.bits;m[w]=y>>>x&255}}if(16===c.bits){g=(p=new Uint32Array(c.decodePixels().buffer)).length,v=new Uint8Array(g*(32/c.pixelBitlength)*c.colors),m=new Uint8Array(g*(32/c.pixelBitlength)),b=c.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;u=8}o!==e.image_compression.NONE&&r()?(t=n(v,c.width*c.colors,c.colors,o),d=n(m,c.width,1,o)):(t=v,d=m,L=void 0)}if(3===c.colorType&&(s=this.color_spaces.INDEXED,f=c.palette,c.transparency.indexed)){var P=c.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))l=[P.indexOf(0)];else if(k!==g){for(p=c.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,c.width,1)}}var I=function(t){var r;switch(t){case e.image_compression.FAST:r=11;break;case e.image_compression.MEDIUM:r=13;break;case e.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+h+\" /BitsPerComponent \"+u+\" /Columns \"+c.width,(this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t))&&(t=this.__addimage__.arrayBufferToBinaryString(t)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:t,index:i,filter:L,decodeParameters:A,transparency:l,palette:f,sMask:d,predictor:I,width:c.width,height:c.height,bitsPerComponent:u,colorSpace:s}}}}(O.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Jt(e),o=a.width,s=a.height,u=[];a.decodeAndBlitFrameRGBA(0,u);var c={data:u,width:o,height:s},l=new Kt(100).encode(c,100);return t.processJPEG.call(this,l,r,n,i)},t.processGIF87A=t.processGIF89A}(O.API),Zt.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},Zt.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){i.log(\"bit decode error:\"+t)}},Zt.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var u=this.palette[a>>7-s&1];this.data[o+4*s]=u.blue,this.data[o+4*s+1]=u.green,this.data[o+4*s+2]=u.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},Zt.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,u=15&a,c=this.palette[s];if(this.data[o]=c.blue,this.data[o+1]=c.green,this.data[o+2]=c.red,this.data[o+3]=255,2*i+1>=this.width)break;c=this.palette[u],this.data[o+4]=c.blue,this.data[o+4+1]=c.green,this.data[o+4+2]=c.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},Zt.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},Zt.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,u=(a>>10&e)/e*255|0,c=a>>15?255:0,l=n*this.width*4+4*i;this.data[l]=u,this.data[l+1]=s,this.data[l+2]=o,this.data[l+3]=c}this.pos+=t}},Zt.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,u=(o>>5&r)/r*255|0,c=(o>>11)/e*255|0,l=i*this.width*4+4*a;this.data[l]=c,this.data[l+1]=u,this.data[l+2]=s,this.data[l+3]=255}this.pos+=t}},Zt.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},Zt.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},Zt.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new Zt(e,!1),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new Kt(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(O.API),$t.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new $t(e,!1),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new Kt(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(O.API),O.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"FYRO Macedonian\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},\n/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nzt=O.API,Ht=zt.getCharWidthsArray=function(t,e){var r,n,i=(e=e||{}).font||this.internal.getFont(),a=e.fontSize||this.internal.getFontSize(),o=e.charSpace||this.internal.getCharSpace(),s=e.widths?e.widths:i.metadata.Unicode.widths,u=s.fof?s.fof:1,c=e.kerning?e.kerning:i.metadata.Unicode.kerning,l=c.fof?c.fof:1,h=!1!==e.doKerning,f=0,d=t.length,p=0,g=s[0]||u,m=[];for(r=0;r<d;r++)n=t.charCodeAt(r),\"function\"==typeof i.metadata.widthOfString?m.push((i.metadata.widthOfGlyph(i.metadata.characterToGlyph(n))+o*(1e3/a)||0)/1e3):(f=h&&\"object\"==typeof c[n]&&!isNaN(parseInt(c[n][p],10))?c[n][p]/l:0,m.push((s[n]||g)/u+f)),p=n;return m},Vt=zt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return zt.processArabic&&(t=zt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Ht.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Wt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var u=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(u,a)),s=0,u=a),s+=e[a],a++;return u!==a&&i.push(t.slice(u,a)),i},Gt=function(t,e,r){r||(r={});var n,i,a,o,s,u,c,l=[],h=[l],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Ht.apply(this,[\" \",r])[0];if(u=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(u).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,u=Vt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],u&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Ht.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Wt.apply(this,[n,i,e-(f+d),e]),l.push(s.shift()),l=[s.pop()];s.length;)h.push([s.shift()]);p=i.slice(n.length-(l[0]?l[0].length:0)).reduce((function(t,e){return t+e}),0)}else l=[n];h.push(l),f=p+u,d=m}else l.push(n),f+=d+p,d=m}return c=u?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},h.map(c)},zt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,u,c=[];for(s=0,u=n.length;s<u;s++)c=c.concat(Gt.apply(this,[n[s],o,a]));return c},\n/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){t.__fontmetrics__=t.__fontmetrics__||{};for(var e=\"klmnopqrstuvwxyz\",r={},n={},i=0;i<e.length;i++)r[e[i]]=\"0123456789abcdef\"[i],n[\"0123456789abcdef\"[i]]=e[i];var a=function(t){return\"0x\"+parseInt(t,10).toString(16)},o=t.__fontmetrics__.compress=function(t){var e,r,i,s,u=[\"{\"];for(var c in t){if(e=t[c],isNaN(parseInt(c,10))?r=\"'\"+c+\"'\":(c=parseInt(c,10),r=(r=a(c).slice(2)).slice(0,-1)+n[r.slice(-1)]),\"number\"==typeof e)e<0?(i=a(e).slice(3),s=\"-\"):(i=a(e).slice(2),s=\"\"),i=s+i.slice(0,-1)+n[i.slice(-1)];else{if(\"object\"!=typeof e)throw new Error(\"Don't know what to do with value type \"+typeof e+\".\");i=o(e)}u.push(r+i)}return u.push(\"}\"),u.join(\"\")},s=t.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,n,i,a,o={},s=1,u=o,c=[],l=\"\",h=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(c.push([u,i]),u={},i=void 0):\"}\"==a?((n=c.pop())[0][n[1]]=u,i=void 0,u=n[0]):\"-\"==a?s=-1:void 0===i?r.hasOwnProperty(a)?(l+=r[a],i=parseInt(l,16)*s,s=1,l=\"\"):l+=a:r.hasOwnProperty(a)?(h+=r[a],u[i]=parseInt(h,16)*s,s=1,i=void 0,h=\"\"):h+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:s(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},c={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":s(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":s(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:s(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:s(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":s(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":s(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};t.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=c.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(O.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(O),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(r.canvg?Promise.resolve(r.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}O.API.addSvgAsImage=function(t,r,n,a,o,s,u,c){if(isNaN(r)||isNaN(n))throw i.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(a)||isNaN(o))throw i.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var l=document.createElement(\"canvas\");l.width=a,l.height=o;var h=l.getContext(\"2d\");h.fillStyle=\"#fff\",h.fillRect(0,0,l.width,l.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(h,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(l.toDataURL(\"image/jpeg\",1),r,n,a,o,u,c)}))}}(),O.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},O.API.viewerPreferences=function(t,e){var r;t=t||{},e=e||!1;var n,i,a,o={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},s=Object.keys(o),u=[],c=0,l=0,h=0;function f(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(o)),this.internal.viewerpreferences.isSubscribed=!1),r=this.internal.viewerpreferences.configuration,\"reset\"===t||!0===e){var d=s.length;for(h=0;h<d;h+=1)r[s[h]].value=r[s[h]].defaultValue,r[s[h]].explicitSet=!1}if(\"object\"==typeof t)for(i in t)if(a=t[i],f(s,i)&&void 0!==a){if(\"boolean\"===r[i].type&&\"boolean\"==typeof a)r[i].value=a;else if(\"name\"===r[i].type&&f(r[i].valueSet,a))r[i].value=a;else if(\"integer\"===r[i].type&&Number.isInteger(a))r[i].value=a;else if(\"array\"===r[i].type){for(c=0;c<a.length;c+=1)if(n=!0,1===a[c].length&&\"number\"==typeof a[c][0])u.push(String(a[c]-1));else if(a[c].length>1){for(l=0;l<a[c].length;l+=1)\"number\"!=typeof a[c][l]&&(n=!1);!0===n&&u.push([a[c][0]-1,a[c][1]-1].join(\" \"))}r[i].value=\"[\"+u.join(\" \")+\"]\"}else r[i].value=r[i].defaultValue;r[i].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in r)!0===r[t].explicitSet&&(\"name\"===r[t].type?e.push(\"/\"+t+\" /\"+r[t].value):e.push(\"/\"+t+\" \"+r[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=r,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(O.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream,s=e.pdfEscapeWithNeededParanthesis;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var u=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),l=\"\",h=0;h<c.length;h++)l+=String.fromCharCode(c[h]);var f=a();o({data:l,addLength1:!0,objectId:f}),i(\"endobj\");var d=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:d}),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+s(r.fontName)),i(\"/FontFile2 \"+f+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var g=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+s(r.fontName)),i(\"/FontDescriptor \"+p+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(u)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+d+\" 0 R\"),i(\"/BaseFont /\"+s(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+g+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream,s=e.pdfEscapeWithNeededParanthesis;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var u=r.metadata.rawData,c=\"\",l=0;l<u.length;l++)c+=String.fromCharCode(u[l]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+s(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var p=0;p<r.metadata.hmtx.widths.length;p++)r.metadata.hmtx.widths[p]=parseInt(r.metadata.hmtx.widths[p]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+f+\" 0 R/BaseFont/\"+s(r.fontName)+\"/FontDescriptor \"+d+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},u=s.pdfEscape,c=s.activeFontKey,l=s.fonts,h=c,f=\"\",d=0,p=\"\",g=l[h].encoding;if(\"Identity-H\"!==l[h].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,h=c,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)l[h].metadata.hasOwnProperty(\"cmap\")&&(e=l[h].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&l[h].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(h.slice(1))<14||\"WinAnsiEncoding\"===g?m=u(f,h).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,l[h])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(O),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(O.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,u,c=e,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"â…\",\"â†\",\"â…\",\"â½\",\"â¾\",\"â½\",\"â‚\",\"â‚Ž\",\"â‚\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"ï¹™\",\"﹚\",\"ï¹™\",\"ï¹›\",\"﹜\",\"ï¹›\",\"ï¹\",\"﹞\",\"ï¹\",\"﹤\",\"ï¹¥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?c[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var u,c,l,h,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(u=o[s-1])&&\"AN\"!==u||\"EN\"!==(c=e[s+1])&&\"AN\"!==c?f=\"N\":m&&(c=\"AN\"),f=c===u?c:\"N\";break;case\"ES\":f=\"EN\"===(u=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(l=s+1,h=e.length;l<h&&\"ET\"===e[l];)l++;f=l<h&&\"EN\"===e[l]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(h=e.length,l=s+1;l<h&&\"NSM\"===e[l];)l++;if(l<h){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(u=e[l],p&&(\"R\"===u||\"AL\"===u)){f=\"R\";break}}}f=s<1||\"B\"===(u=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,u,c,d=-1,p=t.length,g=0,y=[],N=v?h:l,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(c=g,y[s]=w(t,L,y,s),a=240&(g=N[c][f[y[s]]]),g&=15,e[s]=u=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=u;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=u}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,u,c,l=e.length,h=0;h<l;){if(i[h]>=t){for(u=h+1;u<l&&i[u]>=t;)u++;for(c=h,s=u-1;c<s;c++,s--)o=e[c],e[c]=e[s],e[s]=o,n&&(o=n[c],n[c]=n[s],n[s]=o);h=u}h++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&u)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=u;a?(v=1,t=x(t,e,r),v=0,u=!1,t=x(t,e,r),u=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,u=!1,t=x(t,e,r),u=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,u=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(O),O.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new te(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new ye(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ee(this.contents),this.head=new ie(this),this.name=new he(this),this.cmap=new oe(this),this.toUnicode={},this.hhea=new se(this),this.maxp=new fe(this),this.hmtx=new de(this),this.post=new ce(this),this.os2=new ue(this),this.loca=new be(this),this.glyf=new ge(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var Qt,te=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ee=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,u,c,l,h,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),l=16*Math.floor(Math.log(f)/s),a=Math.floor(l/s),c=16*f-l,(n=new te).writeInt(this.scalarType),n.writeShort(f),n.writeShort(l),n.writeShort(a),n.writeShort(c),i=16*f,u=n.pos+i,o=null,d=[],e)for(h=e[p],n.writeString(p),n.writeInt(t(h)),n.writeInt(u),n.writeInt(h.length),d=d.concat(h),\"head\"===p&&(o=u),u+=h.length;u%4;)d.push(0),u++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=pe.call(t);t.length%4;)t.push(0);for(n=new te(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),re={}.hasOwnProperty,ne=function(t,e){for(var r in e)re.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};Qt=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var ie=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new te).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ae=function(){function t(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),l=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),h=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===c[s]?a=r+u[s]:0!==(a=o[c[s]/2+(r-d)-(h-s)]||0)&&(a+=u[s]),this.codeMap[r]=65535&a}t.pos=l}return t.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,R,T,D,U,z,H,V,W,G,Y;switch(I=new te,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[V=t[n=a[F]]]&&(v[V]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],l=[],b=0,v={},r={},m=u=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===u||(m&&l.push(m),P.push(n),u=o),m=n;for(m&&l.push(m),l.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),h=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],c=l[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=c?O<=c:O>=c;n=_<=c?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(h),I.writeUInt16(L),z=0,q=l.length;z<q;z++)n=l[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,R=P.length;H<R;H++)n=P[H],I.writeUInt16(n);for(W=0,T=s.length;W<T;W++)o=s[W],I.writeUInt16(o);for(G=0,D=N.length;G<D;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),oe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ae(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ae.encode(t,e),(n=new te).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),ce=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),le=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,u,c,l,h;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=c=0,l=r.length;c<l;i=++c)n=r[i],t.pos=n.offset,u=t.readString(n.length),a=new le(u,n),null==s[h=n.nameID]&&(s[h]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),de=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),pe=[].slice,ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,u,c,l;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new te(e.read(n))).readShort(),u=o.readShort(),l=o.readShort(),s=o.readShort(),c=o.readShort(),this.cache[t]=-1===a?new ve(o,u,l,s,c):new me(o,a,u,l,s,c),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),me=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),ve=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new te(pe.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var u=new Array(4*r.length),c=0;c<r.length;++c)u[4*c+3]=255&r[c],u[4*c+2]=(65280&r[c])>>8,u[4*c+1]=(16711680&r[c])>>16,u[4*c]=(4278190080&r[c])>>24;return u},e}(),ye=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m;for(n in r=oe.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in h=r.maxGlyphID,a)d in f||(f[d]=h++);return c=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),l=Object.keys(c).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=l.length;t<e;t++)o=l[t],r.push(c[o]);return r}(),i=this.font.glyf.encode(a,p,f),u=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:u,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();O.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default O;export{Lt as AcroForm,wt as AcroFormAppearance,dt as AcroFormButton,vt as AcroFormCheckBox,ct as AcroFormChoiceField,ht as AcroFormComboBox,ft as AcroFormEditBox,lt as AcroFormListBox,yt as AcroFormPasswordField,pt as AcroFormPushButton,gt as AcroFormRadioButton,bt as AcroFormTextField,I as GState,C as ShadingPattern,j as TilingPattern,O as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { AuctionDetail, AuctionLocation } from '../../../models';\r\nimport constants from '../../../utility/constants';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { AuthenticationService } from './../../../services/authentication.service';\r\nimport messages from '../../../utility/messages';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { MatMenu } from '@angular/material/menu';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-view-auction',\r\n templateUrl: './view-auction.component.html',\r\n styleUrls: ['./view-auction.component.css'],\r\n})\r\nexport class ViewAuctionComponent implements OnInit {\r\n @ViewChild('listingMenu') listingMenu: MatMenu;\r\n\r\n modalRef: BsModalRef;\r\n submitLoader: boolean = false;\r\n // one step back\r\n returnUrl: string = '../';\r\n upcomingAuctions: any;\r\n approveCommonForm: FormGroup;\r\n disableCommonRegistrationButton: boolean = true;\r\n lots: Array<any>;\r\n pageNumber: number = 1;\r\n totalLots: number;\r\n pageSize: number = 10;\r\n currentUrl: string = '../';\r\n editUrl: string = '../';\r\n auctionCode: string;\r\n forAdmin: boolean = true;\r\n auctionStatuses = constants.common.auctionStatus;\r\n registrationFormat = constants.common.saletypeRegistrationFormat;\r\n displaySection = constants.common.displaySection;\r\n roles = constants.common.role;\r\n isLoading: boolean = true;\r\n\r\n showMatMenu: boolean = true;\r\n private subscriptions: Array<Subscription> = [];\r\n imagesSlider = {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n fade: true,\r\n asNavFor: '.custom-lot .thumbs',\r\n };\r\n\r\n thumbnailsSlider = {\r\n slidesToShow: 8,\r\n slidesToScroll: 1,\r\n asNavFor: '.custom-lot .image-slides',\r\n arrows: false,\r\n dots: false,\r\n centerMode: true,\r\n focusOnSelect: true,\r\n };\r\n\r\n imagesSlider2 = {\r\n adaptiveHeight: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n fade: true,\r\n asNavFor: '.view-more-slider .thumbs',\r\n };\r\n\r\n thumbnailsSlider2 = {\r\n slidesToShow: 8,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n dots: false,\r\n centerMode: true,\r\n focusOnSelect: true,\r\n asNavFor: '.view-more-slider .image-slides2',\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 5,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n openModalLotImages(template: TemplateRef<any>) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup lot-images-slider modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n openLink(url) {\r\n window.open(url, '_blank');\r\n }\r\n\r\n openLotsLink(url) {\r\n window.open(url + '#check', '_blank');\r\n }\r\n\r\n openModalViewMore(template3: TemplateRef<any>) {\r\n this.modalRef = this.modalService.show(\r\n template3,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup lot-images-slider modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n showLocationDetail(locationId: number, template: TemplateRef<any>) {\r\n this.location = this.auctionDetail.auctionLocations.find(\r\n (item) => item.id == locationId\r\n );\r\n\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup location-details modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n openModalLocationDetails(template2: TemplateRef<any>) {\r\n this.modalRef = this.modalService.show(\r\n template2,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup location-details modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n displayedColumns: string[] = ['locationName', 'address', 'lot', 'status'];\r\n\r\n displayedColumns2: string[] = [\r\n 'lotNum',\r\n 'lotDescription',\r\n 'location',\r\n 'startingDate',\r\n 'lotEndDate',\r\n 'currentBid',\r\n 'lotImages',\r\n ];\r\n\r\n displayedColumns3: string[] = ['locationName', 'address', 'lot', 'status'];\r\n\r\n // step number\r\n stepActive = 1;\r\n\r\n showView: boolean = false;\r\n\r\n auctionDetail: AuctionDetail = null;\r\n auctionId: number;\r\n location: AuctionLocation = null;\r\n websiteUrl: string = environment.websiteUrl;\r\n\r\n constructor(\r\n private auctionService: AuctionService,\r\n private modalService: BsModalService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private authenticateService: AuthenticationService\r\n ) {\r\n this.currentUrl = router.url;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((params) => {\r\n this.auctionId = +params['id'];\r\n this.auctionCode = params['auctionCode'];\r\n\r\n if (!isNaN(this.auctionId)) {\r\n this.forAdmin = true;\r\n this.getAuction(this.auctionId);\r\n }\r\n\r\n if (this.auctionCode != undefined) {\r\n this.forAdmin = false;\r\n this.getAuctionByCode();\r\n }\r\n });\r\n\r\n this.approveCommonForm = new FormGroup({\r\n auctionId: new FormControl(''),\r\n syncWithAuctionId: new FormControl(''),\r\n });\r\n }\r\n\r\n private checkMenu() {\r\n const allitems = this.listingMenu._allItems.changes.subscribe((res: any) => {\r\n this.showMatMenu = res?.length > 0;\r\n });\r\n this.subscriptions.push(allitems);\r\n }\r\n\r\n goToEdit() {\r\n this.router.navigate(['edit'], {\r\n relativeTo: this.route,\r\n });\r\n }\r\n\r\n goToBack(numberOfStepsBack: number = 1) {\r\n this.route.queryParams.subscribe((res) => {\r\n let param = res['returnTo'];\r\n if (param) {\r\n this.router.navigateByUrl(param);\r\n return;\r\n } else {\r\n let routeFragments = this.router.url.split('/');\r\n let returnUrl = routeFragments\r\n .splice(0, routeFragments.length - numberOfStepsBack)\r\n .join('/');\r\n if (this.auctionDetail.auctionStatus == 1) {\r\n this.router.navigate([returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'live' },\r\n });\r\n } else if (this.auctionDetail.auctionStatus == 2) {\r\n this.router.navigate([returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'upcoming' },\r\n });\r\n } else if (this.auctionDetail.auctionStatus == 4) {\r\n this.router.navigate([returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'recent' },\r\n });\r\n } else {\r\n this.router.navigate([returnUrl], {\r\n relativeTo: this.route,\r\n queryParams: { type: 'pending' },\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAuction(auctionId: number) {\r\n this.isLoading = true;\r\n const aucDetails = this.auctionService.getAuctionDetail(auctionId).subscribe(\r\n (response) => {\r\n this.auctionDetail = response;\r\n this.checkMenu();\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.isLoading = false;\r\n this.goToBack();\r\n }\r\n );\r\n this.subscriptions.push(aucDetails);\r\n }\r\n\r\n getAuctionByCode() {\r\n const detailCode = this.auctionService.getAuctionDetailByCode(this.auctionCode).subscribe(\r\n (response) => {\r\n this.auctionDetail = response;\r\n this.showView = true;\r\n },\r\n (err) => {\r\n this.showView = true;\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.goToBack();\r\n }\r\n );\r\n this.subscriptions.push(detailCode);\r\n }\r\n\r\n auctionStartRegistration(id) {\r\n this.submitLoader = true;\r\n const startRegistration = this.auctionService.auctionStartRegistration({ id: id }).subscribe(() => {\r\n this.getAuction(id);\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n this.toastr.success(\r\n messages.auctionListing.auctionStartRegistration,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(startRegistration);\r\n }\r\n\r\n closeModal() {\r\n this.modalService.hide();\r\n }\r\n\r\n auctionStopRegistration(id) {\r\n this.submitLoader = true;\r\n const stopRegister = this.auctionService.auctionStopRegistration({ id: id }).subscribe(() => {\r\n this.getAuction(id);\r\n this.submitLoader = false;\r\n this.modalService.hide();\r\n this.toastr.success(\r\n messages.auctionListing.auctionStopRegistration,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(stopRegister);\r\n }\r\n markItFeatured(id) {\r\n let formData = new FormGroup({\r\n id: new FormControl(''),\r\n updatedBy: new FormControl(''),\r\n });\r\n formData.patchValue({ id: id });\r\n formData.patchValue({\r\n updatedBy: this.authenticateService.currentUserValue()?.user?.id,\r\n });\r\n const mfeature = this.auctionService.markItFeatured(formData.value).subscribe(() => {\r\n this.getAuction(id);\r\n this.toastr.success(\r\n messages.auctionListing.markItFeatured,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(mfeature);\r\n }\r\n markAsSold(id) {\r\n const msold = this.auctionService.markAsSold({ id: id }).subscribe(() => {\r\n this.getAuction(id);\r\n this.toastr.success(\r\n messages.auctionListing.markItFeatured,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(msold);\r\n }\r\n stopSyncRegistrationWithOtherAuction(id) {\r\n const stopsync = this.auctionService\r\n .stopSyncRegistrationWithOtherAuction({ id: id })\r\n .subscribe(() => {\r\n this.getAuction(id);\r\n this.toastr.success(\r\n messages.auctionListing.stopSyncRegistrationWithOtherAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(stopsync);\r\n }\r\n\r\n startCommonAuctionRegistration(template: TemplateRef<any>, id: number) {\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign({\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup activate-modal activate-lmodal text-left modal-dialog modal-dialog-centered approve-auction',\r\n })\r\n );\r\n this.getUpcomingAuctions(id);\r\n }\r\n getUpcomingAuctions(id) {\r\n const uauctions = this.auctionService.getUpcomingAuctions(id).subscribe(\r\n (res) => {\r\n this.upcomingAuctions = res;\r\n },\r\n () => {}\r\n );\r\n this.subscriptions.push(uauctions);\r\n }\r\n\r\n syncRegistrationWithOtherAuction() {\r\n this.approveCommonForm.patchValue({ auctionId: this.auctionDetail.id });\r\n this.approveCommonForm.patchValue({\r\n syncWithAuctionId: this.approveCommonForm.get('syncWithAuctionId').value,\r\n });\r\n const rothers = this.auctionService\r\n .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n .subscribe(() => {\r\n this.submitLoader = false;\r\n this.getAuction(this.auctionId);\r\n this.approveCommonForm.reset();\r\n this.modalRef.hide();\r\n this.toastr.success(\r\n messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(rothers);\r\n const sregister = this.auctionService\r\n .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n .subscribe(() => {\r\n this.submitLoader = false;\r\n this.approveCommonForm.reset();\r\n this.modalRef.hide();\r\n this.toastr.success(\r\n messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n });\r\n this.subscriptions.push(sregister);\r\n }\r\n\r\n upcomingAuctionChange(value: string) {\r\n this.disableCommonRegistrationButton = Number(value) > 0 ? false : true;\r\n }\r\n\r\n goToUsers() {\r\n this.router.navigate(['./', 'users'], {\r\n relativeTo: this.route,\r\n queryParams: {\r\n returnTo: this.router.url,\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n\r\n goToBidders() {\r\n this.router.navigate(['./', 'bids', 'bidder'], {\r\n relativeTo: this.route,\r\n queryParams: {\r\n returnTo: this.router.url,\r\n },\r\n });\r\n }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<div class=\"white-wrap-admin\">\r\n <div class=\"back-link-outer d-flex row mb-2 mb-md-0\">\r\n <div class=\"back-link-outer mb-0 mb-md-2 d-flex col-3 align-items-center\">\r\n <a role=\"button\" (click)=\"goToBack()\" class=\"back-link\">\r\n <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-12 col-md-7\">\r\n <p class=\"body-txt-22 mb-3\">Auction Details</p>\r\n </div>\r\n <div class=\"col-12 col-md-5 d-md-block\">\r\n <div class=\"for-icons justify-content-end\">\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"!auctionDetail?.saleType?.isCatalogReadOnly\">\r\n <button *ngIf=\"\r\n auctionDetail?.auctionStatus == auctionStatuses.live ||\r\n (auctionDetail?.auctionStatus == auctionStatuses.past &&\r\n auctionDetail?.isBidAvailable)\r\n \" type=\"button\" routerLink=\"bids\" class=\"btn btn-colored mr-2 btn-13\">\r\n View Bids\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <a class=\"hover-icon edit-icon mr-2\" role=\"button\" (click)=\"goToEdit()\"></a>\r\n\r\n <div class=\"custom-dropdown\" *ngIf=\"showMatMenu\">\r\n <button *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\" class=\"no-bg-btn hover-icon\" mat-icon-button\r\n [matMenuTriggerFor]=\"listingMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #listingMenu=\"matMenu\">\r\n <div class=\"custom-dropdown\">\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <ng-container *ngIf=\"\r\n auctionDetail?.saleType?.registrationFormat ===\r\n registrationFormat.tbgRegistration &&\r\n auctionDetail?.saleType?.isCatalogUploadAllowed &&\r\n auctionDetail?.saleType?.isCatalogReadOnly\r\n \">\r\n <button mat-menu-item *ngIf=\"\r\n auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n auctionDetail?.isRegistrationActive == false\r\n \" role=\"button\" (click)=\"auctionStartRegistration(auctionDetail?.id)\" type=\"button\">\r\n <span>Start Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n auctionDetail?.isRegistrationActive == true\r\n \" role=\"button\" (click)=\"auctionStopRegistration(auctionDetail?.id)\" type=\"button\">\r\n <span>Stop Registration</span>\r\n </button>\r\n <button mat-menu-item role=\"button\" (click)=\"goToUsers()\" *ngIf=\"\r\n auctionDetail?.auctionStatus != auctionStatuses.pending\r\n \">\r\n <span>View Registered Users</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n auctionDetail?.isEligibleForCommonRegistration &&\r\n (auctionDetail?.auctionStatus == auctionStatuses.live ||\r\n auctionDetail?.auctionStatus == auctionStatuses.past) &&\r\n auctionDetail?.isRegistrationSyncEnabled == false\r\n \" role=\"button\" (click)=\"\r\n startCommonAuctionRegistration(\r\n templateCommon,\r\n auctionDetail?.id\r\n )\r\n \" type=\"button\">\r\n <span>Start Common Registration</span>\r\n </button>\r\n <button mat-menu-item *ngIf=\"\r\n (auctionDetail?.auctionStatus == 1 ||\r\n auctionDetail?.auctionStatus == 2) &&\r\n auctionDetail?.isRegistrationSyncEnabled == true\r\n \" role=\"button\" (click)=\"\r\n stopSyncRegistrationWithOtherAuction(auctionDetail?.id)\r\n \" type=\"button\">\r\n <span>Stop Common Registration</span>\r\n </button>\r\n <button mat-menu-item role=\"button\" (click)=\"goToBidders()\" *ngIf=\"auctionDetail?.auctionStatus == 4\">\r\n <span>View Bidders</span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isCatalogUploadAllowed\">\r\n <button mat-menu-item [routerLink]=\"['configure-lot']\"\r\n [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\" *ngIf=\"\r\n auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n auctionDetail?.saleType.isCatalogUploadAllowed == true\r\n \">\r\n <span>Manage Lots</span>\r\n </button>\r\n <a class=\"no-decoration\" [routerLink]=\"['configure-lot']\" [queryParams]=\"{ returnTo: currentUrl }\"\r\n mat-menu-item *ngIf=\"auctionDetail?.auctionStatus != auctionStatuses.past\">\r\n <span>Configure Lot Catalog</span>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button mat-menu-item *ngIf=\"\r\n auctionDetail?.auctionStatus == 2 &&\r\n auctionDetail?.isPublic == false\r\n \" role=\"button\" (click)=\"markItFeatured(auctionDetail?.id)\" type=\"button\">\r\n <span>Make Featured Auction</span>\r\n </button>\r\n\r\n <button mat-menu-item *ngIf=\"\r\n auctionDetail?.auctionStatus == 1 ||\r\n auctionDetail?.auctionStatus == 2\r\n \" role=\"button\" (click)=\"markAsSold(auctionDetail?.id)\" type=\"button\">\r\n <span>Mark auction as Sold</span>\r\n </button>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"grey-well\">\r\n <div class=\"for-badge mb-2\">\r\n <span class=\"card-badge badge-dark\">{{ auctionDetail?.saleType.publicName | isEmpty }}\r\n </span>\r\n </div>\r\n <h1 class=\"well-name mb-2\">\r\n {{ auctionDetail?.auctionCode | isEmpty }}\r\n </h1>\r\n <h3 class=\"well-des mb-2\" [innerHTML]=\"auctionDetail?.tagline | isEmpty\"></h3>\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <h3 class=\"well-des\">\r\n Public Link For The Sale :\r\n <div> <a (click)=\"openLink(websiteUrl + auctionDetail?.auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view auction detail</a></div>\r\n <div><a (click)=\"openLotsLink(websiteUrl + auctionDetail?.auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n text-decoration: underline;\r\n cursor: pointer;\">Click to view lot catalog</a></div>\r\n </h3>\r\n\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"row\">\r\n <div class=\"col-12 mb-3 mb-md-5\">\r\n <div class=\"list-filter-tabs list-filter-dark pt-4 inline-tab-view\">\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n 'active-tab': stepActive == 1,\r\n 'completed-tab': stepActive > 1\r\n }\" role=\"button\" (click)=\"stepActive = 1\">\r\n Basic Details\r\n </button>\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n 'active-tab': stepActive == 2,\r\n 'completed-tab': stepActive > 2\r\n }\" role=\"button\" (click)=\"stepActive = 2\">\r\n Display Details\r\n </button>\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n 'active-tab': stepActive == 3,\r\n 'completed-tab': stepActive > 3\r\n }\" role=\"button\" (click)=\"stepActive = 3\">\r\n Locations & Contacts\r\n </button>\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n 'active-tab': stepActive == 4,\r\n 'completed-tab': stepActive > 4\r\n }\" role=\"button\" (click)=\"stepActive = 4\">\r\n Lot Catalog\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 1\">\r\n <div class=\"edit-auction-tab-data\">\r\n <div class=\"max-width-720\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Title</h3>\r\n <p class=\"des\">{{ auctionDetail?.title | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">By Order Of</h3>\r\n <p class=\"des\">{{ auctionDetail?.byOrderOf | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Tagline</h3>\r\n <p class=\"des\" [innerHTML]=\"auctionDetail?.tagline | isEmpty\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Auction/Sale Code</h3>\r\n <p class=\"des\">{{ auctionDetail?.auctionCode | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Sale Type</h3>\r\n <p class=\"des\">{{ auctionDetail?.saleTypeName | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Auction Category</h3>\r\n <p class=\"des\">{{ auctionDetail?.categoryName | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Sale Manager</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.saleManagerName | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Currency</h3>\r\n <p class=\"des\">{{ auctionDetail?.currencyName | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Timezone</h3>\r\n <p class=\"des\">{{ auctionDetail?.timeZoneName | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Start Date & Time</h3>\r\n <p class=\"des\">\r\n {{\r\n auctionDetail?.startDateTime\r\n | toLocalDateTime: false:auctionDetail?.timeZoneName\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">End Date & Time</h3>\r\n <p class=\"des\">\r\n {{\r\n auctionDetail?.endDateTime\r\n | toLocalDateTime: false:auctionDetail?.timeZoneName\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Stagger Auction Completion Time</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.staggerLotCloseTime | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Registrations</h3>\r\n <p class=\"des\">\r\n {{\r\n auctionDetail?.isRegistrationActive\r\n ? \"Enabled\"\r\n : \"Disabled\"\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Featured</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.isPublic ? \"Yes\" : \"No\" }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Last Updated</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.updateByName | isEmpty }}\r\n <br />\r\n {{ auctionDetail?.updateOn | toLocalDateTime }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Approved By</h3>\r\n <p class=\"des\" *ngIf=\"auctionDetail?.approvedByName; else elseBlock\">\r\n {{ auctionDetail?.approvedByName }}\r\n <br />\r\n {{ auctionDetail?.approvedOn | toLocalDateTime }}\r\n </p>\r\n <ng-template #elseBlock>\r\n <p class=\"des\">Pending Approval</p>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Every Lot Closes In</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.staggerLotCloseTime | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Minutes To Extend</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.extendMinutes | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Redirection Link</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.detailPageLinkUrl | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Cover Photo</h3>\r\n <p class=\"des d-flex\">\r\n <img class=\"thumb-icon2 img-fluid\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n [image]=\"auctionDetail?.coverPhoto\" />\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Client Logo</h3>\r\n <p class=\"des d-flex\">\r\n <img class=\"thumb-icon2 img-fluid\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n [image]=\"auctionDetail?.clientLogo\" />\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"col-12\">\r\n <div class=\"auction-basic-part mb-3\">\r\n <h3 class=\"hdg mb-2 pb-1\">Slider Images</h3>\r\n <div class=\"slider-images\">\r\n <div class=\"slide-image-wrap\" *ngFor=\"\r\n let item of auctionDetail?.sliderImages;\r\n index as i;\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock\">-</span>\r\n <ng-template #elseBlock>\r\n <img [src]=\"item.name\" *ngIf=\"i < 3\" />\r\n <div *ngIf=\"i == 3\" class=\"slide-image-wrap view-more cursor-pointer\" role=\"button\"\r\n (click)=\"openModalViewMore(template3)\">\r\n <img [src]=\"item.name\" />\r\n <div class=\"view-more-text\">\r\n <span>View More</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"auction-basic-part mb-3\">\r\n <h3 class=\"hdg mb-2 pb-1\">Photo Gallery</h3>\r\n <div class=\"slider-images\">\r\n <div *ngFor=\"\r\n let item of auctionDetail?.photoGallery;\r\n index as i;\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock1\">-</span>\r\n <ng-template #elseBlock1>\r\n <div class=\"slide-image-wrap\" *ngIf=\"i < 3\">\r\n <img [src]=\"item.name\" />\r\n </div>\r\n <div *ngIf=\"i == 3\" class=\"slide-image-wrap view-more cursor-pointer\" role=\"button\"\r\n (click)=\"openModalViewMore(template4)\">\r\n <img [src]=\"item.name\" />\r\n <div class=\"view-more-text\">\r\n <span>View More</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 2\">\r\n <div class=\"display-tab-data\">\r\n <div class=\"max-width-720\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Registration Link URL</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.registrationLinkUrl | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Catalog Link URL</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.catalogLinkUrl | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Page Title</h3>\r\n <p class=\"des\">{{ auctionDetail?.pageTitle | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Meta Description</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.metaDescription | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Keywords</h3>\r\n <p class=\"tags-outer m-0\" *ngFor=\"\r\n let key of auctionDetail?.keywords?.split(',');\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock2\">-</span>\r\n <ng-template #elseBlock2></ng-template>\r\n <span class=\"tag\">{{ key }}</span>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Related Auctions</h3>\r\n <p class=\"tags-outer m-0\" *ngFor=\"\r\n let key of auctionDetail?.relatedAuctionNames?.split(\r\n ','\r\n );\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock2\">-</span>\r\n <ng-template #elseBlock2>\r\n <span class=\"tag\">{{ key }}</span>\r\n </ng-template>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">\r\n Pre Approval Registration Email Template\r\n </h3>\r\n <p class=\"des\">\r\n {{\r\n auctionDetail?.preApprovalRegistrationEmailTemplateName\r\n | isEmpty\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">\r\n Post Approval Registration Email Template\r\n </h3>\r\n <p class=\"des\">\r\n {{\r\n auctionDetail?.postApprovalRegistrationEmailTemplateName\r\n | isEmpty\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Email Notes</h3>\r\n <p class=\"des\">{{ auctionDetail?.emailNotes | isEmpty }}</p>\r\n </div>\r\n\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg pb-2\">Documents</h3>\r\n <div class=\"file-preview-outer file-with-hover\" *ngFor=\"\r\n let item of auctionDetail?.documents;\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock34\">-</span>\r\n <ng-template #elseBlock34>\r\n <div class=\"file-preview\">\r\n <a [href]=\"item.name\">\r\n <div class=\"file-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"28\" viewBox=\"0 0 17 28\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"#68677B\" fill-rule=\"nonzero\" stroke=\"#FFF\" stroke-width=\".7\">\r\n <path\r\n d=\"M341.5 1020c-4.14-.004-7.495-3.305-7.5-7.378V999.27c0-2.91 2.398-5.27 5.357-5.27s5.357 2.36 5.357 5.27v11.595c0 1.746-1.439 3.162-3.214 3.162s-3.214-1.416-3.214-3.162v-8.081c0-.582.48-1.054 1.071-1.054.592 0 1.072.472 1.072 1.054v8.08c0 .583.48 1.055 1.071 1.055.592 0 1.071-.472 1.071-1.054V999.27c0-1.746-1.439-3.162-3.214-3.162s-3.214 1.416-3.214 3.162v13.352c0 2.91 2.398 5.27 5.357 5.27s5.357-2.36 5.357-5.27v-14.054c0-.583.48-1.054 1.072-1.054.591 0 1.071.471 1.071 1.054v14.054c-.005 4.073-3.36 7.374-7.5 7.378z\"\r\n transform=\"translate(-333 -993)\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"file-dtls\">\r\n <p class=\"file-name\">\r\n {{ item.title | isEmpty }}\r\n </p>\r\n </div>\r\n </a>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg pb-2\">In Conjuction With</h3>\r\n <p class=\"des conjuctation-logo\" *ngFor=\"\r\n let item of auctionDetail?.partnerLogos;\r\n count as len\r\n \">\r\n <span *ngIf=\"len == 0; else elseBlock4\">-</span>\r\n <ng-template #elseBlock4>\r\n <img class=\"img-fluid\" [src]=\"item.name\" />\r\n </ng-template>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Payment Instructions</h3>\r\n <p class=\"des\" [innerHTML]=\"auctionDetail?.paymentInstructions | isEmpty\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Buyer's Premium</h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.generalBuyerPremium | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Featured Items</h3>\r\n <span *ngIf=\"\r\n auctionDetail?.featuredItems == null ||\r\n auctionDetail?.featuredItems == '';\r\n else elseBlock45\r\n \">-</span>\r\n <ng-template #elseBlock45>\r\n <p class=\"des\" [innerHtml]=\"auctionDetail?.featuredItems\"></p>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">\r\n Featured Items Header\r\n <span\r\n matTooltip='Type or paste the \"Featured Items\" into this field and review the formatting before posting'\r\n [matTooltipPosition]=\"'above'\">\r\n <img src=\"../assets/images/info.svg\" />\r\n </span>\r\n </h3>\r\n <p class=\"des\">\r\n {{ auctionDetail?.featuredItemHeader | isEmpty }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\" *ngFor=\"let item of auctionDetail?.customButtons\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Custom Buttons</h3>\r\n <div class=\"btn-display\">\r\n <div class=\"display-parts\">\r\n <h4 class=\"parts-hdg\">Button Logo/Image</h4>\r\n <p class=\"parts-dtl\">\r\n <a href=\"{{\r\n item.isUrl\r\n ? item.url\r\n : item.auctionFileName\r\n }}\" target=\"_blank\">\r\n <img [src]=\"item.buttonName\" height=\"100\" />\r\n </a>\r\n </p>\r\n </div>\r\n\r\n <div class=\"display-parts\">\r\n <h4 class=\"parts-hdg\">Button Label</h4>\r\n <p class=\"parts-dtl\">{{ item.label }}</p>\r\n </div>\r\n\r\n <div class=\"display-parts\">\r\n <h4 class=\"parts-hdg\">Button Type</h4>\r\n <p class=\"parts-dtl\" *ngIf=\"item.isUrl == true\">Link</p>\r\n <p class=\"des\" *ngIf=\"item.isUrl == false\">Button</p>\r\n </div>\r\n\r\n <div class=\"display-parts\">\r\n <h4 class=\"parts-hdg\">URL</h4>\r\n <p class=\"parts-dtl\">{{ item.url | isEmpty }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 3\">\r\n <div class=\"location-tab-data\">\r\n <div class=\"location-hdg\">\r\n <h3 class=\"hdg\">Locations</h3>\r\n </div>\r\n <section class=\"data-table-wrap\">\r\n <div class=\"empty-auction-location\" *ngIf=\"\r\n auctionDetail?.auctionLocations.length <= 0;\r\n else showLocations\r\n \">\r\n <div class=\"not-found\">\r\n <img class=\"not-found-icon\" src=\"../assets/images/location.svg\" />\r\n <h3 class=\"not-added\">Location not added</h3>\r\n </div>\r\n </div>\r\n\r\n <ng-template #showLocations>\r\n <table mat-table [dataSource]=\"auctionDetail?.auctionLocations\"\r\n class=\"mat-elevation-z8 border-0 dark-table location-tab-table location-table\">\r\n <ng-container matColumnDef=\"locationName\">\r\n <th class=\"column-1 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3></h3>\r\n </th>\r\n <td class=\"column-1 listing-data-entry name table-grey-row\" data-column=\"\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Location Name</p>\r\n <p class=\"user-val\">\r\n {{ element.name | isEmpty: \"TBD\" }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"address\">\r\n <th class=\"column-2 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3>Name</h3>\r\n </th>\r\n <td class=\"column-2 listing-data-entry yellow-bg name\" data-column=\"Name\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Address</p>\r\n <p class=\"user-val\" [innerHTML]=\"element.address | isEmpty\"></p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lot\">\r\n <th class=\"column-3 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3>Company</h3>\r\n </th>\r\n <td class=\"column-3 listing-data-entry name table-grey-row\" data-column=\"Company\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Lot#</p>\r\n <p class=\"user-val\">{{ element.lotNumbers | isEmpty }}</p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th class=\"column-4 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3>Phone</h3>\r\n </th>\r\n <td class=\"column-4 listing-data-entry name\" data-column=\"Phone\" mat-cell *matCellDef=\"let element\">\r\n <div class=\"for-icons ml-auto\">\r\n <a class=\"hover-icon eye-icon\" role=\"button\"\r\n (click)=\"showLocationDetail(element.id, template2)\"></a>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n </ng-template>\r\n </section>\r\n\r\n <div class=\"location-hdg mt-4 pt-2\">\r\n <h3 class=\"hdg\">Contacts</h3>\r\n </div>\r\n <section class=\"data-table-wrap\">\r\n <div class=\"empty-auction-location\" *ngIf=\"\r\n auctionDetail?.auctionContacts.length <= 0;\r\n else showContacts\r\n \">\r\n <div class=\"not-found border-top-only\">\r\n <img class=\"not-found-icon\" src=\"../assets/images/contact.svg\" />\r\n <h3 class=\"not-added\">Contact not added</h3>\r\n </div>\r\n </div>\r\n <ng-template #showContacts>\r\n <table mat-table [dataSource]=\"auctionDetail?.auctionContacts\"\r\n class=\"mat-elevation-z8 border-0 dark-table contact-tab-table\">\r\n <ng-container matColumnDef=\"locationName\">\r\n <th class=\"column-1 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3></h3>\r\n </th>\r\n <td class=\"column-1 listing-data-entry name table-grey-row\" data-column=\"\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Contact Name</p>\r\n <p class=\"user-val\">\r\n {{ element.contactName | isEmpty }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"address\">\r\n <th class=\"column-2 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3>Name</h3>\r\n </th>\r\n <td class=\"column-2 listing-data-entry yellow-bg name\" data-column=\"Name\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Designation</p>\r\n <p class=\"user-val\">\r\n {{ element.description | isEmpty }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lot\">\r\n <th class=\"column-3 listing-header-name\" mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"column-3 listing-data-entry name table-grey-row\" data-column=\"Company\" mat-cell\r\n *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Email</p>\r\n <p class=\"user-val\">\r\n <a href=\"mailto:{{ element.email }}\">\r\n {{ element.email | isEmpty }}\r\n </a>\r\n </p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th class=\"column-4 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n <h3>Phone</h3>\r\n </th>\r\n <td class=\"column-4 listing-data-entry name\" data-column=\"Phone\" mat-cell *matCellDef=\"let element\">\r\n <p class=\"row-name m-0\">Phone Number</p>\r\n <p class=\"user-val\">\r\n {{ element.mobileNumber | isEmpty }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns3\"></tr>\r\n </table>\r\n </ng-template>\r\n </section>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 4\">\r\n <lot-listing [isAdminViewLot]=\"true\" [auctionId]=\"auctionId\" [auctionData]=\"auctionDetail\"></lot-listing>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #template>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">View Lot Images</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"lot-slider custom-slick-arrow custom-lot\">\r\n <div class=\"main-slides\">\r\n <div class=\"image-slides-wrap\">\r\n <ngx-slick-carousel class=\"carousel image-slides\" [config]=\"imagesSlider\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n\r\n <div class=\"thumbs-outer\">\r\n <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #template2>\r\n <div *ngIf=\"location\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">View Location</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Location Name</h3>\r\n <p class=\"des\">{{ location.name | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Lot #</h3>\r\n <p class=\"des\">{{ location.lotNumbers | isEmpty }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Address</h3>\r\n <p class=\"des\" [innerHTML]=\"location.address | isEmpty\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Sales Tax Rate (%)</h3>\r\n <p class=\"des\">{{ location.salesTaxRate }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Removal Dates & Rules</h3>\r\n <p class=\"des\" [innerHtml]=\"location.removalDateAndRules\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Sales Tax Details</h3>\r\n <p class=\"des inner-scroller\" [innerHtml]=\"location.salesTaxDetail\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Inspection Preview</h3>\r\n <p class=\"des inner-scroller\" [innerHtml]=\"location.inspectionPreview\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"auction-basic-part\">\r\n <h3 class=\"hdg\">Rigging/Shipping</h3>\r\n <p class=\"des inner-scroller\" [innerHtml]=\"location.riggingAndShipping\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #template3>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">Slider Images</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"lot-slider custom-slick-arrow view-more-slider\">\r\n <div class=\"main-slides\">\r\n <div class=\"image-slides-wrap\">\r\n <ngx-slick-carousel class=\"carousel image-slides2\" [config]=\"imagesSlider2\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.sliderImages\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n\r\n <div class=\"thumbs-outer\">\r\n <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider2\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.sliderImages\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #template4>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">Photo Gallery</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"lot-slider custom-slick-arrow view-more-slider\">\r\n <div class=\"main-slides\">\r\n <div class=\"image-slides-wrap\">\r\n <ngx-slick-carousel class=\"carousel image-slides2\" [config]=\"imagesSlider2\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n\r\n <div class=\"thumbs-outer\">\r\n <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider2\">\r\n <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n </div>\r\n </ngx-slick-carousel>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #startStopTemplate>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body my-activate\">\r\n <img class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n <p class=\"des mb-4\"></p>\r\n <p class=\"des\" *ngIf=\"auctionDetail?.isRegistrationActive == true\">\r\n Are you sure you want to stop registration for this Auction?\r\n </p>\r\n <p class=\"des\" *ngIf=\"auctionDetail?.isRegistrationActive == false\">\r\n Are you sure you want to start registration for this Auction?\r\n </p>\r\n <button *ngIf=\"auctionDetail?.isRegistrationActive == true\" [disabled]=\"submitLoader\" class=\"btn btn-colored\"\r\n role=\"button\" (click)=\"auctionStopRegistration(auctionDetail?.id)\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Stop\r\n </button>\r\n <button *ngIf=\"auctionDetail?.isRegistrationActive == false\" [disabled]=\"submitLoader\" class=\"btn btn-colored\"\r\n role=\"button\" (click)=\"auctionStartRegistration(auctionDetail?.id)\" type=\"button\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Start\r\n </button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #templateCommon>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\">Start Common Registration</h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <form [formGroup]=\"approveCommonForm\">\r\n <div class=\"form-group m-0 pb-1\">\r\n <div class=\"mat-field-width\">\r\n <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Select Auction For Common Registration</mat-label>\r\n <mat-select #selectUpcomingAuction (ngModelChange)=\"\r\n upcomingAuctionChange(selectUpcomingAuction.value)\r\n \" formControlName=\"syncWithAuctionId\" *ngIf=\"upcomingAuctions != undefined\">\r\n <mat-option value=\"0\" selected>None</mat-option>\r\n <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n {{ auction.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n [matTooltipPosition]=\"'above'\">\r\n <img src=\"../assets/images/info.svg\" />\r\n </span>\r\n </div>\r\n </div>\r\n <p class=\"note-text\">\r\n Please note common registration auction once selected cannot be\r\n changed.\r\n </p>\r\n </div>\r\n <div class=\"image-popup-wrap pt-4 mt-2\">\r\n <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"\r\n submitLoader ||\r\n approveCommonForm.invalid ||\r\n disableCommonRegistrationButton\r\n \" role=\"button\" (click)=\"syncRegistrationWithOtherAuction()\">\r\n <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n Start Common Auction\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n","import { DOCUMENT, CommonModule } from '@angular/common';\nimport { forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Optional, Attribute, NgZone, Inject, Input, Output, ViewChild, NgModule } from '@angular/core';\nimport { mixinTabIndex, mixinColor, mixinDisabled, MatCommonModule } from '@angular/material/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW, HOME, END, PAGE_DOWN, PAGE_UP } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC 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 */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/common';\n\nconst _c0 = [\"sliderWrapper\"];\nconst activeEventOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nconst MAT_SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlider),\n multi: true\n};\n/** A simple change event emitted by the MatSlider component. */\nclass MatSliderChange {\n}\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nclass MatSliderBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\nconst _MatSliderMixinBase = mixinTabIndex(mixinColor(mixinDisabled(MatSliderBase), 'accent'));\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `<input type=\"range\">` element.\n */\nclass MatSlider extends _MatSliderMixinBase {\n constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex, _ngZone, _document, _animationMode) {\n super(elementRef);\n this._focusMonitor = _focusMonitor;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._ngZone = _ngZone;\n this._animationMode = _animationMode;\n this._invert = false;\n this._max = 100;\n this._min = 0;\n this._step = 1;\n this._thumbLabel = false;\n this._tickInterval = 0;\n this._value = null;\n this._vertical = false;\n /** Event emitted when the slider value has changed. */\n this.change = new EventEmitter();\n /** Event emitted when the slider thumb moves. */\n this.input = new EventEmitter();\n /**\n * Emits when the raw value of the slider changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n this.valueChange = new EventEmitter();\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n this.onTouched = () => { };\n this._percent = 0;\n /**\n * Whether or not the thumb is sliding.\n * Used to determine if there should be a transition for the thumb and fill track.\n */\n this._isSliding = false;\n /**\n * Whether or not the slider is active (clicked or sliding).\n * Used to shrink and grow the thumb as according to the Material Design spec.\n */\n this._isActive = false;\n /** The size of a tick interval as a percentage of the size of the track. */\n this._tickIntervalPercent = 0;\n /** The dimensions of the slider. */\n this._sliderDimensions = null;\n this._controlValueAccessorChangeFn = () => { };\n /** Subscription to the Directionality change EventEmitter. */\n this._dirChangeSubscription = Subscription.EMPTY;\n /** Called when the user has put their pointer down on the slider. */\n this._pointerDown = (event) => {\n // Don't do anything if the slider is disabled or the\n // user is using anything other than the main mouse button.\n if (this.disabled || this._isSliding || (!isTouchEvent(event) && event.button !== 0)) {\n return;\n }\n this._ngZone.run(() => {\n const oldValue = this.value;\n const pointerPosition = getPointerPositionOnPage(event);\n this._isSliding = true;\n this._lastPointerEvent = event;\n event.preventDefault();\n this._focusHostElement();\n this._onMouseenter(); // Simulate mouseenter in case this is a mobile device.\n this._bindGlobalEvents(event);\n this._focusHostElement();\n this._updateValueFromPosition(pointerPosition);\n this._valueOnSlideStart = oldValue;\n // Emit a change and input event if the value changed.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n });\n };\n /**\n * Called when the user has moved their pointer after\n * starting to drag. Bound on the document level.\n */\n this._pointerMove = (event) => {\n if (this._isSliding) {\n // Prevent the slide from selecting anything else.\n event.preventDefault();\n const oldValue = this.value;\n this._lastPointerEvent = event;\n this._updateValueFromPosition(getPointerPositionOnPage(event));\n // Native range elements always emit `input` events when the value changed while sliding.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n };\n /** Called when the user has lifted their pointer. Bound on the document level. */\n this._pointerUp = (event) => {\n if (this._isSliding) {\n event.preventDefault();\n this._removeGlobalEvents();\n this._isSliding = false;\n if (this._valueOnSlideStart != this.value && !this.disabled) {\n this._emitChangeEvent();\n }\n this._valueOnSlideStart = this._lastPointerEvent = null;\n }\n };\n /** Called when the window has lost focus. */\n this._windowBlur = () => {\n // If the window is blurred while dragging we need to stop dragging because the\n // browser won't dispatch the `mouseup` and `touchend` events anymore.\n if (this._lastPointerEvent) {\n this._pointerUp(this._lastPointerEvent);\n }\n };\n this._document = _document;\n this.tabIndex = parseInt(tabIndex) || 0;\n _ngZone.runOutsideAngular(() => {\n const element = elementRef.nativeElement;\n element.addEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.addEventListener('touchstart', this._pointerDown, activeEventOptions);\n });\n }\n /** Whether the slider is inverted. */\n get invert() { return this._invert; }\n set invert(value) {\n this._invert = coerceBooleanProperty(value);\n }\n /** The maximum value that the slider can have. */\n get max() { return this._max; }\n set max(v) {\n this._max = coerceNumberProperty(v, this._max);\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The minimum value that the slider can have. */\n get min() { return this._min; }\n set min(v) {\n this._min = coerceNumberProperty(v, this._min);\n // If the value wasn't explicitly set by the user, set it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The values at which the thumb will snap. */\n get step() { return this._step; }\n set step(v) {\n this._step = coerceNumberProperty(v, this._step);\n if (this._step % 1 !== 0) {\n this._roundToDecimal = this._step.toString().split('.').pop().length;\n }\n // Since this could modify the label, we need to notify the change detection.\n this._changeDetectorRef.markForCheck();\n }\n /** Whether or not to show the thumb label. */\n get thumbLabel() { return this._thumbLabel; }\n set thumbLabel(value) { this._thumbLabel = coerceBooleanProperty(value); }\n /**\n * How often to show ticks. Relative to the step so that a tick always appears on a step.\n * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n */\n get tickInterval() { return this._tickInterval; }\n set tickInterval(value) {\n if (value === 'auto') {\n this._tickInterval = 'auto';\n }\n else if (typeof value === 'number' || typeof value === 'string') {\n this._tickInterval = coerceNumberProperty(value, this._tickInterval);\n }\n else {\n this._tickInterval = 0;\n }\n }\n /** Value of the slider. */\n get value() {\n // If the value needs to be read and it is still uninitialized, initialize it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n return this._value;\n }\n set value(v) {\n if (v !== this._value) {\n let value = coerceNumberProperty(v);\n // While incrementing by a decimal we can end up with values like 33.300000000000004.\n // Truncate it to ensure that it matches the label and to make it easier to work with.\n if (this._roundToDecimal) {\n value = parseFloat(value.toFixed(this._roundToDecimal));\n }\n this._value = value;\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the slider is vertical. */\n get vertical() { return this._vertical; }\n set vertical(value) {\n this._vertical = coerceBooleanProperty(value);\n }\n /** The value to be used for display purposes. */\n get displayValue() {\n if (this.displayWith) {\n // Value is never null but since setters and getters cannot have\n // different types, the value getter is also typed to return null.\n return this.displayWith(this.value);\n }\n // Note that this could be improved further by rounding something like 0.999 to 1 or\n // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n // every change detection cycle.\n if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n return this.value.toFixed(this._roundToDecimal);\n }\n return this.value || 0;\n }\n /** set focus to the host element */\n focus(options) {\n this._focusHostElement(options);\n }\n /** blur the host element */\n blur() {\n this._blurHostElement();\n }\n /** The percentage of the slider that coincides with the value. */\n get percent() { return this._clamp(this._percent); }\n /**\n * Whether the axis of the slider is inverted.\n * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n */\n _shouldInvertAxis() {\n // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n // top. However from a y-axis standpoint this is inverted.\n return this.vertical ? !this.invert : this.invert;\n }\n /** Whether the slider is at its minimum value. */\n _isMinValue() {\n return this.percent === 0;\n }\n /**\n * The amount of space to leave between the slider thumb and the track fill & track background\n * elements.\n */\n _getThumbGap() {\n if (this.disabled) {\n return DISABLED_THUMB_GAP;\n }\n if (this._isMinValue() && !this.thumbLabel) {\n return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n }\n return 0;\n }\n /** CSS styles for the track background element. */\n _getTrackBackgroundStyles() {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '-' : '';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`\n };\n }\n /** CSS styles for the track fill element. */\n _getTrackFillStyles() {\n const percent = this.percent;\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${percent}, 1` : `${percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '' : '-';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`,\n // iOS Safari has a bug where it won't re-render elements which start of as `scale(0)` until\n // something forces a style recalculation on it. Since we'll end up with `scale(0)` when\n // the value of the slider is 0, we can easily get into this situation. We force a\n // recalculation by changing the element's `display` when it goes from 0 to any other value.\n display: percent === 0 ? 'none' : ''\n };\n }\n /** CSS styles for the ticks container element. */\n _getTicksContainerStyles() {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the ticks container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n let offset = this._tickIntervalPercent / 2 * 100;\n return {\n 'transform': `translate${axis}(${sign}${offset}%)`\n };\n }\n /** CSS styles for the ticks element. */\n _getTicksStyles() {\n let tickSize = this._tickIntervalPercent * 100;\n let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n let axis = this.vertical ? 'Y' : 'X';\n // Depending on the direction we pushed the ticks container, push the ticks the opposite\n // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n let styles = {\n 'backgroundSize': backgroundSize,\n // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n 'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`\n };\n if (this._isMinValue() && this._getThumbGap()) {\n const shouldInvertAxis = this._shouldInvertAxis();\n let side;\n if (this.vertical) {\n side = shouldInvertAxis ? 'Bottom' : 'Top';\n }\n else {\n side = shouldInvertAxis ? 'Right' : 'Left';\n }\n styles[`padding${side}`] = `${this._getThumbGap()}px`;\n }\n return styles;\n }\n _getThumbContainerStyles() {\n const shouldInvertAxis = this._shouldInvertAxis();\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the thumb container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let invertOffset = (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n return {\n 'transform': `translate${axis}(-${offset}%)`\n };\n }\n /**\n * Whether mouse events should be converted to a slider position by calculating their distance\n * from the right or bottom edge of the slider as opposed to the top or left.\n */\n _shouldInvertMouseCoords() {\n const shouldInvertAxis = this._shouldInvertAxis();\n return (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n }\n /** The language direction for this slider element. */\n _getDirection() {\n return (this._dir && this._dir.value == 'rtl') ? 'rtl' : 'ltr';\n }\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe((origin) => {\n this._isActive = !!origin && origin !== 'keyboard';\n this._changeDetectorRef.detectChanges();\n });\n if (this._dir) {\n this._dirChangeSubscription = this._dir.change.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n const element = this._elementRef.nativeElement;\n element.removeEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.removeEventListener('touchstart', this._pointerDown, activeEventOptions);\n this._lastPointerEvent = null;\n this._removeGlobalEvents();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._dirChangeSubscription.unsubscribe();\n }\n _onMouseenter() {\n if (this.disabled) {\n return;\n }\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onFocus() {\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onBlur() {\n this.onTouched();\n }\n _onKeydown(event) {\n if (this.disabled || hasModifierKey(event)) {\n return;\n }\n const oldValue = this.value;\n switch (event.keyCode) {\n case PAGE_UP:\n this._increment(10);\n break;\n case PAGE_DOWN:\n this._increment(-10);\n break;\n case END:\n this.value = this.max;\n break;\n case HOME:\n this.value = this.min;\n break;\n case LEFT_ARROW:\n // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n // inverted slider the thumb moves in that direction. However for a blind user, nothing\n // about the slider indicates that it is inverted. They will expect left to be decrement,\n // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n // sighted users, therefore we do not swap the meaning.\n this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n break;\n case UP_ARROW:\n this._increment(1);\n break;\n case RIGHT_ARROW:\n // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n break;\n case DOWN_ARROW:\n this._increment(-1);\n break;\n default:\n // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n // it.\n return;\n }\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n this._isSliding = true;\n event.preventDefault();\n }\n _onKeyup() {\n this._isSliding = false;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /**\n * Binds our global move and end events. They're bound at the document level and only while\n * dragging so that the user doesn't have to keep their pointer exactly over the slider\n * as they're swiping across the screen.\n */\n _bindGlobalEvents(triggerEvent) {\n // Note that we bind the events to the `document`, because it allows us to capture\n // drag cancel events where the user's pointer is outside the browser window.\n const document = this._document;\n const isTouch = isTouchEvent(triggerEvent);\n const moveEventName = isTouch ? 'touchmove' : 'mousemove';\n const endEventName = isTouch ? 'touchend' : 'mouseup';\n document.addEventListener(moveEventName, this._pointerMove, activeEventOptions);\n document.addEventListener(endEventName, this._pointerUp, activeEventOptions);\n if (isTouch) {\n document.addEventListener('touchcancel', this._pointerUp, activeEventOptions);\n }\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.addEventListener('blur', this._windowBlur);\n }\n }\n /** Removes any global event listeners that we may have added. */\n _removeGlobalEvents() {\n const document = this._document;\n document.removeEventListener('mousemove', this._pointerMove, activeEventOptions);\n document.removeEventListener('mouseup', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchmove', this._pointerMove, activeEventOptions);\n document.removeEventListener('touchend', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchcancel', this._pointerUp, activeEventOptions);\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.removeEventListener('blur', this._windowBlur);\n }\n }\n /** Increments the slider by the given number of steps (negative number decrements). */\n _increment(numSteps) {\n this.value = this._clamp((this.value || 0) + this.step * numSteps, this.min, this.max);\n }\n /** Calculate the new value from the new physical location. The value will always be snapped. */\n _updateValueFromPosition(pos) {\n if (!this._sliderDimensions) {\n return;\n }\n let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let posComponent = this.vertical ? pos.y : pos.x;\n // The exact value is calculated from the event and used to find the closest snap value.\n let percent = this._clamp((posComponent - offset) / size);\n if (this._shouldInvertMouseCoords()) {\n percent = 1 - percent;\n }\n // Since the steps may not divide cleanly into the max value, if the user\n // slid to 0 or 100 percent, we jump to the min/max value. This approach\n // is slightly more intuitive than using `Math.ceil` below, because it\n // follows the user's pointer closer.\n if (percent === 0) {\n this.value = this.min;\n }\n else if (percent === 1) {\n this.value = this.max;\n }\n else {\n const exactValue = this._calculateValue(percent);\n // This calculation finds the closest step by finding the closest\n // whole number divisible by the step relative to the min.\n const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n // The value needs to snap to the min and max.\n this.value = this._clamp(closestValue, this.min, this.max);\n }\n }\n /** Emits a change event if the current value is different from the last emitted value. */\n _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.value);\n this.valueChange.emit(this.value);\n this.change.emit(this._createChangeEvent());\n }\n /** Emits an input event when the current value is different from the last emitted value. */\n _emitInputEvent() {\n this.input.emit(this._createChangeEvent());\n }\n /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n _updateTickIntervalPercent() {\n if (!this.tickInterval || !this._sliderDimensions) {\n return;\n }\n if (this.tickInterval == 'auto') {\n let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let pixelsPerStep = trackSize * this.step / (this.max - this.min);\n let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n let pixelsPerTick = stepsPerTick * this.step;\n this._tickIntervalPercent = pixelsPerTick / trackSize;\n }\n else {\n this._tickIntervalPercent = this.tickInterval * this.step / (this.max - this.min);\n }\n }\n /** Creates a slider change object from the specified value. */\n _createChangeEvent(value = this.value) {\n let event = new MatSliderChange();\n event.source = this;\n event.value = value;\n return event;\n }\n /** Calculates the percentage of the slider that a value is. */\n _calculatePercentage(value) {\n return ((value || 0) - this.min) / (this.max - this.min);\n }\n /** Calculates the value a percentage of the slider corresponds to. */\n _calculateValue(percentage) {\n return this.min + percentage * (this.max - this.min);\n }\n /** Return a number between two numbers. */\n _clamp(value, min = 0, max = 1) {\n return Math.max(min, Math.min(value, max));\n }\n /**\n * Get the bounding client rect of the slider track element.\n * The track is used rather than the native element to ignore the extra space that the thumb can\n * take up.\n */\n _getSliderDimensions() {\n return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n }\n /**\n * Focuses the native element.\n * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n */\n _focusHostElement(options) {\n this._elementRef.nativeElement.focus(options);\n }\n /** Blurs the native element. */\n _blurHostElement() {\n this._elementRef.nativeElement.blur();\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n }\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the component is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets whether the component should be disabled.\n * Implemented as part of ControlValueAccessor.\n * @param isDisabled\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n}\nMatSlider.ɵfac = function MatSlider_Factory(t) { return new (t || MatSlider)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatSlider.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatSlider, selectors: [[\"mat-slider\"]], viewQuery: function MatSlider_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, true);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._sliderWrapper = _t.first);\n } }, hostAttrs: [\"role\", \"slider\", 1, \"mat-slider\", \"mat-focus-indicator\"], hostVars: 28, hostBindings: function MatSlider_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatSlider_focus_HostBindingHandler() { return ctx._onFocus(); })(\"blur\", function MatSlider_blur_HostBindingHandler() { return ctx._onBlur(); })(\"keydown\", function MatSlider_keydown_HostBindingHandler($event) { return ctx._onKeydown($event); })(\"keyup\", function MatSlider_keyup_HostBindingHandler() { return ctx._onKeyup(); })(\"mouseenter\", function MatSlider_mouseenter_HostBindingHandler() { return ctx._onMouseenter(); })(\"selectstart\", function MatSlider_selectstart_HostBindingHandler($event) { return $event.preventDefault(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"tabIndex\", ctx.tabIndex);\n ɵngcc0.ɵɵattribute(\"aria-disabled\", ctx.disabled)(\"aria-valuemax\", ctx.max)(\"aria-valuemin\", ctx.min)(\"aria-valuenow\", ctx.value)(\"aria-orientation\", ctx.vertical ? \"vertical\" : \"horizontal\");\n ɵngcc0.ɵɵclassProp(\"mat-slider-disabled\", ctx.disabled)(\"mat-slider-has-ticks\", ctx.tickInterval)(\"mat-slider-horizontal\", !ctx.vertical)(\"mat-slider-axis-inverted\", ctx._shouldInvertAxis())(\"mat-slider-invert-mouse-coords\", ctx._shouldInvertMouseCoords())(\"mat-slider-sliding\", ctx._isSliding)(\"mat-slider-thumb-label-showing\", ctx.thumbLabel)(\"mat-slider-vertical\", ctx.vertical)(\"mat-slider-min-value\", ctx._isMinValue())(\"mat-slider-hide-last-tick\", ctx.disabled || ctx._isMinValue() && ctx._getThumbGap() && ctx._shouldInvertAxis())(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n } }, inputs: { disabled: \"disabled\", color: \"color\", tabIndex: \"tabIndex\", invert: \"invert\", max: \"max\", min: \"min\", value: \"value\", step: \"step\", thumbLabel: \"thumbLabel\", tickInterval: \"tickInterval\", vertical: \"vertical\", displayWith: \"displayWith\" }, outputs: { change: \"change\", input: \"input\", valueChange: \"valueChange\" }, exportAs: [\"matSlider\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SLIDER_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 13, vars: 6, consts: [[1, \"mat-slider-wrapper\"], [\"sliderWrapper\", \"\"], [1, \"mat-slider-track-wrapper\"], [1, \"mat-slider-track-background\", 3, \"ngStyle\"], [1, \"mat-slider-track-fill\", 3, \"ngStyle\"], [1, \"mat-slider-ticks-container\", 3, \"ngStyle\"], [1, \"mat-slider-ticks\", 3, \"ngStyle\"], [1, \"mat-slider-thumb-container\", 3, \"ngStyle\"], [1, \"mat-slider-focus-ring\"], [1, \"mat-slider-thumb\"], [1, \"mat-slider-thumb-label\"], [1, \"mat-slider-thumb-label-text\"]], template: function MatSlider_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵelement(3, \"div\", 3);\n ɵngcc0.ɵɵelement(4, \"div\", 4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 5);\n ɵngcc0.ɵɵelement(6, \"div\", 6);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(7, \"div\", 7);\n ɵngcc0.ɵɵelement(8, \"div\", 8);\n ɵngcc0.ɵɵelement(9, \"div\", 9);\n ɵngcc0.ɵɵelementStart(10, \"div\", 10);\n ɵngcc0.ɵɵelementStart(11, \"span\", 11);\n ɵngcc0.ɵɵtext(12);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackBackgroundStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackFillStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksContainerStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getThumbContainerStyles());\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵtextInterpolate(ctx.displayValue);\n } }, directives: [ɵngcc3.NgStyle], styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatSlider.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor },\n { type: ChangeDetectorRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatSlider.propDecorators = {\n invert: [{ type: Input }],\n max: [{ type: Input }],\n min: [{ type: Input }],\n step: [{ type: Input }],\n thumbLabel: [{ type: Input }],\n tickInterval: [{ type: Input }],\n value: [{ type: Input }],\n displayWith: [{ type: Input }],\n vertical: [{ type: Input }],\n change: [{ type: Output }],\n input: [{ type: Output }],\n valueChange: [{ type: Output }],\n _sliderWrapper: [{ type: ViewChild, args: ['sliderWrapper',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSlider, [{\n type: Component,\n args: [{\n selector: 'mat-slider',\n exportAs: 'matSlider',\n providers: [MAT_SLIDER_VALUE_ACCESSOR],\n host: {\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n '(keydown)': '_onKeydown($event)',\n '(keyup)': '_onKeyup()',\n '(mouseenter)': '_onMouseenter()',\n // On Safari starting to slide temporarily triggers text selection mode which\n // show the wrong cursor. We prevent it by stopping the `selectstart` event.\n '(selectstart)': '$event.preventDefault()',\n 'class': 'mat-slider mat-focus-indicator',\n 'role': 'slider',\n '[tabIndex]': 'tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuenow]': 'value',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-slider-disabled]': 'disabled',\n '[class.mat-slider-has-ticks]': 'tickInterval',\n '[class.mat-slider-horizontal]': '!vertical',\n '[class.mat-slider-axis-inverted]': '_shouldInvertAxis()',\n // Class binding which is only used by the test harness as there is no other\n // way for the harness to detect if mouse coordinates need to be inverted.\n '[class.mat-slider-invert-mouse-coords]': '_shouldInvertMouseCoords()',\n '[class.mat-slider-sliding]': '_isSliding',\n '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n '[class.mat-slider-vertical]': 'vertical',\n '[class.mat-slider-min-value]': '_isMinValue()',\n '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue() && _getThumbGap() && _shouldInvertAxis()',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"'\n },\n template: \"<div class=\\\"mat-slider-wrapper\\\" #sliderWrapper>\\n <div class=\\\"mat-slider-track-wrapper\\\">\\n <div class=\\\"mat-slider-track-background\\\" [ngStyle]=\\\"_getTrackBackgroundStyles()\\\"></div>\\n <div class=\\\"mat-slider-track-fill\\\" [ngStyle]=\\\"_getTrackFillStyles()\\\"></div>\\n </div>\\n <div class=\\\"mat-slider-ticks-container\\\" [ngStyle]=\\\"_getTicksContainerStyles()\\\">\\n <div class=\\\"mat-slider-ticks\\\" [ngStyle]=\\\"_getTicksStyles()\\\"></div>\\n </div>\\n <div class=\\\"mat-slider-thumb-container\\\" [ngStyle]=\\\"_getThumbContainerStyles()\\\">\\n <div class=\\\"mat-slider-focus-ring\\\"></div>\\n <div class=\\\"mat-slider-thumb\\\"></div>\\n <div class=\\\"mat-slider-thumb-label\\\">\\n <span class=\\\"mat-slider-thumb-label-text\\\">{{displayValue}}</span>\\n </div>\\n </div>\\n</div>\\n\",\n inputs: ['disabled', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { change: [{\n type: Output\n }], input: [{\n type: Output\n }], valueChange: [{\n type: Output\n }], invert: [{\n type: Input\n }], max: [{\n type: Input\n }], min: [{\n type: Input\n }], value: [{\n type: Input\n }], step: [{\n type: Input\n }], thumbLabel: [{\n type: Input\n }], tickInterval: [{\n type: Input\n }], vertical: [{\n type: Input\n }], displayWith: [{\n type: Input\n }], _sliderWrapper: [{\n type: ViewChild,\n args: ['sliderWrapper']\n }] }); })();\n/** Returns whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/** Gets the coordinates of a touch or mouse event relative to the viewport. */\nfunction getPointerPositionOnPage(event) {\n // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n const point = isTouchEvent(event) ? (event.touches[0] || event.changedTouches[0]) : event;\n return { x: point.clientX, y: point.clientY };\n}\n\n/**\n * @license\n * Copyright Google LLC 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 */\nclass MatSliderModule {\n}\nMatSliderModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatSliderModule });\nMatSliderModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatSliderModule_Factory(t) { return new (t || MatSliderModule)(); }, imports: [[CommonModule, MatCommonModule], MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatSliderModule, { declarations: function () { return [MatSlider]; }, imports: function () { return [CommonModule, MatCommonModule]; }, exports: function () { return [MatSlider, MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSliderModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, MatCommonModule],\n exports: [MatSlider, MatCommonModule],\n declarations: [MatSlider]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 { MAT_SLIDER_VALUE_ACCESSOR, MatSlider, MatSliderChange, MatSliderModule };\n\n//# sourceMappingURL=slider.js.map","import { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { mixinColor, MatCommonModule } from '@angular/material/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { _getShadowRoot, Platform } from '@angular/cdk/platform';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC 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 * Base reference size of the spinner.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/common';\n\nfunction MatProgressSpinner__svg_circle_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"animation-name\", \"mat-progress-spinner-stroke-rotate-\" + ctx_r0._spinnerAnimationLabel)(\"stroke-dashoffset\", ctx_r0._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r0._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r0._getCircleStrokeWidth(), \"%\");\n ɵngcc0.ɵɵattribute(\"r\", ctx_r0._getCircleRadius());\n} }\nfunction MatProgressSpinner__svg_circle_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"stroke-dashoffset\", ctx_r1._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r1._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r1._getCircleStrokeWidth(), \"%\");\n ɵngcc0.ɵɵattribute(\"r\", ctx_r1._getCircleRadius());\n} }\nfunction MatSpinner__svg_circle_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"animation-name\", \"mat-progress-spinner-stroke-rotate-\" + ctx_r0._spinnerAnimationLabel)(\"stroke-dashoffset\", ctx_r0._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r0._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r0._getCircleStrokeWidth(), \"%\");\n ɵngcc0.ɵɵattribute(\"r\", ctx_r0._getCircleRadius());\n} }\nfunction MatSpinner__svg_circle_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"stroke-dashoffset\", ctx_r1._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r1._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r1._getCircleStrokeWidth(), \"%\");\n ɵngcc0.ɵɵattribute(\"r\", ctx_r1._getCircleRadius());\n} }\nconst _c0 = \".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\";\nconst BASE_SIZE = 100;\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nclass MatProgressSpinnerBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\nconst _MatProgressSpinnerMixinBase = mixinColor(MatProgressSpinnerBase, 'primary');\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nconst MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {\n providedIn: 'root',\n factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {\n return { diameter: BASE_SIZE };\n}\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/components/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n`;\n/**\n * `<mat-progress-spinner>` component.\n */\nclass MatProgressSpinner extends _MatProgressSpinnerMixinBase {\n constructor(_elementRef, platform, _document, animationMode, defaults) {\n super(_elementRef);\n this._elementRef = _elementRef;\n this._document = _document;\n this._diameter = BASE_SIZE;\n this._value = 0;\n this._fallbackAnimation = false;\n /** Mode of the progress circle */\n this.mode = 'determinate';\n const trackedDiameters = MatProgressSpinner._diameters;\n this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n // The base size is already inserted via the component's structural styles. We still\n // need to track it so we don't end up adding the same styles again.\n if (!trackedDiameters.has(_document.head)) {\n trackedDiameters.set(_document.head, new Set([BASE_SIZE]));\n }\n this._fallbackAnimation = platform.EDGE || platform.TRIDENT;\n this._noopAnimations = animationMode === 'NoopAnimations' &&\n (!!defaults && !defaults._forceAnimations);\n if (defaults) {\n if (defaults.diameter) {\n this.diameter = defaults.diameter;\n }\n if (defaults.strokeWidth) {\n this.strokeWidth = defaults.strokeWidth;\n }\n }\n }\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter() { return this._diameter; }\n set diameter(size) {\n this._diameter = coerceNumberProperty(size);\n this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n // If this is set before `ngOnInit`, the style root may not have been resolved yet.\n if (!this._fallbackAnimation && this._styleRoot) {\n this._attachStyleNode();\n }\n }\n /** Stroke width of the progress spinner. */\n get strokeWidth() {\n return this._strokeWidth || this.diameter / 10;\n }\n set strokeWidth(value) {\n this._strokeWidth = coerceNumberProperty(value);\n }\n /** Value of the progress circle. */\n get value() {\n return this.mode === 'determinate' ? this._value : 0;\n }\n set value(newValue) {\n this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n }\n ngOnInit() {\n const element = this._elementRef.nativeElement;\n // Note that we need to look up the root node in ngOnInit, rather than the constructor, because\n // Angular seems to create the element outside the shadow root and then moves it inside, if the\n // node is inside an `ngIf` and a ShadowDom-encapsulated component.\n this._styleRoot = _getShadowRoot(element) || this._document.head;\n this._attachStyleNode();\n // On IE and Edge, we can't animate the `stroke-dashoffset`\n // reliably so we fall back to a non-spec animation.\n const animationClass = `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;\n element.classList.add(animationClass);\n }\n /** The radius of the spinner, adjusted for stroke width. */\n _getCircleRadius() {\n return (this.diameter - BASE_STROKE_WIDTH) / 2;\n }\n /** The view box of the spinner's svg element. */\n _getViewBox() {\n const viewBox = this._getCircleRadius() * 2 + this.strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n /** The stroke circumference of the svg circle. */\n _getStrokeCircumference() {\n return 2 * Math.PI * this._getCircleRadius();\n }\n /** The dash offset of the svg circle. */\n _getStrokeDashOffset() {\n if (this.mode === 'determinate') {\n return this._getStrokeCircumference() * (100 - this._value) / 100;\n }\n // In fallback mode set the circle to 80% and rotate it with CSS.\n if (this._fallbackAnimation && this.mode === 'indeterminate') {\n return this._getStrokeCircumference() * 0.2;\n }\n return null;\n }\n /** Stroke width of the circle in percent. */\n _getCircleStrokeWidth() {\n return this.strokeWidth / this.diameter * 100;\n }\n /** Dynamically generates a style tag containing the correct animation for this diameter. */\n _attachStyleNode() {\n const styleRoot = this._styleRoot;\n const currentDiameter = this._diameter;\n const diameters = MatProgressSpinner._diameters;\n let diametersForElement = diameters.get(styleRoot);\n if (!diametersForElement || !diametersForElement.has(currentDiameter)) {\n const styleTag = this._document.createElement('style');\n styleTag.setAttribute('mat-spinner-animation', this._spinnerAnimationLabel);\n styleTag.textContent = this._getAnimationText();\n styleRoot.appendChild(styleTag);\n if (!diametersForElement) {\n diametersForElement = new Set();\n diameters.set(styleRoot, diametersForElement);\n }\n diametersForElement.add(currentDiameter);\n }\n }\n /** Generates animation styles adjusted for the spinner's diameter. */\n _getAnimationText() {\n const strokeCircumference = this._getStrokeCircumference();\n return INDETERMINATE_ANIMATION_TEMPLATE\n // Animation should begin at 5% and end at 80%\n .replace(/START_VALUE/g, `${0.95 * strokeCircumference}`)\n .replace(/END_VALUE/g, `${0.2 * strokeCircumference}`)\n .replace(/DIAMETER/g, `${this._spinnerAnimationLabel}`);\n }\n /** Returns the circle diameter formatted for use with the animation-name CSS property. */\n _getSpinnerAnimationLabel() {\n // The string of a float point number will include a period ‘.’ character,\n // which is not valid for a CSS animation-name.\n return this.diameter.toString().replace('.', '_');\n }\n}\nMatProgressSpinner.ɵfac = function MatProgressSpinner_Factory(t) { return new (t || MatProgressSpinner)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), ɵngcc0.ɵɵdirectiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)); };\nMatProgressSpinner.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatProgressSpinner, selectors: [[\"mat-progress-spinner\"]], hostAttrs: [\"role\", \"progressbar\", 1, \"mat-progress-spinner\"], hostVars: 10, hostBindings: function MatProgressSpinner_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-valuemin\", ctx.mode === \"determinate\" ? 0 : null)(\"aria-valuemax\", ctx.mode === \"determinate\" ? 100 : null)(\"aria-valuenow\", ctx.mode === \"determinate\" ? ctx.value : null)(\"mode\", ctx.mode);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._noopAnimations);\n } }, inputs: { color: \"color\", mode: \"mode\", diameter: \"diameter\", strokeWidth: \"strokeWidth\", value: \"value\" }, exportAs: [\"matProgressSpinner\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 8, consts: [[\"preserveAspectRatio\", \"xMidYMid meet\", \"focusable\", \"false\", 3, \"ngSwitch\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"animation-name\", \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\"]], template: function MatProgressSpinner_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"svg\", 0);\n ɵngcc0.ɵɵtemplate(1, MatProgressSpinner__svg_circle_1_Template, 1, 9, \"circle\", 1);\n ɵngcc0.ɵɵtemplate(2, MatProgressSpinner__svg_circle_2_Template, 1, 7, \"circle\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx.mode === \"indeterminate\");\n ɵngcc0.ɵɵattribute(\"viewBox\", ctx._getViewBox());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n } }, directives: [ɵngcc2.NgSwitch, ɵngcc2.NgSwitchCase], styles: [_c0], encapsulation: 2, changeDetection: 0 });\n/**\n * Tracks diameters of existing instances to de-dupe generated styles (default d = 100).\n * We need to keep track of which elements the diameters were attached to, because for\n * elements in the Shadow DOM the style tags are attached to the shadow root, rather\n * than the document head.\n */\nMatProgressSpinner._diameters = new WeakMap();\nMatProgressSpinner.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }\n];\nMatProgressSpinner.propDecorators = {\n diameter: [{ type: Input }],\n strokeWidth: [{ type: Input }],\n mode: [{ type: Input }],\n value: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatProgressSpinner, [{\n type: Component,\n args: [{\n selector: 'mat-progress-spinner',\n exportAs: 'matProgressSpinner',\n host: {\n 'role': 'progressbar',\n 'class': 'mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode'\n },\n inputs: ['color'],\n template: \"<!--\\n preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\\n center. The center of the circle will remain at the center of the mat-progress-spinner\\n element containing the SVG. `focusable=\\\"false\\\"` prevents IE from allowing the user to\\n tab into the SVG element.\\n-->\\n\\n<svg\\n [style.width.px]=\\\"diameter\\\"\\n [style.height.px]=\\\"diameter\\\"\\n [attr.viewBox]=\\\"_getViewBox()\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n [ngSwitch]=\\\"mode === 'indeterminate'\\\">\\n\\n <!--\\n Technically we can reuse the same `circle` element, however Safari has an issue that breaks\\n the SVG rendering in determinate mode, after switching between indeterminate and determinate.\\n Using a different element avoids the issue. An alternative to this is adding `display: none`\\n for a split second and then removing it when switching between modes, but it's hard to know\\n for how long to hide the element and it can cause the UI to blink.\\n -->\\n <circle\\n *ngSwitchCase=\\\"true\\\"\\n cx=\\\"50%\\\"\\n cy=\\\"50%\\\"\\n [attr.r]=\\\"_getCircleRadius()\\\"\\n [style.animation-name]=\\\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\\\"\\n [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n\\n <circle\\n *ngSwitchCase=\\\"false\\\"\\n cx=\\\"50%\\\"\\n cy=\\\"50%\\\"\\n [attr.r]=\\\"_getCircleRadius()\\\"\\n [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n</svg>\\n\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]\n }] }]; }, { mode: [{\n type: Input\n }], diameter: [{\n type: Input\n }], strokeWidth: [{\n type: Input\n }], value: [{\n type: Input\n }] }); })();\n/**\n * `<mat-spinner>` component.\n *\n * This is a component definition to be used as a convenience reference to create an\n * indeterminate `<mat-progress-spinner>` instance.\n */\nclass MatSpinner extends MatProgressSpinner {\n constructor(elementRef, platform, document, animationMode, defaults) {\n super(elementRef, platform, document, animationMode, defaults);\n this.mode = 'indeterminate';\n }\n}\nMatSpinner.ɵfac = function MatSpinner_Factory(t) { return new (t || MatSpinner)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), ɵngcc0.ɵɵdirectiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)); };\nMatSpinner.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatSpinner, selectors: [[\"mat-spinner\"]], hostAttrs: [\"role\", \"progressbar\", \"mode\", \"indeterminate\", 1, \"mat-spinner\", \"mat-progress-spinner\"], hostVars: 6, hostBindings: function MatSpinner_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._noopAnimations);\n } }, inputs: { color: \"color\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 8, consts: [[\"preserveAspectRatio\", \"xMidYMid meet\", \"focusable\", \"false\", 3, \"ngSwitch\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"animation-name\", \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\"]], template: function MatSpinner_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"svg\", 0);\n ɵngcc0.ɵɵtemplate(1, MatSpinner__svg_circle_1_Template, 1, 9, \"circle\", 1);\n ɵngcc0.ɵɵtemplate(2, MatSpinner__svg_circle_2_Template, 1, 7, \"circle\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx.mode === \"indeterminate\");\n ɵngcc0.ɵɵattribute(\"viewBox\", ctx._getViewBox());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n } }, directives: [ɵngcc2.NgSwitch, ɵngcc2.NgSwitchCase], styles: [_c0], encapsulation: 2, changeDetection: 0 });\nMatSpinner.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSpinner, [{\n type: Component,\n args: [{\n selector: 'mat-spinner',\n host: {\n 'role': 'progressbar',\n 'mode': 'indeterminate',\n 'class': 'mat-spinner mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter'\n },\n inputs: ['color'],\n template: \"<!--\\n preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\\n center. The center of the circle will remain at the center of the mat-progress-spinner\\n element containing the SVG. `focusable=\\\"false\\\"` prevents IE from allowing the user to\\n tab into the SVG element.\\n-->\\n\\n<svg\\n [style.width.px]=\\\"diameter\\\"\\n [style.height.px]=\\\"diameter\\\"\\n [attr.viewBox]=\\\"_getViewBox()\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n [ngSwitch]=\\\"mode === 'indeterminate'\\\">\\n\\n <!--\\n Technically we can reuse the same `circle` element, however Safari has an issue that breaks\\n the SVG rendering in determinate mode, after switching between indeterminate and determinate.\\n Using a different element avoids the issue. An alternative to this is adding `display: none`\\n for a split second and then removing it when switching between modes, but it's hard to know\\n for how long to hide the element and it can cause the UI to blink.\\n -->\\n <circle\\n *ngSwitchCase=\\\"true\\\"\\n cx=\\\"50%\\\"\\n cy=\\\"50%\\\"\\n [attr.r]=\\\"_getCircleRadius()\\\"\\n [style.animation-name]=\\\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\\\"\\n [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n\\n <circle\\n *ngSwitchCase=\\\"false\\\"\\n cx=\\\"50%\\\"\\n cy=\\\"50%\\\"\\n [attr.r]=\\\"_getCircleRadius()\\\"\\n [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n</svg>\\n\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 */\nclass MatProgressSpinnerModule {\n}\nMatProgressSpinnerModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatProgressSpinnerModule });\nMatProgressSpinnerModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatProgressSpinnerModule_Factory(t) { return new (t || MatProgressSpinnerModule)(); }, imports: [[MatCommonModule, CommonModule], MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatProgressSpinnerModule, { declarations: function () { return [MatProgressSpinner, MatSpinner]; }, imports: function () { return [MatCommonModule, CommonModule]; }, exports: function () { return [MatProgressSpinner, MatSpinner, MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatProgressSpinnerModule, [{\n type: NgModule,\n args: [{\n imports: [MatCommonModule, CommonModule],\n exports: [\n MatProgressSpinner,\n MatSpinner,\n MatCommonModule\n ],\n declarations: [\n MatProgressSpinner,\n MatSpinner\n ]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 { MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinner, MatProgressSpinnerModule, MatSpinner };\n\n//# sourceMappingURL=progress-spinner.js.map","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { GetAuctionStep1 } from '../../../../models';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport constants from '../../../../utility/constants';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LoaderService, LotService, AddLotModel } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport messages from '../../../../utility/messages';\r\nimport {\r\n AuctionImageUploadService,\r\n ImageFile,\r\n} from '../../../../services/auction-image-upload.service';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ImageValidators } from '../../../../core/validators/image-validators';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\n\r\n@Component({\r\n selector: 'lot-listing',\r\n templateUrl: './lot-listing.component.html',\r\n styleUrls: ['./lot-listing.component.css'],\r\n})\r\nexport class LotListingComponent implements OnInit {\r\n @Input() isAdminViewLot: boolean = false;\r\n @Input() auctionId: number;\r\n @Input() auctionData: GetAuctionStep1;\r\n @Output('goToStep') emitStep = new EventEmitter<number>();\r\n @Output('cancel') onCancelClick = new EventEmitter<boolean>();\r\n modalRef: BsModalRef;\r\n\r\n // both needs for add/edit lotForm\r\n lotAddEditActiveStep: number = 1;\r\n isIndividualLot: boolean = true;\r\n bidMaxAmount: number = constants.common.bid.bidMaxAmount;\r\n currentStep: number = 3;\r\n stepActive = 1;\r\n errorLogs: Array<string> = [];\r\n\r\n displayedColumns: string[] = [\r\n 'lotNo',\r\n 'lotDescription',\r\n 'location',\r\n 'startingPrice',\r\n 'reservePrice',\r\n 'lotEndTime',\r\n 'currentBid',\r\n 'lotButtons',\r\n 'isFeatured',\r\n 'lotAction',\r\n ];\r\n displayedColumns2: string[] = ['lotNo', 'lotDes', 'lotLocation', 'lotAction'];\r\n displayedColumns3: string[] = ['lotNo', 'lotDes', 'lotLocation', 'lotAction'];\r\n\r\n selectedLotData: any;\r\n\r\n // for pagination\r\n pageNumber: number = 1;\r\n pageSize: number = 50;\r\n searchTerm: string = '';\r\n isPaginated: boolean = true;\r\n\r\n showView: boolean = false;\r\n totalLots: number;\r\n lotsData: any;\r\n lotDeletedMessage: any;\r\n lotNumber: any;\r\n lotId: any;\r\n\r\n publishLoading: boolean = false;\r\n submitting: boolean = false;\r\n loading: boolean = false;\r\n\r\n // IMP for selected lot operations\r\n currentSelectedLot: any;\r\n\r\n // for manupulations on opening and reserve prices\r\n openingAndReservePriceArray: Array<{\r\n id: number;\r\n lotType: number;\r\n openingPrice: string;\r\n reservePrice: string;\r\n }> = [];\r\n\r\n // bulk lot related variables\r\n allBulkLots: Array<any> = [];\r\n allLotsOfBulkLot: Array<any> = [];\r\n bulkLotToBeAddInLot: any;\r\n bulkLotToBeAddInLotSubmit: boolean = false;\r\n\r\n // lotform image upload variables and settingg\r\n readonly lotImageSize: string = constants.admin.uploadSetting.lotMaxSize;\r\n readonly lotImageFormat: string = constants.admin.uploadSetting.lotType;\r\n resultantLotImages: Array<ImageFile> = [];\r\n thumbnailImageString: string = null;\r\n private uploadedThumbnailImage: ImageFile = null;\r\n addEditLotImages: ImageFile[] = [];\r\n\r\n // going to remove the lot, variable stored in this\r\n removingLotInfo: any;\r\n removeLotModalRef: BsModalRef;\r\n\r\n // bulk lot present is boolean\r\n isBulkLotPresent: boolean = false;\r\n\r\n isAuctionClosing: boolean;\r\n private subscriptions: Array<Subscription> = [];\r\n constructor(\r\n private lotService: LotService,\r\n private toastr: ToastrService,\r\n private modalService: BsModalService,\r\n private auctionImageUploader: AuctionImageUploadService,\r\n private loaderService: LoaderService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private auctionTimeService: AuctionTimeService\r\n ) {}\r\n\r\n private createAddLotModel(lot: any): AddLotModel {\r\n let model: AddLotModel = {\r\n isUpdateAndPublish: true,\r\n auctionId: lot.auctionId,\r\n consignor: lot.consigner,\r\n category: lot.category,\r\n description: lot.description,\r\n location: lot.location,\r\n lotId: lot.id,\r\n lotNumber: lot.lotNumber,\r\n lotType: lot.lotType,\r\n openingPrice: lot.openingPrice,\r\n reservePrice: lot.reservePrice,\r\n quantity: lot.quantity,\r\n lotNumberAfterWhichThisWillBeAdded: lot.lotNumberAfterWhichThisWillBeAdded || 0,\r\n };\r\n return model;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.fragment.subscribe((frag) => {\r\n if (frag) this.searchTerm = `#${frag}`;\r\n });\r\n\r\n this.isAuctionClosing = this.auctionTimeService.isLotClosingBegun(\r\n this.auctionData.endDateTimeUtc\r\n );\r\n\r\n this.getLots();\r\n }\r\n\r\n changeSearchValue(val: Observable<string>) {\r\n const vals = val.subscribe((value) => {\r\n this.searchTerm = value;\r\n this.pageNumber = 1;\r\n this.getLots();\r\n });\r\n this.subscriptions.push(vals);\r\n }\r\n\r\n switchModes(event) {\r\n this.isIndividualLot = event.target.value == 'true';\r\n }\r\n\r\n openAddLotModal(template: TemplateRef<any>) {\r\n this.currentSelectedLot = null;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template, modalOptions);\r\n }\r\n\r\n closeModal() {\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n this.currentSelectedLot = null;\r\n this.lotAddEditActiveStep = 1;\r\n this.loading = false;\r\n this.bulkLotToBeAddInLotSubmit = false;\r\n this.thumbnailImageString = null;\r\n this.uploadedThumbnailImage = null;\r\n this.bulkLotToBeAddInLot = null;\r\n this.addEditLotImages = [];\r\n this.thumbnailImageControl.reset();\r\n this.resultantLotImages = [];\r\n this.errorLogs = [];\r\n this.getLots();\r\n }\r\n }\r\n\r\n /////// prices change\r\n changePrices(lot: any, price: string, isReserve: boolean = false) {\r\n let checkPrice: number = price === '' ? null : +price;\r\n let lotId: number = lot.id;\r\n\r\n if (isReserve && lot.reservePrice === checkPrice) return;\r\n\r\n if (!isReserve && lot.openingPrice === checkPrice) return;\r\n\r\n let findedElementIndex = this.openingAndReservePriceArray.findIndex(\r\n (i) => i.id == lotId\r\n );\r\n\r\n if (findedElementIndex > -1) {\r\n let existedElement = this.openingAndReservePriceArray[findedElementIndex];\r\n\r\n this.openingAndReservePriceArray.splice(findedElementIndex, 1, {\r\n id: lotId,\r\n lotType: lot.lotType,\r\n openingPrice: isReserve ? existedElement.openingPrice : price,\r\n reservePrice: isReserve ? price : existedElement.reservePrice,\r\n });\r\n } else {\r\n let opening = lot.openingPrice == null ? '' : '' + lot.openingPrice;\r\n let reserve = lot.reservePrice == null ? '' : '' + lot.reservePrice;\r\n this.openingAndReservePriceArray.push({\r\n id: lotId,\r\n lotType: lot.lotType,\r\n openingPrice: isReserve ? opening : price,\r\n reservePrice: isReserve ? price : reserve,\r\n });\r\n }\r\n }\r\n\r\n savePrices() {\r\n if (this.openingAndReservePriceArray.length === 0) return;\r\n\r\n this.loaderService.showLoader(true);\r\n const mchanges = this.lotService\r\n .multiplePriceChange(this.auctionId, this.openingAndReservePriceArray)\r\n .subscribe(\r\n (res) => {\r\n this.loaderService.showLoader(false);\r\n this.openingAndReservePriceArray = [];\r\n if (res) {\r\n this.toastr.success('saved Successfully');\r\n this.getLots();\r\n }\r\n },\r\n () => {\r\n this.loaderService.showLoader(false);\r\n this.openingAndReservePriceArray = [];\r\n this.getLots();\r\n }\r\n );\r\n this.subscriptions.push(mchanges);\r\n }\r\n\r\n // paging change + lot listing\r\n paging() {\r\n let model = {\r\n auctionId: this.auctionId,\r\n pageNumber: this.pageNumber,\r\n pageSize: this.pageSize,\r\n isPaginated: this.isPaginated,\r\n searchTerm: this.searchTerm,\r\n };\r\n return model;\r\n }\r\n\r\n // get lot listing\r\n getLots() {\r\n this.checkBulkLotPresent();\r\n\r\n if (this.searchTerm == null) {\r\n this.searchTerm = '';\r\n }\r\n this.showView = false;\r\n this.loaderService.showLoader(true);\r\n const aucLots = this.lotService.getAuctionLot(this.paging()).subscribe(\r\n (response: any) => {\r\n this.lotsData = response.data;\r\n this.totalLots = response.totalCount;\r\n this.showView = true;\r\n this.loaderService.showLoader(false);\r\n },\r\n (err) => {\r\n this.totalLots = 0;\r\n this.loaderService.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(aucLots);\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.pageNumber = page;\r\n this.getLots();\r\n }\r\n\r\n // download csv\r\n downloadCSV() {\r\n const dcsv = this.lotService\r\n .downloadCSV(this.auctionId)\r\n .subscribe((res: any) => {\r\n const options = {\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalSeparator: '.',\r\n showLabels: true,\r\n showTitle: true,\r\n title: 'Lot Catalog',\r\n useTextFile: false,\r\n useBom: true,\r\n useKeysAsHeaders: true,\r\n };\r\n\r\n const csvExporter = new ExportToCsv(options);\r\n csvExporter.generateCsv(res);\r\n });\r\n this.subscriptions.push(dcsv);\r\n }\r\n\r\n addUpdateLot(lot) {\r\n let isPublishLot = true;\r\n this.submitting = true;\r\n\r\n this.submitting = false;\r\n if (isPublishLot) this.publishLoading = true;\r\n else this.loading = true;\r\n\r\n const clots = this.lotService\r\n .addUpdateLot(this.createAddLotModel(lot))\r\n .subscribe(\r\n (res: any) => {\r\n if (isPublishLot) this.publishLoading = false;\r\n else this.loading = false;\r\n },\r\n (err) => {\r\n if (isPublishLot) this.publishLoading = false;\r\n else this.loading = false;\r\n this.toastr.error(err, 'Error');\r\n }\r\n );\r\n this.subscriptions.push(clots);\r\n }\r\n\r\n\r\n publishLots() {\r\n this.loaderService.showLoader(true);\r\n let model = {\r\n auctionId: this.auctionId,\r\n };\r\n this.lotsData.forEach(lot => {\r\n if (!lot.openingPrice || lot.openingPrice === 0 || !lot.reservePrice || lot.reservePrice === 0) {\r\n if (lot.openingPrice === null || lot.openingPrice === 0) {\r\n lot.openingPrice = 1;\r\n }\r\n if (lot.reservePrice === null || lot.reservePrice === 0) {\r\n lot.reservePrice = 1;\r\n }\r\n this.addUpdateLot(lot);\r\n }\r\n })\r\n const plots = this.lotService.publishLots(model).subscribe(\r\n (res: any) => {\r\n this.toastr.success(\r\n 'Lot Catalog published successfully',\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.loaderService.showLoader(false);\r\n this.router.navigateByUrl('/admin/dashboard/auction');\r\n },\r\n (error) => {\r\n this.loaderService.showLoader(false);\r\n this.toastr.error(\r\n error,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n );\r\n this.subscriptions.push(plots);\r\n }\r\n\r\n // add/edit lot modal but not in use for now\r\n AddManageLotsModal(AddManageLots?: TemplateRef<any>) {\r\n this.modalRef = this.modalService.show(\r\n AddManageLots,\r\n Object.assign(\r\n {},\r\n {\r\n class:\r\n 'custom-popup AddManageLotsModal form-modal modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n }\r\n\r\n // manage bulk lot\r\n manageBulkLotsModal(manageBulkLots: TemplateRef<any>, lotData: any) {\r\n this.currentSelectedLot = lotData;\r\n this.getLotsOfBulk();\r\n this.modalRef = this.modalService.show(manageBulkLots, {\r\n class:\r\n 'custom-popup manageBulkLotsModal form-modal modal-dialog modal-dialog-centered',\r\n });\r\n }\r\n\r\n private getLotsOfBulk() {\r\n const blots = this.lotService\r\n .getLotsForBulkLot(this.currentSelectedLot.id)\r\n .subscribe(\r\n (res) => {\r\n this.allLotsOfBulkLot = res;\r\n },\r\n (err) => {\r\n this.toastr.error(err, 'Error');\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(blots);\r\n }\r\n\r\n // remove lots from bulk lot\r\n openRemoveLotModal(removeTemp: TemplateRef<any>, removeLotData: any) {\r\n this.removingLotInfo = removeLotData;\r\n this.removeLotModalRef = this.modalService.show(removeTemp, {\r\n class: 'modal-dialog modal-dialog-centered',\r\n });\r\n }\r\n\r\n removeLotFromBulkLot(lotData: any, isBulkLotList: boolean = false) {\r\n this.loaderService.showLoader(true);\r\n const rlots = this.lotService.removeLotFromBulk(lotData.id).subscribe(\r\n (res) => {\r\n this.loaderService.showLoader(false);\r\n if (res) {\r\n if (this.removeLotModalRef) this.removeLotModalRef.hide();\r\n if (isBulkLotList) {\r\n this.getLotsOfBulk();\r\n } else {\r\n this.toastr.success(\r\n `Lot Remove from Bulk Lot #${lotData.addedInBulkLotName} Successfully`,\r\n 'Success'\r\n );\r\n lotData.addedInBulkLotId = 0;\r\n lotData.addedInBulkLotName = '';\r\n }\r\n this.removingLotInfo = null;\r\n }\r\n },\r\n (err) => {\r\n this.toastr.error(err, 'Error');\r\n this.loaderService.showLoader(false);\r\n if (this.removeLotModalRef) this.removeLotModalRef.hide();\r\n }\r\n );\r\n this.subscriptions.push(rlots);\r\n }\r\n\r\n // add lot to existing bulk lot modal\r\n addLotsExistingBulkModal(\r\n addLotsExistingBulk: TemplateRef<any>,\r\n lotData: any\r\n ) {\r\n this.currentSelectedLot = lotData;\r\n\r\n const bulklots = this.lotService\r\n .getAllBulkLots(this.auctionId)\r\n .subscribe((res) => {\r\n this.allBulkLots = res;\r\n this.modalRef = this.modalService.show(addLotsExistingBulk, {\r\n class:\r\n 'custom-popup manageBulkLotsModal form-modal modal-dialog modal-dialog-centered',\r\n });\r\n });\r\n this.subscriptions.push(bulklots);\r\n }\r\n\r\n addBulkLotToLot() {\r\n this.bulkLotToBeAddInLotSubmit = true;\r\n if (!this.bulkLotToBeAddInLot) return;\r\n this.bulkLotToBeAddInLotSubmit = false;\r\n this.loaderService.showLoader(true);\r\n const addLots = this.lotService\r\n .addLotToBulkLot(this.currentSelectedLot.id, this.bulkLotToBeAddInLot.id)\r\n .subscribe(\r\n (res) => {\r\n this.loaderService.showLoader(false);\r\n if (res) {\r\n this.toastr.success(\r\n `Lot #${this.currentSelectedLot.lotNumber} Added in Bulk Lot#${this.bulkLotToBeAddInLot.lotNumber} Successfully`,\r\n 'Success'\r\n );\r\n this.currentSelectedLot.addedInBulkLotId =\r\n this.bulkLotToBeAddInLot.id;\r\n this.currentSelectedLot.addedInBulkLotName =\r\n this.bulkLotToBeAddInLot.lotNumber;\r\n this.closeModal();\r\n }\r\n },\r\n (err) => {\r\n this.toastr.error(err, 'Error');\r\n this.loaderService.showLoader(false);\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(addLots);\r\n }\r\n\r\n // lot pause resume\r\n openPauseResumeModal(template3: TemplateRef<any>, currentLot) {\r\n this.selectedLotData = currentLot;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template3, modalOptions);\r\n }\r\n\r\n pauseResumeBidding() {\r\n this.loaderService.showLoader(true);\r\n const pauseBidding = this.lotService\r\n .pauseResumeBidding(this.selectedLotData.id)\r\n .subscribe(\r\n (res) => {\r\n this.toastr.success(\r\n `Bidding on lot #${this.selectedLotData.lotNumber} ${\r\n this.selectedLotData.isBiddingPaused ? 'resumed' : 'paused'\r\n } successfully`,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.selectedLotData.isBiddingPaused =\r\n !this.selectedLotData.isBiddingPaused;\r\n this.loaderService.showLoader(false);\r\n this.closeModal();\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.loaderService.showLoader(false);\r\n this.closeModal();\r\n }\r\n );\r\n this.subscriptions.push(pauseBidding);\r\n }\r\n\r\n // lot mark as featured\r\n markLotAsFeatured(lot: any) {\r\n const mlots = this.lotService.markLotFeatured(lot.id).subscribe((res) => {\r\n if (res) {\r\n lot.isFeatured = !lot.isFeatured;\r\n this.toastr.success(\r\n `Lot #${lot.lotNumber} ${\r\n lot.isFeatured ? 'Marked' : 'Unmarked'\r\n } as Featured Successfully`\r\n );\r\n }\r\n });\r\n this.subscriptions.push(mlots);\r\n }\r\n\r\n // cancel button\r\n onCancel() {\r\n this.onCancelClick.emit(true);\r\n }\r\n\r\n // open modal\r\n openModal(template: TemplateRef<any>, lotData: any) {\r\n if (this.auctionData.auctionStatus == 1) {\r\n this.lotDeletedMessage =\r\n 'You are deleting a lot that may have bids in place. Deleting the lot will also delete any existing bids on the lot. Are you sure you want to delete this lot?';\r\n } else {\r\n this.lotDeletedMessage = 'Are you sure you want to delete this lot?';\r\n }\r\n this.modalRef = this.modalService.show(\r\n template,\r\n Object.assign(\r\n {},\r\n {\r\n class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n }\r\n )\r\n );\r\n this.lotNumber = lotData.lotNumber;\r\n this.lotId = lotData.id;\r\n }\r\n\r\n // open lot\r\n openLotModal(template3: TemplateRef<any>, lotData: any) {\r\n this.currentSelectedLot = lotData;\r\n this.isIndividualLot = this.currentSelectedLot.lotType == 1;\r\n let modalOptions: ModalOptions = {\r\n backdrop: 'static',\r\n keyboard: false,\r\n class:\r\n 'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n };\r\n this.modalRef = this.modalService.show(template3, modalOptions);\r\n this.findThumbnailImage();\r\n }\r\n\r\n // go to step back\r\n goToStep(isBack: boolean = false) {\r\n this.emitStep.emit(!isBack ? this.currentStep + 1 : this.currentStep - 1);\r\n }\r\n\r\n // delete lot\r\n onDelete(id: number) {\r\n this.loaderService.showLoader(true);\r\n const dlots = this.lotService.deleteLot(id).subscribe(\r\n () => {\r\n this.toastr.success(\r\n messages.lot.deleted,\r\n constants.common.toast.successTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n this.loaderService.showLoader(false);\r\n },\r\n (err) => {\r\n this.toastr.error(\r\n err,\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n this.closeModal();\r\n this.loaderService.showLoader(false);\r\n }\r\n );\r\n this.subscriptions.push(dlots);\r\n }\r\n\r\n //// lot add/edit, step1 operations\r\n // thumbnailImageControl\r\n thumbnailImageControl = new FormControl(null, [\r\n ImageValidators.sizeCheck(this.lotImageSize),\r\n ImageValidators.imageFormat(this.lotImageFormat),\r\n ]);\r\n\r\n // switch steps\r\n switchLotAddEditSteps(stepNum: number) {\r\n this.lotAddEditActiveStep = stepNum;\r\n this.findThumbnailImage();\r\n this.errorLogs = [];\r\n this.resultantLotImages = [];\r\n let file = this.getThumbnailImage();\r\n if (file && typeof file?.name !== 'string') {\r\n this.thumbnailImageControl.reset();\r\n this.thumbnailImageString = null;\r\n }\r\n }\r\n\r\n // when step1 of lotForm completed\r\n lotFormStepCompleted(newlyAddedLotData: any) {\r\n this.addEditFormDone();\r\n this.currentSelectedLot = newlyAddedLotData;\r\n this.switchLotAddEditSteps(2);\r\n }\r\n\r\n //// lot image upload, step2 operations\r\n // identify thumbnail image\r\n\r\n findThumbnailImage() {\r\n if (this.currentSelectedLot?.images?.length) {\r\n if (this.currentSelectedLot?.images[0]) {\r\n this.uploadedThumbnailImage = this.currentSelectedLot?.images[0];\r\n this.thumbnailImageString =\r\n this.currentSelectedLot?.images[0].name + '?' + this.newGuid();\r\n this.addEditLotImages = this.currentSelectedLot?.images.slice(\r\n 1,\r\n this.currentSelectedLot?.images.length\r\n );\r\n } else {\r\n this.addEditLotImages = this.currentSelectedLot?.images;\r\n }\r\n }\r\n }\r\n private newGuid() {\r\n return new Date().getTime();\r\n }\r\n\r\n getThumbnailImage(): ImageFile {\r\n let file = this.thumbnailImageControl.value;\r\n if (this.uploadedThumbnailImage && file)\r\n return { id: this.uploadedThumbnailImage.id, name: file, order: 1 };\r\n return file ? { id: 0, name: file, order: 1 } : null;\r\n }\r\n\r\n // add thumbnail image\r\n uploadThumbnailImage(files: FileList) {\r\n let reader = new FileReader();\r\n this.thumbnailImageString = null;\r\n let control = this.thumbnailImageControl;\r\n if (files.length > 0) {\r\n control.setValue(files[0]);\r\n control.markAsTouched();\r\n control.updateValueAndValidity();\r\n if (control.valid) {\r\n reader.readAsDataURL(files[0]);\r\n reader.onload = () => {\r\n this.thumbnailImageString = reader.result as string;\r\n };\r\n } else {\r\n this.thumbnailImageString = null;\r\n control.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n // when click on step2 save button, images got upload and close modal\r\n async addEditLotStep2Submit() {\r\n this.errorLogs = [];\r\n if (\r\n !this.thumbnailImageControl.value &&\r\n this.resultantLotImages.length == 0\r\n ) {\r\n this.closeModal();\r\n return;\r\n }\r\n\r\n let thumbnail = this.getThumbnailImage();\r\n let failedImages = [];\r\n this.loading = true;\r\n\r\n if (thumbnail) {\r\n try {\r\n await this.auctionImageUploader\r\n .uploadLotImage(\r\n this.currentSelectedLot.id,\r\n thumbnail.id,\r\n thumbnail.name,\r\n thumbnail.order\r\n )\r\n .toPromise();\r\n } catch (err) {\r\n let fileName =\r\n typeof thumbnail.name === 'string'\r\n ? thumbnail.name\r\n : thumbnail.name?.name;\r\n this.errorLogs.push(`issue for image ${fileName} : ${err}`);\r\n failedImages.push(err);\r\n }\r\n }\r\n\r\n if (this.resultantLotImages.length) {\r\n for (let processNum = 1; processNum <= this.resultantLotImages.length; ) {\r\n let fileProcess = this.resultantLotImages[processNum - 1];\r\n try {\r\n await this.auctionImageUploader\r\n .uploadLotImage(\r\n this.currentSelectedLot.id,\r\n fileProcess.id,\r\n fileProcess.name,\r\n fileProcess.order + 1\r\n )\r\n .toPromise();\r\n } catch (err) {\r\n processNum++;\r\n let fileName =\r\n typeof fileProcess.name === 'string'\r\n ? fileProcess.name\r\n : fileProcess.name.name;\r\n this.errorLogs.push(`issue for image ${fileName} : ${err}`);\r\n failedImages.push(err);\r\n continue;\r\n }\r\n processNum++;\r\n }\r\n if (failedImages && failedImages.length > 0) {\r\n this.toastr.error(\r\n 'Error(s) occured while uploading images, please see logs',\r\n constants.common.toast.errorTitle,\r\n constants.common.toast.config\r\n );\r\n }\r\n }\r\n this.loading = false;\r\n if (this.errorLogs && this.errorLogs.length === 0) {\r\n this.addEditFormDone();\r\n this.closeModal();\r\n }\r\n }\r\n\r\n private addEditFormDone() {\r\n this.toastr.success(\r\n `${this.isIndividualLot ? 'Piecemeal' : 'Bulk'} Lot ${\r\n this.currentSelectedLot ? 'Updated' : 'Added'\r\n } Successfully`,\r\n 'Success'\r\n );\r\n }\r\n\r\n //// check bulk lot present in it or not\r\n private checkBulkLotPresent() {\r\n this.isBulkLotPresent = false;\r\n const lotpresent = this.lotService\r\n .isAnyBulkLotPresent(this.auctionId)\r\n .subscribe((res) => (this.isBulkLotPresent = res));\r\n this.subscriptions.push(lotpresent);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => {\r\n sub.unsubscribe();\r\n });\r\n }\r\n}\r\n","<app-auction-announcement class=\"col-12\" [auctionId]=\"auctionId\" [auction]=\"auctionData\">\r\n</app-auction-announcement>\r\n\r\n<div class=\"col-12 manage-lot-wrapper\">\r\n <div class=\"row\" *ngIf=\"totalLots\">\r\n <div class=\"col-12\">\r\n <div class=\"manage-lot-hdg mb-3 mt-0 mt-md-2\">\r\n <h1 class=\"hdg m-0\">Manage Lots ({{ totalLots }} Lots)</h1>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row filter-wrap\">\r\n <div class=\"col-md-6\">\r\n <search-control [placeholder]=\"'Search by lot # or description'\" [initialValue]=\"searchTerm\"\r\n [classes]=\"'colored-search-border'\" (value)=\"changeSearchValue($event)\">\r\n </search-control>\r\n </div>\r\n <div class=\"col-md-6 text-right\">\r\n <button class=\"btn btn-white-border mb-2\" type=\"button\" role=\"button\" (click)=\"savePrices()\">\r\n Save\r\n </button>\r\n\r\n <button class=\"btn btn-white-border ml-2 mb-2\" type=\"button\" role=\"button\" (click)=\"downloadCSV()\">\r\n Download Lot Catalog\r\n </button>\r\n\r\n <button class=\"btn btn-colored ml-2 mb-2\" type=\"button\" role=\"button\" (click)=\"openAddLotModal(addLotModal)\">\r\n + Add New Lot\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"empty-state-container\" *ngIf=\"totalLots <= 0; else showTable\">\r\n <div class=\"empty-state-content\">\r\n <img alt=\"empty\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n <h3 class=\"_heading\">No results found</h3>\r\n </div>\r\n </div>\r\n <ng-template #showTable>\r\n <div class=\"data-table-wrap w-100\">\r\n <div [ngClass]=\"{\r\n 'disable-event': this.openingAndReservePriceArray.length > 0\r\n }\">\r\n <p *ngIf=\"this.openingAndReservePriceArray.length > 0\">\r\n You left with some changes, save them first please\r\n </p>\r\n <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\" *ngIf=\"totalLots > pageSize\">\r\n </app-paginator>\r\n </div>\r\n\r\n <table aria-label=\"lotsTable\" mat-table [dataSource]=\"\r\n lotsData\r\n | paginate\r\n : {\r\n id: 'server',\r\n itemsPerPage: pageSize,\r\n currentPage: pageNumber,\r\n totalItems: totalLots\r\n }\r\n \" class=\"mat-elevation-z8 w-100 table-with-border manage-lots-table\">\r\n <ng-container matColumnDef=\"lotNo\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>No.</th>\r\n <td mat-cell class=\"column-1 listing-data-entry table-with-row-header\" *matCellDef=\"let element\">\r\n <span class=\"td-header\">Lot #</span> {{ element?.lotNumber }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotDescription\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n <td mat-cell #tooltip=\"matTooltip\" matTooltip=\"{{ element?.description }}\"\r\n class=\"column-2 listing-data-entry table-with-row-header yellow-bg\" *matCellDef=\"let element\">\r\n <span class=\"td-header\">Lot Description</span>\r\n {{ element?.description | characterLimit: 50 }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"location\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Weight</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Location</span> {{ element?.location }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startingPrice\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n class=\"column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Starting Price</span>\r\n <input class=\"form-control\" type=\"number\" [id]=\"element?.lotNumber\" min=\"0\" [max]=\"bidMaxAmount\"\r\n [value]=\"element?.openingPrice\" (change)=\"changePrices(element, $event.target.value, false)\" />\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"reservePrice\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>\r\n Reserve Price\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-5 listing-data-entry table-with-row-header\">\r\n <ng-container *ngIf=\"element.lotType == 1\">\r\n <span class=\"td-header\">Reserve Price</span>\r\n <input class=\"form-control\" type=\"number\" [id]=\"element?.lotNumber\" min=\"0\" [max]=\"bidMaxAmount\"\r\n [value]=\"element?.reservePrice\" [disabled]=\"element.addedInBulkLotId\"\r\n (change)=\"changePrices(element, $event.target.value, true)\" />\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotEndTime\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n class=\"column-6 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot End Time</span>\r\n {{\r\n element?.lotEndTime\r\n | toLocalDateTime: false:element?.timeZoneName\r\n }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"currentBid\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-7 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Current Bid</span>\r\n {{\r\n element?.currentBid == null\r\n ? \"-\"\r\n : (element?.currentBid\r\n | auctionCurrency: auctionData?.currencyName)\r\n }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"isFeatured\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Featured</th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n class=\"column-8 listing-data-entry table-with-row-header yellow-bg\">\r\n <ng-container *ngIf=\"element.lotType == 1\">\r\n <span class=\"td-header\">Featured</span>\r\n {{ element.isFeatured ? \"Yes\" : \"No\" }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotButtons\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-10 listing-data-entry table-with-row-header\">\r\n <ng-container *ngIf=\"element.lotType == 1\">\r\n <span class=\"td-header\">Bulk Lot</span>\r\n {{ element.addedInBulkLotName | isEmpty }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotAction\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-11\">\r\n <div class=\"for-icons\">\r\n <a *ngIf=\"!element.isBiddingPaused\"\r\n class=\"hover-icon pauseBiddingIcon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n [matTooltip]=\"'Pause Bidding'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n role=\"button\" (click)=\"openPauseResumeModal(pauseResumeModal, element)\"></a>\r\n\r\n <a *ngIf=\"element.isBiddingPaused\"\r\n class=\"hover-icon resumeBiddingIcon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n [matTooltip]=\"'Resume Bidding'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n role=\"button\" (click)=\"openPauseResumeModal(pauseResumeModal, element)\"></a>\r\n\r\n <a class=\"hover-icon edit-icon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n [matTooltip]=\"'Edit'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n role=\"button\" (click)=\"openLotModal(addLotModal, element)\"></a>\r\n\r\n <p class=\"hover-icon custom-tooltip custom-tooltip2 m-0 delete-icon\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Delete\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n role=\"button\" (click)=\"openModal(deleteModal, element)\"></p>\r\n </div>\r\n\r\n <div class=\"custom-dropdown align-self-center\">\r\n <button class=\"no-bg-btn hover-icon\" mat-icon-button [matMenuTriggerFor]=\"listingMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #listingMenu=\"matMenu\">\r\n <div class=\"custom-dropdown\">\r\n <button mat-menu-item [class]=\"\r\n element?.images == null ||\r\n element?.images?.length == 0\r\n ? 'd-none'\r\n : ''\r\n \" type=\"button\" [title]=\"\r\n element?.images == null ||\r\n element?.images?.length == 0\r\n ? 'No images added yet'\r\n : ''\r\n \" [disabled]=\"\r\n element?.images == null ||\r\n element?.images?.length == 0\r\n \" imagePreview [thumbnailImages]=\"element?.thumbnailImages\" [actualImages]=\"element?.images\"\r\n [header]=\"'Lot Images'\" [lotData]=\"{\r\n lotNumber: element?.lotNumber,\r\n lotDesc: element?.lotDescription\r\n }\">\r\n View Lot Images\r\n </button>\r\n\r\n <ng-container *ngIf=\"element.lotType == 1\">\r\n <button mat-menu-item type=\"button\" role=\"button\" (click)=\"markLotAsFeatured(element)\">\r\n {{ element.isFeatured ? \"Unmark\" : \"Mark\" }} Lot as\r\n Featured\r\n </button>\r\n <ng-container *ngIf=\"!isAuctionClosing && isBulkLotPresent\">\r\n <button mat-menu-item *ngIf=\"!element.addedInBulkLotId\" type=\"button\" role=\"button\" (click)=\"\r\n addLotsExistingBulkModal(\r\n addLotsExistingBulk,\r\n element\r\n )\r\n \">\r\n Add to Existing Bulk Lot\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isAuctionClosing\">\r\n <button mat-menu-item *ngIf=\"element.addedInBulkLotId\" type=\"button\" role=\"button\"\r\n (click)=\"removeLotFromBulkLot(element)\">\r\n Remove from Bulk Lot\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"element.lotType == 2\">\r\n <button mat-menu-item type=\"button\" role=\"button\"\r\n (click)=\"manageBulkLotsModal(manageBulkLots, element)\">\r\n Manage Lots\r\n </button>\r\n </ng-container>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n </table>\r\n\r\n <div [ngClass]=\"{\r\n 'disable-event': this.openingAndReservePriceArray.length > 0\r\n }\">\r\n <p *ngIf=\"this.openingAndReservePriceArray.length > 0\">\r\n You left with some changes, save them first please\r\n </p>\r\n <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n (page)=\"onPageChange($event)\" *ngIf=\"totalLots > pageSize\">\r\n </app-paginator>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"lot-btns lot-step1-btns mt-3 sticky-actions-group\">\r\n <button class=\"btn btn-white-border mr-2 mb-2 min-110\" role=\"button\" (click)=\"onCancel()\"\r\n *ngIf=\"!isAdminViewLot\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-white-border mr-2 mb-2 min-110\" role=\"button\" (click)=\"goToStep(true)\"\r\n *ngIf=\"!isAdminViewLot\">\r\n Back\r\n </button>\r\n <button class=\"btn btn-colored mb-2\" [disabled]=\"lotsData?.length == 0\" role=\"button\" (click)=\"publishLots()\">\r\n Publish & Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #deleteModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"delete-data\">\r\n <img alt=\"delete\" src=\"../assets/images/delete-icon.svg\" class=\"delete-icon\" />\r\n <h1 class=\"modal-inner-hdg mt-3 mb-0\">Delete Lot</h1>\r\n <p class=\"des\">{{ lotDeletedMessage }}</p>\r\n <div class=\"delete-btns\">\r\n <button class=\"btn btn-text mr-3\" role=\"button\" (click)=\"modalRef.hide()\">\r\n Cancel\r\n </button>\r\n\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"onDelete(lotId)\">\r\n Yes, Delete\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #pauseResumeModal>\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title pull-left\"></h4>\r\n <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"delete-data\">\r\n <h1 class=\"modal-inner-hdg mt-3 mb-0\">\r\n {{ selectedLotData.isBiddingPaused ? \"Resume\" : \"Pause\" }} Bidding\r\n </h1>\r\n <p class=\"des\">\r\n Are you sure you want to\r\n {{ selectedLotData.isBiddingPaused ? \"resume\" : \"pause\" }} bidding on\r\n the lot #{{ selectedLotData.lotNumber }}?\r\n </p>\r\n <div class=\"delete-btns\">\r\n <button class=\"btn btn-text mr-3\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n\r\n <button class=\"btn btn-colored\" role=\"button\" (click)=\"pauseResumeBidding()\">\r\n Yes\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #addLotModal>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">\r\n {{ !currentSelectedLot ? \"Add New\" : \"Update\" }} Lot\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeModal()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body pt-0\">\r\n <div class=\"list-filter-tabs manageLotTabs mb-3\" [ngClass]=\"{\r\n 'disable-event': !currentSelectedLot\r\n }\">\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n active: lotAddEditActiveStep == 1\r\n }\" role=\"button\" (click)=\"switchLotAddEditSteps(1)\">\r\n <span class=\"step-name\">Lot Details</span>\r\n </button>\r\n\r\n <button class=\"list-tab\" [ngClass]=\"{\r\n active: lotAddEditActiveStep == 2\r\n }\" role=\"button\" (click)=\"switchLotAddEditSteps(2)\">\r\n <span class=\"step-name\">Lot Images</span>\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"lotAddEditActiveStep == 1\">\r\n <app-lot-form [auctionId]=\"auctionId\" [lotId]=\"currentSelectedLot?.id\" [auctionData]=\"auctionData\"\r\n (lotFormStep1Completed)=\"lotFormStepCompleted($event)\" *ngIf=\"isIndividualLot\">\r\n <!-- *IMP, do not remove the class closeModalButton, it is for content projection -->\r\n <button type=\"button\" class=\"btn btn-white-border font-15 closeModalButton\" role=\"button\"\r\n (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n </app-lot-form>\r\n <app-bulk-lot-form [auctionId]=\"auctionId\" [lotId]=\"currentSelectedLot?.id\" [auctionData]=\"auctionData\"\r\n (lotFormStep1Completed)=\"lotFormStepCompleted($event)\" *ngIf=\"!isIndividualLot\">\r\n <!-- *IMP, do not remove the class lotType, it is for content projection -->\r\n <div class=\"col-md-12 lotType\" *ngIf=\"!currentSelectedLot\">\r\n <div class=\"form-group mb-2\">\r\n <label class=\"form-label\">Lot Type</label>\r\n <div class=\"d-flex for-mobile-radio for-mobile-wrap\">\r\n <div class=\"form-group custom-radio radio-green mr-4 pr-3 mb-1\">\r\n <input type=\"radio\" name=\"status\" value=\"false\" [checked]=\"!isIndividualLot\"\r\n (change)=\"switchModes($event)\" id=\"1\" />\r\n <label for=\"1\">Bulk Lot</label>\r\n </div>\r\n <div class=\"form-group custom-radio radio-green mr-4 pr-3 mb-1\">\r\n <input type=\"radio\" name=\"status\" value=\"true\" [checked]=\"isIndividualLot\"\r\n (change)=\"switchModes($event)\" id=\"2\" />\r\n <label for=\"2\">Individual Lot</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- *IMP, do not remove the class closeModalButton, it is for content projection -->\r\n <button type=\"button\" class=\"btn btn-white-border font-15 closeModalButton\" role=\"button\"\r\n (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n </app-bulk-lot-form>\r\n </div>\r\n\r\n <div *ngIf=\"lotAddEditActiveStep == 2\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <p class=\"small-label mb-3\">Thumbnail Image</p>\r\n <p class=\"upload-note m-0 pb-2\">\r\n image should be greater than 256 Pixel X 256 pixel\r\n </p>\r\n <div class=\"upload-with-name\">\r\n <div class=\"custom-file-upload\">\r\n <span class=\"upload-inner\">\r\n <div *ngIf=\"thumbnailImageString != null; else showPlaceholder\">\r\n <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"thumbnailImageString\" />\r\n </div>\r\n <ng-template #showPlaceholder>\r\n <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" title=\"thumb-image\"\r\n alt=\"thumb-image\" />\r\n </ng-template>\r\n <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n (click)=\"cover.click()\" />\r\n </span>\r\n <input type=\"file\" style=\"display: none\" [accept]=\"lotImageFormat\" #cover\r\n (change)=\"uploadThumbnailImage($event.target.files)\" />\r\n </div>\r\n <div class=\"for-info\">\r\n <p class=\"upload-note m-0\">\r\n Recommended Size : <br class=\"d-sm-none\" />\r\n 1024 * 720 px <br />\r\n <br class=\"d-sm-none\" />\r\n File size should not exceed\r\n {{ +lotImageSize / (1024 * 1024) }} MB\r\n </p>\r\n <control-messages [control]=\"thumbnailImageControl\"></control-messages>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <p class=\"small-label mb-3\">Lot Images</p>\r\n <p class=\"upload-note m-0 pb-2\">\r\n image should be greater than 256 Pixel X 256 pixel\r\n </p>\r\n <image-uploader [lotId]=\"currentSelectedLot?.id\" [imageSize]=\"+lotImageSize\" [imageFormat]=\"lotImageFormat\"\r\n [uploadedImages]=\"addEditLotImages\" [orderChangeNeeded]=\"true\"\r\n (resultantImages)=\"resultantLotImages = $event\" [errorLogs]=\"errorLogs\"></image-uploader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-popup-wrap pt-2 mt-2\">\r\n <button type=\"button\" class=\"btn btn-white-border font-15 mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored font-15\" [disabled]=\"loading\" role=\"button\"\r\n (click)=\"addEditLotStep2Submit()\">\r\n <span *ngIf=\"loading\" class=\"spinner-border spinner-border-sm mr-1\"></span>Save & Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #manageBulkLots>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">Manage Lots For Bulk Lot</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeModal()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body pt-1 plMob20\">\r\n <div class=\"modalAlertWrapper\">\r\n <div class=\"leftWrapAlert\">\r\n <h4 class=\"name\">Lot #</h4>\r\n <p class=\"des\">{{ currentSelectedLot?.lotNumber }}</p>\r\n </div>\r\n <div class=\"rightWrapAlert\">\r\n <h4 class=\"name\">Lot Description</h4>\r\n <p class=\"des\">{{ currentSelectedLot?.description }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"data-table-wrap w-100\">\r\n <table aria-label=\"table\" mat-table [dataSource]=\"allLotsOfBulkLot\"\r\n class=\"mat-elevation-z8 w-100 table-with-border manageBulkLotsTable\">\r\n <ng-container matColumnDef=\"lotNo\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot #</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-1 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Lot #</span> {{ element.lotNumber }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotDes\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot Description</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot Description</span>\r\n <p class=\"m-0 forPadText\">{{ element.description }}</p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotLocation\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Location</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Location</span> {{ element.location }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotAction\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-4 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\"> </span>\r\n <div class=\"for-icons justify-content-end\">\r\n <p class=\"hover-icon custom-tooltip custom-tooltip2 m-0 delete-icon\" #tooltip=\"matTooltip\"\r\n matTooltip=\"Delete\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\" role=\"button\"\r\n (click)=\"openRemoveLotModal(removeLotFromBulkTemp, element)\"></p>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns2\"></tr>\r\n </table>\r\n </div>\r\n\r\n <div class=\"pt-3 text-center\">\r\n <button type=\"button\" class=\"btn btn-white-border font-15 mr-2 min-100\" role=\"button\" (click)=\"closeModal()\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #addLotsExistingBulk>\r\n <div class=\"modal-header align-items-start\">\r\n <h4 class=\"modal-title pull-left\">Add Lot to Existing Bulk Lot</h4>\r\n <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n (click)=\"closeModal()\">\r\n <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"modal-body pt-1 plMob20\">\r\n <div class=\"modalAlertWrapper\">\r\n <div class=\"leftWrapAlert\">\r\n <h4 class=\"name\">Lot #</h4>\r\n <p class=\"des\">{{ currentSelectedLot?.lotNumber }}</p>\r\n </div>\r\n <div class=\"rightWrapAlert\">\r\n <h4 class=\"name\">Lot Description</h4>\r\n <p class=\"des\">{{ currentSelectedLot?.description }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"data-table-wrap w-100\">\r\n <table aria-label=\"table\" mat-table [dataSource]=\"allBulkLots\"\r\n class=\"mat-elevation-z8 w-100 table-with-border addLotsExistingBulkTable\">\r\n <ng-container matColumnDef=\"lotNo\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-1 listing-data-entry table-with-row-header\">\r\n <div class=\"form-group custom-radio radio-green m-0\">\r\n <input type=\"radio\" name=\"status\" id=\"lotRow\" role=\"button\" (click)=\"bulkLotToBeAddInLot = element\" />\r\n <label for=\"lotRow\" class=\"m-0\"> </label>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotDes\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot #</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Lot #</span> {{ element.lotNumber }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotLocation\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Description</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n <span class=\"td-header\">Lot Description</span>\r\n <p class=\"m-0 forPadText\">{{ element.description }}</p>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lotAction\">\r\n <th scope=\"col\" mat-header-cell *matHeaderCellDef>Location</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n <span class=\"td-header\">Location</span> {{ element.location }}\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns3\"></tr>\r\n </table>\r\n </div>\r\n\r\n <p class=\"error-msg\" *ngIf=\"!bulkLotToBeAddInLot && bulkLotToBeAddInLotSubmit\">\r\n please select a bulk lot first\r\n </p>\r\n\r\n <div class=\"pt-3 pb-0 pb-md-3\">\r\n <button type=\"button\" class=\"btn btn-white-border font-15 mr-2 min-100\" role=\"button\" (click)=\"closeModal()\">\r\n Cancel\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-colored font-15 min-130\"\r\n [disabled]=\"!bulkLotToBeAddInLot && bulkLotToBeAddInLotSubmit\" role=\"button\" (click)=\"addBulkLotToLot()\">\r\n Save & Add\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #removeLotFromBulkTemp>\r\n <div class=\"red-alert modal-body text-center\">\r\n <p>\r\n Are you sure you want to remove lot #{{ removingLotInfo?.lotNumber }} from\r\n Bulk Bid Lot #{{ currentSelectedLot?.lotNumber }}?\r\n </p>\r\n <button type=\"button\" class=\"btn btn-sm btn-colored font-15 min-130 mr-2\" role=\"button\"\r\n (click)=\"removeLotFromBulkLot(removingLotInfo, true)\">\r\n Ok\r\n </button>\r\n <button type=\"button\" class=\"btn btn-sm btn-white-border font-15 min-100\" role=\"button\"\r\n (click)=\"removeLotModalRef.hide()\">\r\n Cancel\r\n </button>\r\n </div>\r\n</ng-template>\r\n","import { ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport class TextFileValidators {\r\n\r\n public static textFormat(fileType: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n let file: any = control.value;\r\n if (file === null) return null;\r\n let formats = fileType.split(',');\r\n if (formats.find((i) => i == file.type) == undefined)\r\n return {\r\n invalidFileType: {\r\n invalidFileType: true,\r\n requiredType: fileType.split('text/').join(''),\r\n },\r\n };\r\n return null;\r\n };\r\n }\r\n\r\n public static textExtension(fileType: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n let file: any = control.value;\r\n if (file === null) return null;\r\n if (typeof file == 'string') return null;\r\n return !(file.name.split('.')[1].toLowerCase() === fileType) ? {\r\n invalidFileExtension: {\r\n invalidFileExtension: true,\r\n requiredType: '.' + fileType,\r\n },\r\n } : null;\r\n };\r\n }\r\n\r\n public static sizeCheck(fileSize: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n let file: any = control.value;\r\n if (typeof file == 'string') return null;\r\n if (file != null) {\r\n if (+file.size > +fileSize)\r\n //in MB\r\n return {\r\n invalidFileSize: {\r\n invalidFileSize: true,\r\n requiredSize: +fileSize,\r\n },\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n}","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { InjectionToken, EventEmitter, Directive, ChangeDetectorRef, ElementRef, Inject, ViewChild, TemplateRef, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, forwardRef, ViewContainerRef, NgZone, Optional, Host, NgModule } from '@angular/core';\nimport { mixinDisableRipple, MAT_OPTION_PARENT_COMPONENT, MAT_OPTGROUP, MatOption, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';\nimport { Subscription, Subject, defer, merge, of, fromEvent } from 'rxjs';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ESCAPE, hasModifierKey, ENTER, UP_ARROW, DOWN_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { _getShadowRoot } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormField, MAT_FORM_FIELD } from '@angular/material/form-field';\nimport { take, switchMap, filter, map, tap, delay } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC 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 * Autocomplete IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from '@angular/cdk/overlay';\nimport * as ɵngcc3 from '@angular/cdk/bidi';\nimport * as ɵngcc4 from '@angular/cdk/scrolling';\nimport * as ɵngcc5 from '@angular/material/form-field';\n\nconst _c0 = [\"panel\"];\nfunction MatAutocomplete_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"id\", ctx_r0.id)(\"ngClass\", ctx_r0._classList);\n} }\nconst _c1 = [\"*\"];\nlet _uniqueAutocompleteIdCounter = 0;\n/** Event object that is emitted when an autocomplete option is selected. */\nclass MatAutocompleteSelectedEvent {\n constructor(\n /** Reference to the autocomplete panel that emitted the event. */\n source, \n /** Option that was selected. */\n option) {\n this.source = source;\n this.option = option;\n }\n}\n// Boilerplate for applying mixins to MatAutocomplete.\n/** @docs-private */\nclass MatAutocompleteBase {\n}\nconst _MatAutocompleteMixinBase = mixinDisableRipple(MatAutocompleteBase);\n/** Injection token to be used to override the default options for `mat-autocomplete`. */\nconst MAT_AUTOCOMPLETE_DEFAULT_OPTIONS = new InjectionToken('mat-autocomplete-default-options', {\n providedIn: 'root',\n factory: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY() {\n return { autoActiveFirstOption: false };\n}\n/** Base class with all of the `MatAutocomplete` functionality. */\nclass _MatAutocompleteBase extends _MatAutocompleteMixinBase {\n constructor(_changeDetectorRef, _elementRef, defaults) {\n super();\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._activeOptionChanges = Subscription.EMPTY;\n /** Whether the autocomplete panel should be visible, depending on option length. */\n this.showPanel = false;\n this._isOpen = false;\n /** Function that maps an option's control value to its display value in the trigger. */\n this.displayWith = null;\n /** Event that is emitted whenever an option from the list is selected. */\n this.optionSelected = new EventEmitter();\n /** Event that is emitted when the autocomplete panel is opened. */\n this.opened = new EventEmitter();\n /** Event that is emitted when the autocomplete panel is closed. */\n this.closed = new EventEmitter();\n /** Emits whenever an option is activated using the keyboard. */\n this.optionActivated = new EventEmitter();\n this._classList = {};\n /** Unique ID to be used by autocomplete trigger's \"aria-owns\" property. */\n this.id = `mat-autocomplete-${_uniqueAutocompleteIdCounter++}`;\n this._autoActiveFirstOption = !!defaults.autoActiveFirstOption;\n }\n /** Whether the autocomplete panel is open. */\n get isOpen() { return this._isOpen && this.showPanel; }\n /**\n * Whether the first option should be highlighted when the autocomplete panel is opened.\n * Can be configured globally through the `MAT_AUTOCOMPLETE_DEFAULT_OPTIONS` token.\n */\n get autoActiveFirstOption() { return this._autoActiveFirstOption; }\n set autoActiveFirstOption(value) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n /**\n * Takes classes set on the host mat-autocomplete element and applies them to the panel\n * inside the overlay container to allow for easy styling.\n */\n set classList(value) {\n if (value && value.length) {\n this._classList = value.split(' ').reduce((classList, className) => {\n classList[className.trim()] = true;\n return classList;\n }, {});\n }\n else {\n this._classList = {};\n }\n this._setVisibilityClasses(this._classList);\n this._elementRef.nativeElement.className = '';\n }\n ngAfterContentInit() {\n this._keyManager = new ActiveDescendantKeyManager(this.options).withWrap();\n this._activeOptionChanges = this._keyManager.change.subscribe(index => {\n this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n });\n // Set the initial visibility state.\n this._setVisibility();\n }\n ngOnDestroy() {\n this._activeOptionChanges.unsubscribe();\n }\n /**\n * Sets the panel scrollTop. This allows us to manually scroll to display options\n * above or below the fold, as they are not actually being focused when active.\n */\n _setScrollTop(scrollTop) {\n if (this.panel) {\n this.panel.nativeElement.scrollTop = scrollTop;\n }\n }\n /** Returns the panel's scrollTop. */\n _getScrollTop() {\n return this.panel ? this.panel.nativeElement.scrollTop : 0;\n }\n /** Panel should hide itself when the option list is empty. */\n _setVisibility() {\n this.showPanel = !!this.options.length;\n this._setVisibilityClasses(this._classList);\n this._changeDetectorRef.markForCheck();\n }\n /** Emits the `select` event. */\n _emitSelectEvent(option) {\n const event = new MatAutocompleteSelectedEvent(this, option);\n this.optionSelected.emit(event);\n }\n /** Sets the autocomplete visibility classes on a classlist based on the panel is visible. */\n _setVisibilityClasses(classList) {\n classList[this._visibleClass] = this.showPanel;\n classList[this._hiddenClass] = !this.showPanel;\n }\n}\n_MatAutocompleteBase.ɵfac = function _MatAutocompleteBase_Factory(t) { return new (t || _MatAutocompleteBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS)); };\n_MatAutocompleteBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteBase, viewQuery: function _MatAutocompleteBase_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵstaticViewQuery(TemplateRef, true);\n ɵngcc0.ɵɵviewQuery(_c0, true);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.template = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.panel = _t.first);\n } }, inputs: { displayWith: \"displayWith\", autoActiveFirstOption: \"autoActiveFirstOption\", classList: [\"class\", \"classList\"], panelWidth: \"panelWidth\" }, outputs: { optionSelected: \"optionSelected\", opened: \"opened\", closed: \"closed\", optionActivated: \"optionActivated\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatAutocompleteBase.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }\n];\n_MatAutocompleteBase.propDecorators = {\n template: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n panel: [{ type: ViewChild, args: ['panel',] }],\n displayWith: [{ type: Input }],\n autoActiveFirstOption: [{ type: Input }],\n panelWidth: [{ type: Input }],\n optionSelected: [{ type: Output }],\n opened: [{ type: Output }],\n closed: [{ type: Output }],\n optionActivated: [{ type: Output }],\n classList: [{ type: Input, args: ['class',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS]\n }] }]; }, { displayWith: [{\n type: Input\n }], optionSelected: [{\n type: Output\n }], opened: [{\n type: Output\n }], closed: [{\n type: Output\n }], optionActivated: [{\n type: Output\n }], autoActiveFirstOption: [{\n type: Input\n }], classList: [{\n type: Input,\n args: ['class']\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], panel: [{\n type: ViewChild,\n args: ['panel']\n }], panelWidth: [{\n type: Input\n }] }); })();\nclass MatAutocomplete extends _MatAutocompleteBase {\n constructor() {\n super(...arguments);\n this._visibleClass = 'mat-autocomplete-visible';\n this._hiddenClass = 'mat-autocomplete-hidden';\n }\n}\nMatAutocomplete.ɵfac = function MatAutocomplete_Factory(t) { return ɵMatAutocomplete_BaseFactory(t || MatAutocomplete); };\nMatAutocomplete.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatAutocomplete, selectors: [[\"mat-autocomplete\"]], contentQueries: function MatAutocomplete_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_OPTGROUP, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatOption, true);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.optionGroups = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.options = _t);\n } }, hostAttrs: [1, \"mat-autocomplete\"], inputs: { disableRipple: \"disableRipple\" }, exportAs: [\"matAutocomplete\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 1, vars: 0, consts: [[\"role\", \"listbox\", 1, \"mat-autocomplete-panel\", 3, \"id\", \"ngClass\"], [\"panel\", \"\"]], template: function MatAutocomplete_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, MatAutocomplete_ng_template_0_Template, 3, 2, \"ng-template\");\n } }, directives: [ɵngcc1.NgClass], styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatAutocomplete.propDecorators = {\n optionGroups: [{ type: ContentChildren, args: [MAT_OPTGROUP, { descendants: true },] }],\n options: [{ type: ContentChildren, args: [MatOption, { descendants: true },] }]\n};\nconst ɵMatAutocomplete_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocomplete);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocomplete, [{\n type: Component,\n args: [{\n selector: 'mat-autocomplete',\n template: \"<ng-template>\\n <div class=\\\"mat-autocomplete-panel\\\" role=\\\"listbox\\\" [id]=\\\"id\\\" [ngClass]=\\\"_classList\\\" #panel>\\n <ng-content></ng-content>\\n </div>\\n</ng-template>\\n\",\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'matAutocomplete',\n inputs: ['disableRipple'],\n host: {\n 'class': 'mat-autocomplete'\n },\n providers: [\n { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n ],\n styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}\\n\"]\n }]\n }], null, { optionGroups: [{\n type: ContentChildren,\n args: [MAT_OPTGROUP, { descendants: true }]\n }], options: [{\n type: ContentChildren,\n args: [MatOption, { descendants: true }]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC 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/** Base class containing all of the functionality for `MatAutocompleteOrigin`. */\nclass _MatAutocompleteOriginBase {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\n_MatAutocompleteOriginBase.ɵfac = function _MatAutocompleteOriginBase_Factory(t) { return new (t || _MatAutocompleteOriginBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\n_MatAutocompleteOriginBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteOriginBase });\n_MatAutocompleteOriginBase.ctorParameters = () => [\n { type: ElementRef }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteOriginBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive applied to an element to make it usable\n * as a connection point for an autocomplete panel.\n */\nclass MatAutocompleteOrigin extends _MatAutocompleteOriginBase {\n}\nMatAutocompleteOrigin.ɵfac = function MatAutocompleteOrigin_Factory(t) { return ɵMatAutocompleteOrigin_BaseFactory(t || MatAutocompleteOrigin); };\nMatAutocompleteOrigin.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteOrigin, selectors: [[\"\", \"matAutocompleteOrigin\", \"\"]], exportAs: [\"matAutocompleteOrigin\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵMatAutocompleteOrigin_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteOrigin);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteOrigin, [{\n type: Directive,\n args: [{\n selector: '[matAutocompleteOrigin]',\n exportAs: 'matAutocompleteOrigin'\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 * The following style constants are necessary to save here in order\n * to properly calculate the scrollTop of the panel. Because we are not\n * actually focusing the active item, scroll must be handled manually.\n */\n/**\n * The height of each autocomplete option.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 11.0.0\n */\nconst AUTOCOMPLETE_OPTION_HEIGHT = 48;\n/**\n * The total height of the autocomplete panel.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 11.0.0\n */\nconst AUTOCOMPLETE_PANEL_HEIGHT = 256;\n/** Injection token that determines the scroll handling while the autocomplete panel is open. */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scroll-strategy');\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_AUTOCOMPLETE_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY,\n};\n/**\n * Provider that allows the autocomplete to register as a ControlValueAccessor.\n * @docs-private\n */\nconst MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatAutocompleteTrigger),\n multi: true\n};\n/**\n * Creates an error to be thrown when attempting to use an autocomplete trigger without a panel.\n * @docs-private\n */\nfunction getMatAutocompleteMissingPanelError() {\n return Error('Attempting to open an undefined instance of `mat-autocomplete`. ' +\n 'Make sure that the id passed to the `matAutocomplete` is correct and that ' +\n 'you\\'re attempting to open it after the ngAfterContentInit hook.');\n}\n/** Base class with all of the `MatAutocompleteTrigger` functionality. */\nclass _MatAutocompleteTriggerBase {\n constructor(_element, _overlay, _viewContainerRef, _zone, _changeDetectorRef, scrollStrategy, _dir, _formField, _document, _viewportRuler) {\n this._element = _element;\n this._overlay = _overlay;\n this._viewContainerRef = _viewContainerRef;\n this._zone = _zone;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._formField = _formField;\n this._document = _document;\n this._viewportRuler = _viewportRuler;\n this._componentDestroyed = false;\n this._autocompleteDisabled = false;\n /** Whether or not the label state is being overridden. */\n this._manuallyFloatingLabel = false;\n /** Subscription to viewport size changes. */\n this._viewportSubscription = Subscription.EMPTY;\n /**\n * Whether the autocomplete can open the next time it is focused. Used to prevent a focused,\n * closed autocomplete from being reopened if the user switches to another browser tab and then\n * comes back.\n */\n this._canOpenOnNextFocus = true;\n /** Stream of keyboard events that can close the panel. */\n this._closeKeyEventStream = new Subject();\n /**\n * Event handler for when the window is blurred. Needs to be an\n * arrow function in order to preserve the context.\n */\n this._windowBlurHandler = () => {\n // If the user blurred the window while the autocomplete is focused, it means that it'll be\n // refocused when they come back. In this case we want to skip the first focus event, if the\n // pane was closed, in order to avoid reopening it unintentionally.\n this._canOpenOnNextFocus =\n this._document.activeElement !== this._element.nativeElement || this.panelOpen;\n };\n /** `View -> model callback called when value changes` */\n this._onChange = () => { };\n /** `View -> model callback called when autocomplete has been touched` */\n this._onTouched = () => { };\n /**\n * Position of the autocomplete panel relative to the trigger element. A position of `auto`\n * will render the panel underneath the trigger if there is enough space for it to fit in\n * the viewport, otherwise the panel will be shown above it. If the position is set to\n * `above` or `below`, the panel will always be shown above or below the trigger. no matter\n * whether it fits completely in the viewport.\n */\n this.position = 'auto';\n /**\n * `autocomplete` attribute to be set on the input element.\n * @docs-private\n */\n this.autocompleteAttribute = 'off';\n this._overlayAttached = false;\n /** Stream of autocomplete option selections. */\n this.optionSelections = defer(() => {\n if (this.autocomplete && this.autocomplete.options) {\n return merge(...this.autocomplete.options.map(option => option.onSelectionChange));\n }\n // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.\n // Return a stream that we'll replace with the real one once everything is in place.\n return this._zone.onStable\n .pipe(take(1), switchMap(() => this.optionSelections));\n });\n this._scrollStrategy = scrollStrategy;\n }\n /**\n * Whether the autocomplete is disabled. When disabled, the element will\n * act as a regular input and the user won't be able to open the panel.\n */\n get autocompleteDisabled() { return this._autocompleteDisabled; }\n set autocompleteDisabled(value) {\n this._autocompleteDisabled = coerceBooleanProperty(value);\n }\n ngAfterViewInit() {\n const window = this._getWindow();\n if (typeof window !== 'undefined') {\n this._zone.runOutsideAngular(() => window.addEventListener('blur', this._windowBlurHandler));\n }\n }\n ngOnChanges(changes) {\n if (changes['position'] && this._positionStrategy) {\n this._setStrategyPositions(this._positionStrategy);\n if (this.panelOpen) {\n this._overlayRef.updatePosition();\n }\n }\n }\n ngOnDestroy() {\n const window = this._getWindow();\n if (typeof window !== 'undefined') {\n window.removeEventListener('blur', this._windowBlurHandler);\n }\n this._viewportSubscription.unsubscribe();\n this._componentDestroyed = true;\n this._destroyPanel();\n this._closeKeyEventStream.complete();\n }\n /** Whether or not the autocomplete panel is open. */\n get panelOpen() {\n return this._overlayAttached && this.autocomplete.showPanel;\n }\n /** Opens the autocomplete suggestion panel. */\n openPanel() {\n this._attachOverlay();\n this._floatLabel();\n }\n /** Closes the autocomplete suggestion panel. */\n closePanel() {\n this._resetLabel();\n if (!this._overlayAttached) {\n return;\n }\n if (this.panelOpen) {\n // Only emit if the panel was visible.\n this.autocomplete.closed.emit();\n }\n this.autocomplete._isOpen = this._overlayAttached = false;\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n this._closingActionsSubscription.unsubscribe();\n }\n // Note that in some cases this can end up being called after the component is destroyed.\n // Add a check to ensure that we don't try to run change detection on a destroyed view.\n if (!this._componentDestroyed) {\n // We need to trigger change detection manually, because\n // `fromEvent` doesn't seem to do it at the proper time.\n // This ensures that the label is reset when the\n // user clicks outside.\n this._changeDetectorRef.detectChanges();\n }\n }\n /**\n * Updates the position of the autocomplete suggestion panel to ensure that it fits all options\n * within the viewport.\n */\n updatePosition() {\n if (this._overlayAttached) {\n this._overlayRef.updatePosition();\n }\n }\n /**\n * A stream of actions that should close the autocomplete panel, including\n * when an option is selected, on blur, and when TAB is pressed.\n */\n get panelClosingActions() {\n return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(() => this._overlayAttached)), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?\n this._overlayRef.detachments().pipe(filter(() => this._overlayAttached)) :\n of()).pipe(\n // Normalize the output so we return a consistent type.\n map(event => event instanceof MatOptionSelectionChange ? event : null));\n }\n /** The currently active option, coerced to MatOption type. */\n get activeOption() {\n if (this.autocomplete && this.autocomplete._keyManager) {\n return this.autocomplete._keyManager.activeItem;\n }\n return null;\n }\n /** Stream of clicks outside of the autocomplete panel. */\n _getOutsideClickStream() {\n return merge(fromEvent(this._document, 'click'), fromEvent(this._document, 'touchend'))\n .pipe(filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = (this._isInsideShadowRoot && event.composedPath ? event.composedPath()[0] :\n event.target);\n const formField = this._formField ? this._formField._elementRef.nativeElement : null;\n const customOrigin = this.connectedTo ? this.connectedTo.elementRef.nativeElement : null;\n return this._overlayAttached && clickTarget !== this._element.nativeElement &&\n (!formField || !formField.contains(clickTarget)) &&\n (!customOrigin || !customOrigin.contains(clickTarget)) &&\n (!!this._overlayRef && !this._overlayRef.overlayElement.contains(clickTarget));\n }));\n }\n // Implemented as part of ControlValueAccessor.\n writeValue(value) {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._onChange = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this._element.nativeElement.disabled = isDisabled;\n }\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE && !hasModifierKey(event)) {\n event.preventDefault();\n }\n if (this.activeOption && keyCode === ENTER && this.panelOpen) {\n this.activeOption._selectViaInteraction();\n this._resetActiveItem();\n event.preventDefault();\n }\n else if (this.autocomplete) {\n const prevActiveItem = this.autocomplete._keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpen || keyCode === TAB) {\n this.autocomplete._keyManager.onKeydown(event);\n }\n else if (isArrowKey && this._canOpen()) {\n this.openPanel();\n }\n if (isArrowKey || this.autocomplete._keyManager.activeItem !== prevActiveItem) {\n this._scrollToOption(this.autocomplete._keyManager.activeItemIndex || 0);\n }\n }\n }\n _handleInput(event) {\n let target = event.target;\n let value = target.value;\n // Based on `NumberValueAccessor` from forms.\n if (target.type === 'number') {\n value = value == '' ? null : parseFloat(value);\n }\n // If the input has a placeholder, IE will fire the `input` event on page load,\n // focus and blur, in addition to when the user actually changed the value. To\n // filter out all of the extra events, we save the value on focus and between\n // `input` events, and we check whether it changed.\n // See: https://connect.microsoft.com/IE/feedback/details/885747/\n if (this._previousValue !== value) {\n this._previousValue = value;\n this._onChange(value);\n if (this._canOpen() && this._document.activeElement === event.target) {\n this.openPanel();\n }\n }\n }\n _handleFocus() {\n if (!this._canOpenOnNextFocus) {\n this._canOpenOnNextFocus = true;\n }\n else if (this._canOpen()) {\n this._previousValue = this._element.nativeElement.value;\n this._attachOverlay();\n this._floatLabel(true);\n }\n }\n /**\n * In \"auto\" mode, the label will animate down as soon as focus is lost.\n * This causes the value to jump when selecting an option with the mouse.\n * This method manually floats the label until the panel can be closed.\n * @param shouldAnimate Whether the label should be animated when it is floated.\n */\n _floatLabel(shouldAnimate = false) {\n if (this._formField && this._formField.floatLabel === 'auto') {\n if (shouldAnimate) {\n this._formField._animateAndLockLabel();\n }\n else {\n this._formField.floatLabel = 'always';\n }\n this._manuallyFloatingLabel = true;\n }\n }\n /** If the label has been manually elevated, return it to its normal state. */\n _resetLabel() {\n if (this._manuallyFloatingLabel) {\n this._formField.floatLabel = 'auto';\n this._manuallyFloatingLabel = false;\n }\n }\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n _subscribeToClosingActions() {\n const firstStable = this._zone.onStable.pipe(take(1));\n const optionChanges = this.autocomplete.options.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()), \n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0));\n // When the zone is stable initially, and when the option list changes...\n return merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n const wasOpen = this.panelOpen;\n this._resetActiveItem();\n this.autocomplete._setVisibility();\n if (this.panelOpen) {\n this._overlayRef.updatePosition();\n // If the `panelOpen` state changed, we need to make sure to emit the `opened`\n // event, because we may not have emitted it when the panel was attached. This\n // can happen if the users opens the panel and there are no options, but the\n // options come in slightly later or as a result of the value changing.\n if (wasOpen !== this.panelOpen) {\n this.autocomplete.opened.emit();\n }\n }\n return this.panelClosingActions;\n }), \n // when the first closing event occurs...\n take(1))\n // set the value, close the panel, and complete.\n .subscribe(event => this._setValueAndClose(event));\n }\n /** Destroys the autocomplete suggestion panel. */\n _destroyPanel() {\n if (this._overlayRef) {\n this.closePanel();\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n _setTriggerValue(value) {\n const toDisplay = this.autocomplete && this.autocomplete.displayWith ?\n this.autocomplete.displayWith(value) :\n value;\n // Simply falling back to an empty string if the display value is falsy does not work properly.\n // The display value can also be the number zero and shouldn't fall back to an empty string.\n const inputValue = toDisplay != null ? toDisplay : '';\n // If it's used within a `MatFormField`, we should set it through the property so it can go\n // through change detection.\n if (this._formField) {\n this._formField._control.value = inputValue;\n }\n else {\n this._element.nativeElement.value = inputValue;\n }\n this._previousValue = inputValue;\n }\n /**\n * This method closes the panel, and if a value is specified, also sets the associated\n * control to that value. It will also mark the control as dirty if this interaction\n * stemmed from the user.\n */\n _setValueAndClose(event) {\n if (event && event.source) {\n this._clearPreviousSelectedOption(event.source);\n this._setTriggerValue(event.source.value);\n this._onChange(event.source.value);\n this._element.nativeElement.focus();\n this.autocomplete._emitSelectEvent(event.source);\n }\n this.closePanel();\n }\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n _clearPreviousSelectedOption(skip) {\n this.autocomplete.options.forEach(option => {\n if (option !== skip && option.selected) {\n option.deselect();\n }\n });\n }\n _attachOverlay() {\n if (!this.autocomplete && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatAutocompleteMissingPanelError();\n }\n // We want to resolve this once, as late as possible so that we can be\n // sure that the element has been moved into its final place in the DOM.\n if (this._isInsideShadowRoot == null) {\n this._isInsideShadowRoot = !!_getShadowRoot(this._element.nativeElement);\n }\n let overlayRef = this._overlayRef;\n if (!overlayRef) {\n this._portal = new TemplatePortal(this.autocomplete.template, this._viewContainerRef);\n overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef = overlayRef;\n // Use the `keydownEvents` in order to take advantage of\n // the overlay event targeting provided by the CDK overlay.\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if ((event.keyCode === ESCAPE && !hasModifierKey(event)) ||\n (event.keyCode === UP_ARROW && hasModifierKey(event, 'altKey'))) {\n this._resetActiveItem();\n this._closeKeyEventStream.next();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this._viewportSubscription = this._viewportRuler.change().subscribe(() => {\n if (this.panelOpen && overlayRef) {\n overlayRef.updateSize({ width: this._getPanelWidth() });\n }\n });\n }\n else {\n // Update the trigger, panel width and direction, in case anything has changed.\n this._positionStrategy.setOrigin(this._getConnectedElement());\n overlayRef.updateSize({ width: this._getPanelWidth() });\n }\n if (overlayRef && !overlayRef.hasAttached()) {\n overlayRef.attach(this._portal);\n this._closingActionsSubscription = this._subscribeToClosingActions();\n }\n const wasOpen = this.panelOpen;\n this.autocomplete._setVisibility();\n this.autocomplete._isOpen = this._overlayAttached = true;\n // We need to do an extra `panelOpen` check in here, because the\n // autocomplete won't be shown if there are no options.\n if (this.panelOpen && wasOpen !== this.panelOpen) {\n this.autocomplete.opened.emit();\n }\n }\n _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPosition(),\n scrollStrategy: this._scrollStrategy(),\n width: this._getPanelWidth(),\n direction: this._dir\n });\n }\n _getOverlayPosition() {\n const strategy = this._overlay.position()\n .flexibleConnectedTo(this._getConnectedElement())\n .withFlexibleDimensions(false)\n .withPush(false);\n this._setStrategyPositions(strategy);\n this._positionStrategy = strategy;\n return strategy;\n }\n /** Sets the positions on a position strategy based on the directive's input state. */\n _setStrategyPositions(positionStrategy) {\n // Note that we provide horizontal fallback positions, even though by default the dropdown\n // width matches the input, because consumers can override the width. See #18854.\n const belowPositions = [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }\n ];\n // The overlay edge connected to the trigger should have squared corners, while\n // the opposite end has rounded corners. We apply a CSS class to swap the\n // border-radius based on the overlay position.\n const panelClass = this._aboveClass;\n const abovePositions = [\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', panelClass },\n { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', panelClass }\n ];\n let positions;\n if (this.position === 'above') {\n positions = abovePositions;\n }\n else if (this.position === 'below') {\n positions = belowPositions;\n }\n else {\n positions = [...belowPositions, ...abovePositions];\n }\n positionStrategy.withPositions(positions);\n }\n _getConnectedElement() {\n if (this.connectedTo) {\n return this.connectedTo.elementRef;\n }\n return this._formField ? this._formField.getConnectedOverlayOrigin() : this._element;\n }\n _getPanelWidth() {\n return this.autocomplete.panelWidth || this._getHostWidth();\n }\n /** Returns the width of the input element, so the panel width can match it. */\n _getHostWidth() {\n return this._getConnectedElement().nativeElement.getBoundingClientRect().width;\n }\n /**\n * Resets the active item to -1 so arrow events will activate the\n * correct options, or to 0 if the consumer opted into it.\n */\n _resetActiveItem() {\n this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption ? 0 : -1);\n }\n /** Determines whether the panel can be opened. */\n _canOpen() {\n const element = this._element.nativeElement;\n return !element.readOnly && !element.disabled && !this._autocompleteDisabled;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n var _a;\n return ((_a = this._document) === null || _a === void 0 ? void 0 : _a.defaultView) || window;\n }\n /** Scrolls to a particular option in the list. */\n _scrollToOption(index) {\n // Given that we are not actually focusing active options, we must manually adjust scroll\n // to reveal options below the fold. First, we find the offset of the option from the top\n // of the panel. If that offset is below the fold, the new scrollTop will be the offset -\n // the panel height + the option height, so the active option will be just visible at the\n // bottom of the panel. If that offset is above the top of the visible panel, the new scrollTop\n // will become the offset. If that offset is visible within the panel already, the scrollTop is\n // not adjusted.\n const autocomplete = this.autocomplete;\n const labelCount = _countGroupLabelsBeforeOption(index, autocomplete.options, autocomplete.optionGroups);\n if (index === 0 && labelCount === 1) {\n // If we've got one group label before the option and we're at the top option,\n // scroll the list to the top. This is better UX than scrolling the list to the\n // top of the option, because it allows the user to read the top group's label.\n autocomplete._setScrollTop(0);\n }\n else {\n const option = autocomplete.options.toArray()[index];\n if (option) {\n const element = option._getHostElement();\n const newScrollPosition = _getOptionScrollPosition(element.offsetTop, element.offsetHeight, autocomplete._getScrollTop(), autocomplete.panel.nativeElement.offsetHeight);\n autocomplete._setScrollTop(newScrollPosition);\n }\n }\n }\n}\n_MatAutocompleteTriggerBase.ɵfac = function _MatAutocompleteTriggerBase_Factory(t) { return new (t || _MatAutocompleteTriggerBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD, 9), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.ViewportRuler)); };\n_MatAutocompleteTriggerBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteTriggerBase, inputs: { position: [\"matAutocompletePosition\", \"position\"], autocompleteAttribute: [\"autocomplete\", \"autocompleteAttribute\"], autocompleteDisabled: [\"matAutocompleteDisabled\", \"autocompleteDisabled\"], autocomplete: [\"matAutocomplete\", \"autocomplete\"], connectedTo: [\"matAutocompleteConnectedTo\", \"connectedTo\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n_MatAutocompleteTriggerBase.ctorParameters = () => [\n { type: ElementRef },\n { type: Overlay },\n { type: ViewContainerRef },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }, { type: Host }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: ViewportRuler }\n];\n_MatAutocompleteTriggerBase.propDecorators = {\n autocomplete: [{ type: Input, args: ['matAutocomplete',] }],\n position: [{ type: Input, args: ['matAutocompletePosition',] }],\n connectedTo: [{ type: Input, args: ['matAutocompleteConnectedTo',] }],\n autocompleteAttribute: [{ type: Input, args: ['autocomplete',] }],\n autocompleteDisabled: [{ type: Input, args: ['matAutocompleteDisabled',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteTriggerBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc2.Overlay }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY]\n }] }, { type: ɵngcc3.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc5.MatFormField, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }, {\n type: Host\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc4.ViewportRuler }]; }, { position: [{\n type: Input,\n args: ['matAutocompletePosition']\n }], autocompleteAttribute: [{\n type: Input,\n args: ['autocomplete']\n }], autocompleteDisabled: [{\n type: Input,\n args: ['matAutocompleteDisabled']\n }], autocomplete: [{\n type: Input,\n args: ['matAutocomplete']\n }], connectedTo: [{\n type: Input,\n args: ['matAutocompleteConnectedTo']\n }] }); })();\nclass MatAutocompleteTrigger extends _MatAutocompleteTriggerBase {\n constructor() {\n super(...arguments);\n this._aboveClass = 'mat-autocomplete-panel-above';\n }\n}\nMatAutocompleteTrigger.ɵfac = function MatAutocompleteTrigger_Factory(t) { return ɵMatAutocompleteTrigger_BaseFactory(t || MatAutocompleteTrigger); };\nMatAutocompleteTrigger.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteTrigger, selectors: [[\"input\", \"matAutocomplete\", \"\"], [\"textarea\", \"matAutocomplete\", \"\"]], hostAttrs: [1, \"mat-autocomplete-trigger\"], hostVars: 7, hostBindings: function MatAutocompleteTrigger_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focusin\", function MatAutocompleteTrigger_focusin_HostBindingHandler() { return ctx._handleFocus(); })(\"blur\", function MatAutocompleteTrigger_blur_HostBindingHandler() { return ctx._onTouched(); })(\"input\", function MatAutocompleteTrigger_input_HostBindingHandler($event) { return ctx._handleInput($event); })(\"keydown\", function MatAutocompleteTrigger_keydown_HostBindingHandler($event) { return ctx._handleKeydown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"autocomplete\", ctx.autocompleteAttribute)(\"role\", ctx.autocompleteDisabled ? null : \"combobox\")(\"aria-autocomplete\", ctx.autocompleteDisabled ? null : \"list\")(\"aria-activedescendant\", ctx.panelOpen && ctx.activeOption ? ctx.activeOption.id : null)(\"aria-expanded\", ctx.autocompleteDisabled ? null : ctx.panelOpen.toString())(\"aria-owns\", ctx.autocompleteDisabled || !ctx.panelOpen ? null : ctx.autocomplete == null ? null : ctx.autocomplete.id)(\"aria-haspopup\", !ctx.autocompleteDisabled);\n } }, exportAs: [\"matAutocompleteTrigger\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_AUTOCOMPLETE_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵMatAutocompleteTrigger_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteTrigger);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteTrigger, [{\n type: Directive,\n args: [{\n selector: `input[matAutocomplete], textarea[matAutocomplete]`,\n host: {\n 'class': 'mat-autocomplete-trigger',\n '[attr.autocomplete]': 'autocompleteAttribute',\n '[attr.role]': 'autocompleteDisabled ? null : \"combobox\"',\n '[attr.aria-autocomplete]': 'autocompleteDisabled ? null : \"list\"',\n '[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',\n '[attr.aria-expanded]': 'autocompleteDisabled ? null : panelOpen.toString()',\n '[attr.aria-owns]': '(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id',\n '[attr.aria-haspopup]': '!autocompleteDisabled',\n // Note: we use `focusin`, as opposed to `focus`, in order to open the panel\n // a little earlier. This avoids issues where IE delays the focusing of the input.\n '(focusin)': '_handleFocus()',\n '(blur)': '_onTouched()',\n '(input)': '_handleInput($event)',\n '(keydown)': '_handleKeydown($event)'\n },\n exportAs: 'matAutocompleteTrigger',\n providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 */\nclass MatAutocompleteModule {\n}\nMatAutocompleteModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatAutocompleteModule });\nMatAutocompleteModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatAutocompleteModule_Factory(t) { return new (t || MatAutocompleteModule)(); }, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[\n OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule\n ], CdkScrollableModule,\n MatOptionModule,\n MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatAutocompleteModule, { declarations: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin]; }, imports: function () { return [OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule]; }, exports: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin, CdkScrollableModule,\n MatOptionModule,\n MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteModule, [{\n type: NgModule,\n args: [{\n imports: [\n OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule\n ],\n exports: [\n MatAutocomplete,\n MatAutocompleteTrigger,\n MatAutocompleteOrigin,\n CdkScrollableModule,\n MatOptionModule,\n MatCommonModule,\n ],\n declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin],\n providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC 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 { AUTOCOMPLETE_OPTION_HEIGHT, AUTOCOMPLETE_PANEL_HEIGHT, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_AUTOCOMPLETE_VALUE_ACCESSOR, MatAutocomplete, MatAutocompleteModule, MatAutocompleteOrigin, MatAutocompleteSelectedEvent, MatAutocompleteTrigger, _MatAutocompleteBase, _MatAutocompleteOriginBase, _MatAutocompleteTriggerBase, getMatAutocompleteMissingPanelError };\n\n//# sourceMappingURL=autocomplete.js.map"],"sourceRoot":"webpack:///"}