!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=20)}([function(e,t,r){e.exports=r(10)},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r=0,i=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,e.exports=r(11),o)n.regeneratorRuntime=i;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var r,n=Object.prototype,o=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",c="object"==typeof e,l=t.regeneratorRuntime;if(l)c&&(e.exports=l);else{(l=t.regeneratorRuntime=c?e.exports:{}).wrap=g;var f="suspendedStart",d="suspendedYield",h="executing",p="completed",v={},m={};m[a]=function(){return this};var y=Object.getPrototypeOf,b=y&&y(y(C([])));b&&b!==n&&o.call(b,a)&&(m=b);var _=S.prototype=k.prototype=Object.create(m);x.prototype=_.constructor=S,S.constructor=x,S[u]=x.displayName="GeneratorFunction",l.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},l.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(_),e},l.awrap=function(e){return{__await:e}},P(T.prototype),T.prototype[s]=function(){return this},l.AsyncIterator=T,l.async=function(e,t,r,n){var o=new T(g(e,t,r,n));return l.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},P(_),_[u]="Generator",_[a]=function(){return this},_.toString=function(){return"[object Generator]"},l.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},l.values=C,j.prototype={constructor:j,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(L),!e)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=r)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,o){return s.type="throw",s.arg=e,t.next=n,o&&(t.method="next",t.arg=r),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=o.call(a,"catchLoc"),c=o.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),L(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),v}}}function g(e,t,r,n){var o=t&&t.prototype instanceof k?t:k,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(e,t,r){var n=f;return function(o,i){if(n===h)throw new Error("Generator is already running");if(n===p){if("throw"===o)throw i;return z()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=E(a,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var u=w(e,t,r);if("normal"===u.type){if(n=r.done?p:d,u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=p,r.method="throw",r.arg=u.arg)}}}(e,r,a),i}function w(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function k(){}function x(){}function S(){}function P(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function T(e){var t;this._invoke=function(r,n){function i(){return new Promise(function(t,i){!function t(r,n,i,a){var s=w(e[r],e,n);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&o.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,i,a)},function(e){t("throw",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},function(e){return t("throw",e,i,a)})}a(s.arg)}(r,n,t,i)})}return t=t?t.then(i,i):i()}}function E(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,E(e,t),"throw"===t.method))return v;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=w(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,v;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,v):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n1)for(var r=1;r2&&void 0!==arguments[2]?arguments[2]:"";return new Promise(function(o,i){var a=JSON.stringify(r),s=e.createCORSRequest("POST",t);s.setRequestHeader("CONTENT-TYPE","application/json"),n&&s.setRequestHeader("Authorization","Bearer "+n),s.onreadystatechange=function(){4===s.readyState&&(200===s.status?o(e.parse(s.responseText)):(console.error("error",s.status),s.responseText?i(e.parse(s.responseText)):i({status:s.status,readyState:s.readyState})))},s.addEventListener("error",function(e){i(e)},!1),s.addEventListener("abort",function(e){i(e)},!1),s.send(a)})}},{key:"parse",value:function(e){try{return JSON.parse(e)}catch(t){throw console.error(t,e),new Error(e)}}}]),e}()),p=function(){function e(t,r){l()(this,e),this.token=t,this.url=r}return d()(e,[{key:"createWebPayment",value:function(e){return"bank"===e.method?this._createWebPaymentBank(e):this._createWebPaymentCard(e)}},{key:"tokenizeWebPaymentMethod",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"bank"===e.method?this._tokenizeWebPaymentMethodBank(e,t):this._tokenizeWebPaymentMethodCard(e,t)}},{key:"_createWebPaymentCard",value:function(e){var t=this._buildTokenizeWebPaymentCardRequest(e),r="".concat(this.url,"/webpayment/").concat(this.token);return h.post(r,t)}},{key:"_createWebPaymentBank",value:function(e){var t=this._buildTokenizeWebPaymentBankRequest(e),r="".concat(this.url,"/webpayment/").concat(this.token);return h.post(r,t)}},{key:"_tokenizeWebPaymentMethodCard",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=this._buildTokenizeWebPaymentCardRequest(e),n="".concat(this.url,"/webpayment/").concat(this.token,"/token");return h.post(n,r,t)}},{key:"_tokenizeWebPaymentMethodBank",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";e&&e.phone&&(e.phone=e.phone.replace(/[^a-zA-Z ]/g,""));var r="".concat(this.url,"/webpayment/").concat(this.token,"/token");return h.post(r,e,t)}},{key:"_buildTokenizeSharedFields",value:function(e){var t=e.first_name||e.firstname||e.firstName||"",r=e.last_name||e.lastname||e.lastName||"",n=e.company||e.companyName||e.company_name||"",i=e.person_name||e.billing_name||e.personName||"".concat(t," ").concat(r);return{match_customer:"boolean"==typeof e.match_customer?e.match_customer:void 0,bill_id:e.bill_id||void 0,customer_id:e.customer_id||void 0,send_receipt:e.send_receipt,save_for_future:e.save_for_future,rule:e.rule||"",total:e.total||0,url:e.url||"https://omni.fattmerchant.com/#/bill/",meta:o()({},e.meta||{}),company:n,person_name:i,firstname:t,lastname:r}}},{key:"_buildTokenizeWebPaymentCardRequest",value:function(e){var t=1===String(e.month).length?"0".concat(e.month):String(e.month),r=4===String(e.year).length?String(e.year):"20".concat(e.year),n="".concat(t).concat(r.substr(2,2)),i=e.first_name||e.firstname||e.firstName||"",a=e.last_name||e.lastname||e.lastName||"",s=e.company||e.companyName||e.company_name||"",u=e.person_name||e.billing_name||e.personName||"".concat(i," ").concat(a),c=e.address_1||e.address_line_1||e.line1||e.line_1||"",l=e.address_2||e.address_line_2||e.line2||e.line_2||"",f=e.city||e.address_city||e.addresCity||"",d=e.state||e.address_state||e.addressState||"",h=e.zip||e.address_zip||e.addressZip||e.postalCode||e.postal_code||"",p=e.addressCountry||e.address_country||e.country||"USA";return o()({},this._buildTokenizeSharedFields(e),{phone:String(e.phone||"").replace(/[\D]/g,""),firstname:i,lastname:a,address_zip:h,company:s,email:e.email||"",address_country:3!=p.length?"":p,person_name:u,method:e.method||"card",card_number:"",card_exp:n,address_1:c,address_2:l,address_city:f,address_state:String(d||"").substr(0,2),payment_token:e.payment_token})}},{key:"_buildTokenizeWebPaymentBankRequest",value:function(e){return o()({},this._buildTokenizeSharedFields(e),{payment_method_id:e.paymentToken||e.payment_token})}}]),e}(),v=r(6),m=r.n(v),y=r(5),b=r.n(y),_=r(7),g=r.n(_),w=r(8),k=r.n(w),x=function(e){function t(){return l()(this,t),m()(this,b()(t).call(this,{}))}return k()(t,e),d()(t,[{key:"getRulesForValues",value:function(e){var t="card"===e.method,r="bank"===e.method,n=!!e.customer_id;return{method:{required:!0,inValues:["bank","card"]},firstname:{required:!n,maxLength:50},lastname:{required:!n,maxLength:50},email:{regex:/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,maxLength:255},address_1:{required:!n,maxLength:255},address_2:{maxLength:255},address_city:{required:!n,maxLength:255},address_state:{required:!n,hasLength:2},address_zip:{required:!n,maxLength:16},address_country:{required:!n,hasLength:3},month:{required:t,predicate:function(e){switch(!0){case r:return!0;case isNaN(e):return"month must be a number";case+e>12||+e<1:return"month must be between 1 and 12";default:return!0}}},year:{required:t,predicate:function(e){switch(!0){case r:return!0;case isNaN(e):return"year must be a number";case+e<+(new Date).getFullYear():return"year must not be in the past";default:return!0}}},bank_account:{required:r},bank_routing:{required:r},bank_type:{required:r,inValues:["checking","savings"]},bank_holder_type:{required:r,inValues:["personal","business"]},total:{predicate:function(e){return!isNaN(e)||"must be a number"}},amount:{predicate:function(e){return!isNaN(e)||"must be a number"}}}}},{key:"validateCardExp",value:function(e){if("bank"!==e.method&&!this.errors.some(function(e){return"month"===e.field||"year"===e.field})){var t=e.month||"",r="20"+(e.year||"").slice(-2);+new Date(+r,+t)<+new Date&&this.errors.push({field:"month & year",message:"month & year must be a future date"})}}},{key:"validate",value:function(e){this.rules=this.getRulesForValues(e),"USA"!==e.address_county&&delete this.rules.address_state,g()(b()(t.prototype),"validate",this).call(this,e),this.validateCardExp(e)}}]),t}(function(){function e(t){l()(this,e),this.rules=t||{},this.errors=[]}return d()(e,[{key:"validateRequired",value:function(e,t){null!=t&&""!==t||this.errors.push({field:e,message:"this field is is required (".concat(e,")")})}},{key:"validateInValues",value:function(e,t,r){t&&-1===r.indexOf(t)&&this.errors.push({field:e,message:"must be in ".concat(r.join(", "))})}},{key:"validateMaxLength",value:function(e,t,r){t&&t.length>r&&this.errors.push({field:e,message:"must be fewer than ".concat(t.length," characters")})}},{key:"validateHasLength",value:function(e,t,r){t&&t.length!==r&&this.errors.push({field:e,message:"must be exactly ".concat(t.length," characters")})}},{key:"validateRegex",value:function(e,t,r){t&&!r.test(t)&&this.errors.push({field:e,message:"this field is invalid"})}},{key:"validatePredicate",value:function(e,t,r){if(t){var n=r(t);"string"==typeof n?this.errors.push({field:e,message:n}):n||this.errors.push({field:e,message:"is invalid."})}}},{key:"validate",value:function(e){for(var t in this.rules){var r=this.rules[t],n=e[t];r.required&&this.validateRequired(t,n),r.inValues&&r.inValues.length&&this.validateInValues(t,n,r.inValues),Number.isInteger(+r.maxLength)&&this.validateMaxLength(t,n,+r.maxLength),Number.isInteger(+r.hasLength)&&this.validateHasLength(t,n,+r.hasLength),r.regex&&this.validateRegex(t,n,r.regex),r.predicate&&"function"==typeof r.predicate&&this.validatePredicate(t,n,r.predicate)}return 0===this.errors.length}}]),e}()),S=function(){function e(t,r){l()(this,e),this.conf=r,this.fields={numberEl:r.cardField,cvvEl:r.cvvField},this.listeners=new Set,this.validNumber=!1,this.validCvv=!1,this.overrideKey=r.overrideKey,this.fmservice=new p(t,r.api_endpoint||"https://apiprod.fattlabs.com")}return d()(e,[{key:"mapSpreedlyFieldToGivenFieldId",value:function(e){return{number:this.conf.number&&this.conf.number.id,cvv:this.conf.cvv&&this.conf.cvv.id,year:this.conf.year&&this.conf.year.id,month:this.conf.month&&this.conf.month.id}[e]}},{key:"showCardForm",value:function(){var e=u()(a.a.mark(function e(){var t,r=this;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e,t){if(window.Spreedly)e();else{var r=document.createElement("script");r.src="https://core.spreedly.com/iframe/iframe-v1.min.js",document.getElementsByTagName("head")[0].appendChild(r),r.onload=e,r.onerror=t}});case 2:return Spreedly.removeHandlers(),Spreedly.init(this.overrideKey?this.overrideKey:"zpxFDZAKCI522f7ZhB4PXCbSpj",{numberEl:this.conf.number.id,cvvEl:this.conf.cvv.id}),this.validNumber=!1,this.validCvv=!1,this.emit("card_form_incomplete",{validNumber:!1,validCvv:!1}),Spreedly.on("paymentMethod",function(e,t){var n={id:e};r.emit("tokenize",n)}),Spreedly.on("errors",function(e){var t=!0,n=!1,o=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;switch(s.key){case"errors.account_inactive":case"errors.environment_key_parameter_required":case"errors.unknown_referrer":case"errors.invalid_referrer":case"errors.configuration":case"errors.invalid_environment_key_parameter":r.emit("error_tokenize",{code:"system_error",key:s.key,message:s.key});break;case"errors.blank":case"errors.invalid":case"errors.blank_card_type":case"errors.expired":var u={code:"logic_error",key:s.key,message:s.message,field:s.attribute},c=r.mapSpreedlyFieldToGivenFieldId(u.field);c&&(u.fieldErrors=[{field:c,message:s.message}]),r.emit("error_tokenize",u)}}}catch(e){n=!0,o=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw o}}}),Spreedly.on("fieldEvent",function(e,t,n,o){void 0!==o.validNumber&&void 0!==o.validCvv&&("number"===e&&r.conf.number?r.emit("card_form_number_change",{validNumber:o.validNumber,cardType:o.cardType}):"cvv"===e&&r.conf.cvv&&r.emit("card_form_cvv_change",{validCvv:o.validCvv,cardType:o.cardType}),r.validNumber===o.validNumber&&r.validCvv===o.validCvv||(r.emit(o.validNumber&&o.validCvv?"card_form_complete":"card_form_incomplete",{validNumber:o.validNumber,validCvv:o.validCvv,cardType:o.cardType}),r.validNumber=o.validNumber,r.validCvv=o.validCvv))}),Spreedly.on("validation",function(e){}),Spreedly.on("consoleError",function(e){}),t=new Promise(function(e,t){var n=r.on("ready",function(){e(),n()})}),Spreedly.on("ready",function(e){Spreedly.setFieldType("number",r.conf.number.type||"text"),Spreedly.setFieldType("cvv",r.conf.cvv.type||"text"),Spreedly.setNumberFormat(r.conf.number.format||"prettyFormat"),Spreedly.setStyle("number",r.conf.number.style||""),Spreedly.setStyle("cvv",r.conf.cvv.style||""),r.conf.number.label&&Spreedly.setLabel("number",r.conf.number.label),r.conf.cvv.label&&Spreedly.setLabel("cvv",r.conf.number.label),r.conf.number.placeholder&&Spreedly.setPlaceholder("number",r.conf.number.placeholder),r.conf.cvv.placeholder&&Spreedly.setPlaceholder("cvv",r.conf.cvv.placeholder),r.conf.number.focus?Spreedly.transferFocus("number"):r.conf.cvv.focus&&Spreedly.transferFocus("cvv"),r.emit("ready",{})}),e.next=16,t;case 16:return e.abrupt("return",{setTestPan:function(e){Spreedly.setValue("number",e)},setTestCvv:function(e){Spreedly.setValue("cvv",e)},reload:function(){var e=u()(a.a.mark(function e(){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:Spreedly.reload();case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()});case 17:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"pay",value:function(){var e=u()(a.a.mark(function e(t){var r,n,i;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=o()({first_name:t.firstname,last_name:t.lastname,address1:t.address_1,address2:t.address_2,city:t.address_city,state:t.address_state,zip:t.address_zip,country:t.address_country},t),!t.validate){e.next=7;break}if((n=new x(t)).validate(t),!n.errors.length){e.next=7;break}throw{code:"logic_error",message:1===n.errors.length?n.errors[0].message:"One or more fields failed validation.",fieldErrors:n.errors};case 7:if(i={},"bank"!==t.method){e.next=14;break}return e.next=11,this._tokenizeBank(r);case 11:i=e.sent,e.next=17;break;case 14:return e.next=16,this._tokenizeCard(r);case 16:i=e.sent;case 17:return t.payment_token=i.id,e.abrupt("return",this.fmservice.createWebPayment(t));case 19:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"tokenize",value:function(){var e=u()(a.a.mark(function e(t){var r,n,i,s,u=arguments;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=u.length>1&&void 0!==u[1]?u[1]:"",n=o()({first_name:t.firstname,last_name:t.lastname,address1:t.address_1,address2:t.address_2,city:t.address_city,state:t.address_state,zip:t.address_zip,country:t.address_country},t),!t.validate){e.next=8;break}if((i=new x(t)).validate(t),!i.errors.length){e.next=8;break}throw{code:"logic_error",message:1===i.errors.length?i.errors[0].message:"One or more fields failed validation.",fieldErrors:i.errors};case 8:if("bank"!==t.method){e.next=10;break}return e.abrupt("return",this.fmservice.tokenizeWebPaymentMethod(t,r));case 10:return e.next=12,this._tokenizeCard(n);case 12:return s=e.sent,t.payment_token=s.id,e.abrupt("return",this.fmservice.tokenizeWebPaymentMethod(t,r));case 15:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"_tokenizeCard",value:function(){var e=u()(a.a.mark(function e(t){var r,n,o,i,s;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=function(){},n=function(){},o=this,i=new Promise(function(e,t){r=o.on("tokenize",function(t){e(t)}),n=o.on("error_tokenize",function(e){t(e)})}),e.prev=4,Spreedly.tokenizeCreditCard(t),e.next=16;break;case 8:if(e.prev=8,e.t0=e.catch(4),!(e.t0&&e.t0.message&&e.t0.message.indexOf("not defined")>-1)){e.next=15;break}throw"Error: showCardForm() not called. Please ensure you are calling showCardForm() before calling pay().",{code:"fatal_error",message:"Error: showCardForm() not called. Please ensure you are calling showCardForm() before calling pay()."};case 15:throw e.t0;case 16:return e.prev=16,e.next=19,i;case 19:return s=e.sent,e.abrupt("return",s);case 21:return e.prev=21,r(),n(),e.finish(21);case 25:case"end":return e.stop()}},e,this,[[4,8],[16,,21,25]])}));return function(t){return e.apply(this,arguments)}}()},{key:"_tokenizeBank",value:function(){var e=u()(a.a.mark(function e(t){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.fmservice.tokenizeWebPaymentMethod(t));case 1:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"on",value:function(e,t){var r=this,n={event:e,handler:t};return this.listeners.add(n),function(){r.listeners.delete(n)}}},{key:"emit",value:function(e,t){this.listeners.forEach(function(r){r.event===e?r.handler(t):"card_form_uncomplete"===r.event&&"card_form_incomplete"===e&&(console.warn("event `card_form_uncomplete` is deprecated and will be removed in a future version. please use the new event `card_form_incomplete`"),r.handler(t))})}}]),e}();window.FattJs=S}]);