YUI.add("subscription-history-list-models",function(e){function r(e){r.superclass.constructor.call(this,e)}e.Models[this.name]=r,e.extend(r,e.FlickrModelRegistry,{name:this.name,remote:{read:function(r){return e.ModelFetchers["flickr-braintree-customerDetails-fetcher"].run(r,this.appContext)}},attributes:{subscriptions:{isListProxy:!0},oneTimePro:{}}})},"@VERSION@",{requires:["flickr-model-registry","flickr-promise","flickr-braintree-customerDetails-fetcher"]});YUI.add("flickr-braintree-customerDetails-fetcher",function(e,t){"use strict";function s(e){return{account_id:e.id}}require("hermes-core/flog")(t);e.namespace("ModelFetchers")["flickr-braintree-customerDetails-fetcher"]={run:function(i,r){var n=this,a=s(i);return e.Promise.all([r.callAPI("flickr.subscriptions.braintree.getCustomerDetails",a,!0),r.getModelRegistry("subscription-history-list-models"),r.getModelRegistry("subscription-history-models")]).then(function(e){return n._processResponse(e,i,r)},e.PromiseCatcher(t))},_processParams:s,_processResponse:function(t,s,i){var r,n=t[0],a=t[1],o=t[2],c={};(r=n.customerDetails.subscriptions)&&r instanceof Array&&(c.subscriptions=r.map(function(t){var s={};return t.status=parseInt(t.status,10),t.type=parseInt(t.type,10),s.startDate=1e3*t.startDate,s.billingScheduleMonths=t.billingScheduleMonths,s.nextBillingDate=1e3*t.nextBillingDate,s.effectiveEndDate=1e3*t.effectiveEndDate,s.type=t.type,s.paymentMethodId=t.paymentMethodId,s.status=t.status,s.amountBilled=t.amountBilled,s.transactions=t.transactions,s.prettyName=t.planInfo.prettyName,s.prettyNameDuration=t.planInfo.prettyNameDuration,s.pendingPrice=t.pendingPrice||void 0,s.paymentVendorType=t.paymentVendorType||void 0,e.Array.each(s.transactions,function(t){t.formattedCreateDate=e.moment(t.dateCreate,"X").format("MMM Do, YYYY"),t.isRefund=!1,3===parseInt(t.transactionType,10)&&(t.isRefund=!0)}),o.exists(t.id)?(o.setValues(t.id,s),o.proxy(t.id)):(s.id=t.id,o.add(s))}),n.customerDetails.paymentHistory&&(c.oneTimePro=n.customerDetails.paymentHistory.proStatus)),a.exists(s.id)?a.setValues(s.id,c):(c.id=s.id,a.add(c))}}},"@VERSION@",{requires:["flickr-promise","api-helper"],optional:["subscription-history-models","subscription-history-list-models"]});YUI.add("subscription-history-models",function(t){function e(t){e.superclass.constructor.call(this,t)}var r=new t.SubscriptionsHelper;t.Models[this.name]=e,t.extend(e,t.FlickrModelRegistry,{name:this.name,remote:{update:function(e,r){return t.ModelUpdaters["flickr-subscriptions-changePlan-updater"].run({current_plan_type:r.type.prevVal,new_plan_type:r.type.newVal},this.appContext)},delete:function(e){return t.ModelDeletors["flickr-braintree-close-deletor"].run({subscription_id:e},this.appContext)}},attributes:{startDate:{validator:function(e,r){return!(parseInt(e,10)>0)||t.AttributeHelpers.validateDate(e)},setter:function(e){if(parseInt(e,10)>0)return t.AttributeHelpers.coerceDate(e)||void 0},serialize:function(t){return t.format("X")},deserialize:function(e){return t.moment(e,"X")},defaultFn:function(t){}},nextBillingDate:{validator:function(e,r){return!(parseInt(e,10)>0)||t.AttributeHelpers.validateDate(e)},setter:function(e){if(parseInt(e,10)>0)return t.AttributeHelpers.coerceDate(e)||void 0},serialize:function(t){return t.format("X")},deserialize:function(e){return t.moment(e,"X")},defaultFn:function(t){}},effectiveEndDate:{validator:function(e,r){return!(parseInt(e,10)>0)||t.AttributeHelpers.validateDate(e)},setter:function(e){if(parseInt(e,10)>0)return t.AttributeHelpers.coerceDate(e)||void 0},serialize:function(t){return t.format("X")},deserialize:function(e){return t.moment(e,"X")},defaultFn:function(t){}},billingScheduleMonths:{validator:function(e,r){return t.AttributeHelpers.validateInteger(e)},setter:function(e){return t.AttributeHelpers.coerceInteger(e)||void 0},defaultFn:function(t){return 0}},type:{validator:function(e,r){return t.AttributeHelpers.validateInteger(e)},setter:function(e){return t.AttributeHelpers.coerceInteger(e)||void 0},defaultFn:function(t){return-1}},paymentMethodId:{validator:function(e,r){return t.AttributeHelpers.validateString(e)},setter:function(e){return t.AttributeHelpers.coerceString(e)||void 0},defaultFn:function(t){return""}},prettyName:{validator:function(e,r){return t.AttributeHelpers.validateString(e)},setter:function(e){return t.AttributeHelpers.coerceString(e)||void 0},defaultFn:function(t){return""}},prettyNameDuration:{validator:function(e,r){return t.AttributeHelpers.validateString(e)},setter:function(e){return t.AttributeHelpers.coerceString(e)||void 0},defaultFn:function(t){return""}},status:{validator:function(e,r){return t.AttributeHelpers.validateInteger(e)},setter:function(e){return t.AttributeHelpers.coerceInteger(e)||void 0},defaultFn:function(t){return-1}},amountBilled:{validator:function(e,r){return t.AttributeHelpers.validateFloat(e)},setter:function(e){return t.AttributeHelpers.coerceFloat(e)||void 0},defaultFn:function(t){return 0}},pendingPrice:{validator:function(e,r){return t.AttributeHelpers.validateFloat(e)},setter:function(e){return t.AttributeHelpers.coerceFloat(e)||void 0},defaultFn:function(t){return 0}},transactions:{},paymentVendorType:{validator:function(e){return t.AttributeHelpers.validateInteger(e)},setter:function(e){return t.AttributeHelpers.coerceInteger(e)},defaultValue:r.getPaymentVendorType("braintree")}}})},"@VERSION@",{requires:["flickr-braintree-customerDetails-fetcher","flickr-subscriptions-changePlan-updater","flickr-braintree-close-deletor","subscriptions-helper"]});YUI.add("flickr-contacts-add-updater",function(r,c){"use strict";r.namespace("ModelUpdaters")["flickr-contacts-add"]={run:function(t,e){return e.callAPI("flickr.contacts.add",t).then(null,r.FetcherErrorLogger(c))}}},"@VERSION@",{requires:["flickr-promise"]});YUI.add("flickr-contacts-remove-updater",function(r,e){"use strict";r.namespace("ModelUpdaters")["flickr-contacts-remove"]={run:function(c,t){return t.callAPI("flickr.contacts.remove",c).then(null,r.FetcherErrorLogger(e))}}},"@VERSION@",{requires:["flickr-promise"]});YUI.add("flickr-contacts-edit-updater",function(r,t){"use strict";r.namespace("ModelUpdaters")["flickr-contacts-edit"]={run:function(e,c){return c.callAPI("flickr.contacts.edit",e).then(null,r.FetcherErrorLogger(t))}}},"@VERSION@",{requires:["flickr-promise"]});YUI.add("flickr-contacts-block-updater",function(c,r){"use strict";c.namespace("ModelUpdaters")["flickr-contacts-block"]={run:function(t,e){return e.callAPI("flickr.contacts.block",t).then(null,c.FetcherErrorLogger(r))}}},"@VERSION@",{requires:["flickr-promise"]});