1(function(){function nt(t){function r(n,i,r,u,f,e){for(;f>=0&&e>f;f+=t){var o=u?u[f]:f;r=i(r,n[o],o,n)}return r}return function(u,f,o,s){f=e(f,s,4);var h=!i(u)&&n.keys(u),l=(h||u).length,c=t>0?0:l-1;return arguments.length<3&&(o=u[h?h[c]:c],c+=t),r(u,f,o,h,c,l)}}function tt(n){return function(i,r,f){r=t(r,f);for(var o=u(i),e=n>0?0:o-1;e>=0&&o>e;e+=n)if(r(i[e],e,i))return e;return-1}}function it(t,i,f){return function(e,o,s){var c=0,h=u(e);if("number"==typeof s)t>0?c=s>=0?s:Math.max(s+h,c):h=s>=0?Math.min(s+1,h):s+h+1;else if(f&&s&&h)return s=f(e,o),e[s]===o?s:-1;if(o!==o)return s=i(r.call(e,c,h),n.isNaN),s>=0?s+c:-1;for(s=t>0?c:h-1;s>=0&&h>s;s+=t)if(e[s]===o)return s;return-1}}function rt(t,i){var u=d.length,f=t.constructor,e=n.isFunction(f)&&f.prototype||v,r="constructor";for(n.has(t,r)&&!n.contains(i,r)&&i.push(r);u--;)r=d[u],r in t&&t[r]!==e[r]&&!n.contains(i,r)&&i.push(r)}var a=this,lt=a._,s=Array.prototype,v=Object.prototype,at=Function.prototype,vt=s.push,r=s.slice,o=v.toString,yt=v.hasOwnProperty,pt=Array.isArray,ut=Object.keys,y=at.bind,ft=Object.create,p=function(){},n=function(t){return t instanceof n?t:this instanceof n?void(this._wrapped=t):new n(t)},e,t,h,f,b,k,d,c,ct,l;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports._=n):a._=n;n.VERSION="1.8.3";e=function(n,t,i){if(t===void 0)return n;switch(null==i?3:i){case 1:return function(i){return n.call(t,i)};case 2:return function(i,r){return n.call(t,i,r)};case 3:return function(i,r,u){return n.call(t,i,r,u)};case 4:return function(i,r,u,f){return n.call(t,i,r,u,f)}}return function(){return n.apply(t,arguments)}};t=function(t,i,r){return null==t?n.identity:n.isFunction(t)?e(t,i,r):n.isObject(t)?n.matcher(t):n.property(t)};n.iteratee=function(n,i){return t(n,i,1/0)};var w=function(n,t){return function(i){var e=arguments.length,r,u;if(2>e||null==i)return i;for(r=1;e>r;r++)for(var o=arguments[r],s=n(o),h=s.length,f=0;h>f;f++)u=s[f],t&&i[u]!==void 0||(i[u]=o[u]);return i}},et=function(t){if(!n.isObject(t))return{};if(ft)return ft(t);p.prototype=t;var i=new p;return p.prototype=null,i},ot=function(n){return function(t){if(null!=t)return t[n]}},wt=Math.pow(2,53)-1,u=ot("length"),i=function(n){var t=u(n);return"number"==typeof t&&t>=0&&wt>=t};n.each=n.forEach=function(t,r,u){var f,o,s;if(r=e(r,u),i(t))for(f=0,o=t.length;o>f;f++)r(t[f],f,t);else for(s=n.keys(t),f=0,o=s.length;o>f;f++)r(t[s[f]],s[f],t);return t};n.map=n.collect=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,c=Array(h),e=0;h>e;e++)s=o?o[e]:e,c[e]=u(r[s],s,r);return c};n.reduce=n.foldl=n.inject=nt(1);n.reduceRight=n.foldr=nt(-1);n.find=n.detect=function(t,r,u){var f;return f=i(t)?n.findIndex(t,r,u):n.findKey(t,r,u),f!==void 0&&f!==-1?t[f]:void 0};n.filter=n.select=function(i,r,u){var f=[];return r=t(r,u),n.each(i,function(n,t,i){r(n,t,i)&&f.push(n)}),f};n.reject=function(i,r,u){return n.filter(i,n.negate(t(r)),u)};n.every=n.all=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,e=0;h>e;e++)if(s=o?o[e]:e,!u(r[s],s,r))return!1;return!0};n.some=n.any=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,e=0;h>e;e++)if(s=o?o[e]:e,u(r[s],s,r))return!0;return!1};n.contains=n.includes=n.include=function(t,r,u,f){return i(t)||(t=n.values(t)),("number"!=typeof u||f)&&(u=0),n.indexOf(t,r,u)>=0};n.invoke=function(t,i){var u=r.call(arguments,2),f=n.isFunction(i);return n.map(t,function(n){var t=f?i:n[i];return null==t?t:t.apply(n,u)})};n.pluck=function(t,i){return n.map(t,n.property(i))};n.where=function(t,i){return n.filter(t,n.matcher(i))};n.findWhere=function(t,i){return n.find(t,n.matcher(i))};n.max=function(r,u,f){var h,o,e=-1/0,c=-1/0,s,l;if(null==u&&null!=r)for(r=i(r)?r:n.values(r),s=0,l=r.length;l>s;s++)h=r[s],h>e&&(e=h);else u=t(u,f),n.each(r,function(n,t,i){o=u(n,t,i);(o>c||o===-1/0&&e===-1/0)&&(e=n,c=o)});return e};n.min=function(r,u,f){var h,o,e=1/0,c=1/0,s,l;if(null==u&&null!=r)for(r=i(r)?r:n.values(r),s=0,l=r.length;l>s;s++)h=r[s],e>h&&(e=h);else u=t(u,f),n.each(r,function(n,t,i){o=u(n,t,i);(c>o||1/0===o&&1/0===e)&&(e=n,c=o)});return e};n.shuffle=function(t){for(var u,e=i(t)?t:n.values(t),o=e.length,f=Array(o),r=0;o>r;r++)u=n.random(0,r),u!==r&&(f[r]=f[u]),f[u]=e[r];return f};n.sample=function(t,r,u){return null==r||u?(i(t)||(t=n.values(t)),t[n.random(t.length-1)]):n.shuffle(t).slice(0,Math.max(0,r))};
1n.sortBy=function(i,r,u){return r=t(r,u),n.pluck(n.map(i,function(n,t,i){return{value:n,index:t,criteria:r(n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;if(i!==r){if(i>r||i===void 0)return 1;if(r>i||r===void 0)return-1}return n.index-t.index}),"value")};h=function(i){return function(r,u,f){var e={};return u=t(u,f),n.each(r,function(n,t){var f=u(n,t,r);i(e,n,f)}),e}};n.groupBy=h(function(t,i,r){n.has(t,r)?t[r].push(i):t[r]=[i]});n.indexBy=h(function(n,t,i){n[i]=t});n.countBy=h(function(t,i,r){n.has(t,r)?t[r]++:t[r]=1});n.toArray=function(t){return t?n.isArray(t)?r.call(t):i(t)?n.map(t,n.identity):n.values(t):[]};n.size=function(t){return null==t?0:i(t)?t.length:n.keys(t).length};n.partition=function(i,r,u){r=t(r,u);var f=[],e=[];return n.each(i,function(n,t,i){(r(n,t,i)?f:e).push(n)}),[f,e]};n.first=n.head=n.take=function(t,i,r){if(null!=t)return null==i||r?t[0]:n.initial(t,t.length-i)};n.initial=function(n,t,i){return r.call(n,0,Math.max(0,n.length-(null==t||i?1:t)))};n.last=function(t,i,r){if(null!=t)return null==i||r?t[t.length-1]:n.rest(t,Math.max(0,t.length-i))};n.rest=n.tail=n.drop=function(n,t,i){return r.call(n,null==t||i?1:t)};n.compact=function(t){return n.filter(t,n.identity)};f=function(t,r,e,o){for(var s,l,a,h=[],v=0,c=o||0,y=u(t);y>c;c++)if(s=t[c],i(s)&&(n.isArray(s)||n.isArguments(s)))for(r||(s=f(s,r,e)),l=0,a=s.length,h.length+=a;a>l;)h[v++]=s[l++];else e||(h[v++]=s);return h};n.flatten=function(n,t){return f(n,t,!1)};n.without=function(t){return n.difference(t,r.call(arguments,1))};n.uniq=n.unique=function(i,r,f,e){var o,c;n.isBoolean(r)||(e=f,f=r,r=!1);null!=f&&(f=t(f,e));for(var s=[],l=[],h=0,a=u(i);a>h;h++)o=i[h],c=f?f(o,h,i):o,r?(h&&l===c||s.push(o),l=c):f?n.contains(l,c)||(l.push(c),s.push(o)):n.contains(s,o)||s.push(o);return s};n.union=function(){return n.uniq(f(arguments,!0,!0))};n.intersection=function(t){for(var r,i,f=[],o=arguments.length,e=0,s=u(t);s>e;e++)if(r=t[e],!n.contains(f,r)){for(i=1;o>i&&n.contains(arguments[i],r);i++);i===o&&f.push(r)}return f};n.difference=function(t){var i=f(arguments,!0,!0,1);return n.filter(t,function(t){return!n.contains(i,t)})};n.zip=function(){return n.unzip(arguments)};n.unzip=function(t){for(var r=t&&n.max(t,u).length||0,f=Array(r),i=0;r>i;i++)f[i]=n.pluck(t,i);return f};n.object=function(n,t){for(var r={},i=0,f=u(n);f>i;i++)t?r[n[i]]=t[i]:r[n[i][0]]=n[i][1];return r};n.findIndex=tt(1);n.findLastIndex=tt(-1);n.sortedIndex=function(n,i,r,f){var o;r=t(r,f,1);for(var h=r(i),e=0,s=u(n);s>e;)o=Math.floor((e+s)/2),r(n[o])<h?e=o+1:s=o;return e};n.indexOf=it(1,n.findIndex,n.sortedIndex);n.lastIndexOf=it(-1,n.findLastIndex);n.range=function(n,t,i){null==t&&(t=n||0,n=0);i=i||1;for(var u=Math.max(Math.ceil((t-n)/i),0),f=Array(u),r=0;u>r;r++,n+=i)f[r]=n;return f};b=function(t,i,r,u,f){if(!(u instanceof i))return t.apply(r,f);var e=et(t.prototype),o=t.apply(e,f);return n.isObject(o)?o:e};n.bind=function(t,i){if(y&&t.bind===y)return y.apply(t,r.call(arguments,1));if(!n.isFunction(t))throw new TypeError("Bind must be called on a function");var f=r.call(arguments,2),u=function(){return b(t,u,i,this,f.concat(r.call(arguments)))};return u};n.partial=function(t){var i=r.call(arguments,1),u=function(){for(var f=0,o=i.length,e=Array(o),r=0;o>r;r++)e[r]=i[r]===n?arguments[f++]:i[r];for(;f<arguments.length;)e.push(arguments[f++]);return b(t,u,this,this,e)};return u};n.bindAll=function(t){var i,r,u=arguments.length;if(1>=u)throw new Error("bindAll must be passed function names");for(i=1;u>i;i++)r=arguments[i],t[r]=n.bind(t[r],t);return t};n.memoize=function(t,i){var r=function(u){var f=r.cache,e=""+(i?i.apply(this,arguments):u);return n.has(f,e)||(f[e]=t.apply(this,arguments)),f[e]};return r.cache={},r};n.delay=function(n,t){var i=r.call(arguments,2);return setTimeout(function(){return n.apply(null,i)},t)};n.defer=n.partial(n.delay,n,1);n.throttle=function(t,i,r){var f,e,s,u=null,o=0,h;return r||(r={}),h=function(){o=r.leading===!1?0:n.now();u=null;s=t.apply(f,e);u||(f=e=null)},function(){var l=n.now(),c;return o||r.leading!==!1||(o=l),c=i-(l-o),f=this,e=arguments,0>=c||c>i?(u&&(clearTimeout(u),u=null),o=l,s=t.apply(f,e),u||(f=e=null)):u||r.trailing===!1||(u=setTimeout(h,c)),s}};n.debounce=function(t,i,r){var u,f,e,s,o,h=function(){var c=n.now()-s;i>c&&c>=0?u=setTimeout(h,i-c):(u=null,r||(o=t.apply(e,f),u||(e=f=null)))};return function(){e=this;f=arguments;s=n.now();var c=r&&!u;return u||(u=setTimeout(h,i)),c&&(o=t.apply(e,f),e=f=null),o}};n.wrap=function(t,i){return n.partial(i,t)};n.negate=function(n){return function(){return!n.apply(this,arguments)}};n.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,i=n[t].apply(this,arguments);r--;)i=n[r].call(this,i);return i}};n.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}};n.before=function(n,t){var i;return function(){return--n>0&&(i=t.apply(this,arguments)),1>=n&&(t=null),i}};n.once=n.partial(n.before,2);k=!{toString:null}.propertyIsEnumerable("toString");d=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleStr
1ing"];n.keys=function(t){var i,r;if(!n.isObject(t))return[];if(ut)return ut(t);i=[];for(r in t)n.has(t,r)&&i.push(r);return k&&rt(t,i),i};n.allKeys=function(t){var i,r;if(!n.isObject(t))return[];i=[];for(r in t)i.push(r);return k&&rt(t,i),i};n.values=function(t){for(var r=n.keys(t),u=r.length,f=Array(u),i=0;u>i;i++)f[i]=t[r[i]];return f};n.mapObject=function(i,r,u){r=t(r,u);for(var f,o=n.keys(i),h=o.length,s={},e=0;h>e;e++)f=o[e],s[f]=r(i[f],f,i);return s};n.pairs=function(t){for(var r=n.keys(t),u=r.length,f=Array(u),i=0;u>i;i++)f[i]=[r[i],t[r[i]]];return f};n.invert=function(t){for(var u={},r=n.keys(t),i=0,f=r.length;f>i;i++)u[t[r[i]]]=r[i];return u};n.functions=n.methods=function(t){var i=[];for(var r in t)n.isFunction(t[r])&&i.push(r);return i.sort()};n.extend=w(n.allKeys);n.extendOwn=n.assign=w(n.keys);n.findKey=function(i,r,u){r=t(r,u);for(var f,o=n.keys(i),e=0,s=o.length;s>e;e++)if(f=o[e],r(i[f],f,i))return f};n.pick=function(t,i,r){var c,o,l={},u=t,s,v,h,a;if(null==u)return l;for(n.isFunction(i)?(o=n.allKeys(u),c=e(i,r)):(o=f(arguments,!1,!1,1),c=function(n,t,i){return t in i},u=Object(u)),s=0,v=o.length;v>s;s++)h=o[s],a=u[h],c(a,h,u)&&(l[h]=a);return l};n.omit=function(t,i,r){if(n.isFunction(i))i=n.negate(i);else{var u=n.map(f(arguments,!1,!1,1),String);i=function(t,i){return!n.contains(u,i)}}return n.pick(t,i,r)};n.defaults=w(n.allKeys,!0);n.create=function(t,i){var r=et(t);return i&&n.extendOwn(r,i),r};n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t};n.tap=function(n,t){return t(n),n};n.isMatch=function(t,i){var e=n.keys(i),o=e.length,f,r,u;if(null==t)return!o;for(f=Object(t),r=0;o>r;r++)if(u=e[r],i[u]!==f[u]||!(u in f))return!1;return!0};c=function(t,i,r,u){var h,a,e,s,f,l,v;if(t===i)return 0!==t||1/t==1/i;if(null==t||null==i)return t===i;if(t instanceof n&&(t=t._wrapped),i instanceof n&&(i=i._wrapped),h=o.call(t),h!==o.call(i))return!1;switch(h){case"[object RegExp]":case"[object String]":return""+t==""+i;case"[object Number]":return+t!=+t?+i!=+i:0==+t?1/+t==1/i:+t==+i;case"[object Date]":case"[object Boolean]":return+t==+i}if(a="[object Array]"===h,!a&&("object"!=typeof t||"object"!=typeof i||(e=t.constructor,s=i.constructor,e!==s&&!(n.isFunction(e)&&e instanceof e&&n.isFunction(s)&&s instanceof s)&&"constructor"in t&&"constructor"in i)))return!1;for(r=r||[],u=u||[],f=r.length;f--;)if(r[f]===t)return u[f]===i;if(r.push(t),u.push(i),a){if(f=t.length,f!==i.length)return!1;for(;f--;)if(!c(t[f],i[f],r,u))return!1}else{if(v=n.keys(t),f=v.length,n.keys(i).length!==f)return!1;for(;f--;)if(l=v[f],!n.has(i,l)||!c(t[l],i[l],r,u))return!1}return r.pop(),u.pop(),!0};n.isEqual=function(n,t){return c(n,t)};n.isEmpty=function(t){return null==t?!0:i(t)&&(n.isArray(t)||n.isString(t)||n.isArguments(t))?0===t.length:0===n.keys(t).length};n.isElement=function(n){return!(!n||1!==n.nodeType)};n.isArray=pt||function(n){return"[object Array]"===o.call(n)};n.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n};n.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(t){n["is"+t]=function(n){return o.call(n)==="[object "+t+"]"}});n.isArguments(arguments)||(n.isArguments=function(t){return n.has(t,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(n.isFunction=function(n){return"function"==typeof n||!1});n.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))};n.isNaN=function(t){return n.isNumber(t)&&t!==+t};n.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===o.call(n)};n.isNull=function(n){return null===n};n.isUndefined=function(n){return n===void 0};n.has=function(n,t){return null!=n&&yt.call(n,t)};n.noConflict=function(){return a._=lt,this};n.identity=function(n){return n};n.constant=function(n){return function(){return n}};n.noop=function(){};n.property=ot;n.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}};n.matcher=n.matches=function(t){return t=n.extendOwn({},t),function(i){return n.isMatch(i,t)}};n.times=function(n,t,i){var u=Array(Math.max(0,n)),r;for(t=e(t,i,1),r=0;n>r;r++)u[r]=t(r);return u};n.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};n.now=Date.now||function(){return(new Date).getTime()};var st={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},bt=n.invert(st),ht=function(t){var r=function(n){return t[n]}
1,i="(?:"+n.keys(t).join("|")+")",u=RegExp(i),f=RegExp(i,"g");return function(n){return n=null==n?"":""+n,u.test(n)?n.replace(f,r):n}};n.escape=ht(st);n.unescape=ht(bt);n.result=function(t,i,r){var u=null==t?void 0:t[i];return u===void 0&&(u=r),n.isFunction(u)?u.call(t):u};ct=0;n.uniqueId=function(n){var t=++ct+"";return n?n+t:t};n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var g=/(.)^/,kt={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},dt=/\\|'|\r|\n|\u2028|\u2029/g,gt=function(n){return"\\"+kt[n]};n.template=function(t,i,r){var o,f,h;!i&&r&&(i=r);i=n.defaults({},i,n.templateSettings);var c=RegExp([(i.escape||g).source,(i.interpolate||g).source,(i.evaluate||g).source].join("|")+"|$","g"),e=0,u="__p+='";t.replace(c,function(n,i,r,f,o){return u+=t.slice(e,o).replace(dt,gt),e=o+n.length,i?u+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":f&&(u+="';\n"+f+"\n__p+='"),n});u+="';\n";i.variable||(u="with(obj||{}){\n"+u+"}\n");u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{o=new Function(i.variable||"obj","_",u)}catch(s){throw s.source=u,s;}return f=function(t){return o.call(this,t,n)},h=i.variable||"obj",f.source="function("+h+"){\n"+u+"}",f};n.chain=function(t){var i=n(t);return i._chain=!0,i};l=function(t,i){return t._chain?n(i).chain():i};n.mixin=function(t){n.each(n.functions(t),function(i){var r=n[i]=t[i];n.prototype[i]=function(){var t=[this._wrapped];return vt.apply(t,arguments),l(this,r.apply(n,t))}})};n.mixin(n);n.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var i=s[t];n.prototype[t]=function(){var n=this._wrapped;return i.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],l(this,n)}});n.each(["concat","join","slice"],function(t){var i=s[t];n.prototype[t]=function(){return l(this,i.apply(this._wrapped,arguments))}});n.prototype.value=function(){return this._wrapped};n.prototype.valueOf=n.prototype.toJSON=n.prototype.value;n.prototype.toString=function(){return""+this._wrapped};"function"==typeof define&&define.amd&&define("underscore",[],function(){return n})}).call(this);Array.prototype.indexOf||(Array.prototype.indexOf=function(n,t){if(this===undefined||this===null)throw new TypeError('"this" is null or not defined');var i=this.length>>>0;for(t=+t||0,Math.abs(t)===Infinity&&(t=0),t<0&&(t+=i,t<0&&(t=0));t<i;t++)if(this[t]===n)return t;return-1});var app=angular.module("app",["kendo.directives","ngSanitize","ngMessages"],function(){});app.loadRequestVerificationToken=function(n,t){n.defaults.headers.common.RequestVerificationToken=t;$.ajaxSetup({beforeSend:function(n){n.setRequestHeader("RequestVerificationToken",t)}})};app.run(["$window","$http",function(n,t){n.getQueryStringParameter=function(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+t+"=([^&#]*)"),i=r.exec(n.location.search);return i==null?"":decodeURIComponent(i[1].replace(/\+/g," "))};var i=angular.element("meta[name=RequestVerificationToken]").attr("content");app.loadRequestVerificationToken(t,i)}]),function(){var n=angular.module("app");n.filter("as",["$parse",function(n){return function(t,i,r){return n(r).assign(i,t)}}]);n.filter("contributing",function(){return function(n){return n.amount>0}});n.filter("sumByKey",function(){return function(n,t){var i=0;return angular.forEach(n,function(n){var r=n[t],u;if(typeof r=="number"&&r>0){i+=r;return}typeof r=="string"&&(r=r.replace("$",""),u=parseFloat(r),u&&(i+=u))}),i}});n.filter("truncatedCurrency",["$filter",function(n){return function(t){if(!t)return"$0";var i=n("currency")(t);return i.replace(".00","")}}]);n.filter("recipientOffice",function(){return function(n){if(!n)return"";var t=n.office||n.Office,i=n.district||n.District;return i?t+" ("+i+")":t}});n.filter("cssClass",function(){return function(n){return n?n.replace(/\s/g,"-").toLowerCase():""}});n.filter("recipientCssClasses",function(){var n=function(n){return n?n.replace(/\s/g,"-").replace(/\./g,"").toLowerCase():""};return function(t){if(!t)return"";var i=[];return i.push(t.identifier.toLowerCase()),t.state&&i.push("state-"+n(t.state)),t.office&&i.push("office-"+n(t.office)),t.cycle&&i.push("cycle-"+n(t.cycle)),t.politicalParty&&i.push(n(t.politicalParty)),t.customField1&&i.push(n(t.customField1)),t.customField2&&i.push(n(t.customField2)),t.contributionLimit==-1&&i.push("maxed-out"),t.featured&&i.push("featured"),i.join(" ")}})}(),function(){var n=angular.module("app");n.factory("GoogleAnalytics",function(){function n(n,t,i,r,u,f){typeof ga!="undefined"&&ga(n,t,i,r,u,f)}return n})}(),function(){var n=angular.module("app");n.factory("User",["$http",function(n){return{getCurrentUser:function(){return n.get("/api/users/current").then(function(n){return n.data},function(){return null})}}}])}(),function(){var n=angular.module("app");n.directive("validationSummary",function(){return{template:"<section ng-show='errors.length > 0' class='validation-summary'><h1>{{ message }}<\/h1><ul><li ng-repeat='error in errors'>{{ error }}<\/li><\/ul><\/section>",restrict:"E",scope:{errors:"=",message:"@"}}});n.directive("limitCurrencyDecimals",function(){return{link:function(n,t){t.bind("keypress",function(n){var t=angular.element(this).val(),i=t+(n.charCode!==0?String.fromCharCode(n.charCode):"");t.search(/(.*)\.[0-9][0-9]/)===0&&i.length>t.length&&n.preventDefault()})}}});n.directive("electronicCheckRoutingNumberFormat",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){var e=new RegExp("^[0-9]{9}$",""),u=function(n,t){try{return parseInt(n.charAt(t))}catch(i){console.log(i)}},f=function(n){var t,r,i,f;return n?(t=n.toString(),!e.test(t))?!0:(r=parseInt(t.substr(t.length-1)),i=0,i+=7*(u(t,0)+u(t,3)+u(t,6)),i+=3*(u(t,1)+u(t,4)+u(t,7)),i+=9*(u(t,2)+u(t,5)),f=i%10,r===f):!0};r.$parsers.push(function(n){var t=f(n);return r.$setValidity("routingNumber",t),t?n:undefined});r.$formatters.push(function(n){var t=f(n);return r.$setValidity("routingNumber",t),n})}}});n.directive("creditCardFormat",function(){var n=function(n){if(!n)return!0;
1if(n.match(/[^\d\s-]/))return!1;n=n.match(/\d+/g).join("");for(var i=n.length,r=0,u=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],t=0;i--;)t+=u[r][parseInt(n.charAt(i),10)],r^=1;return t%10==0&&t>0&&(n.length==15||n.length==16)};return{require:"ngModel",restrict:"A",link:function(t,i,r,u){t.$watch(r.ngModel,function(){var t=u.$modelValue||"";u.$setValidity("creditCardFormat",n(t))})}}});n.directive("creditCardIssuer",function(){var n=function(n){return/^(34)|^(37)/.test(n)?"amex":/^(6011)|^(622(1(2[6-9]|[3-9][0-9])|[2-8][0-9]{2}|9([01][0-9]|2[0-5])))|^(64[4-9])|^65/.test(n)?"discover":/^5[1-5]/.test(n)?"mastercard":/^4/.test(n)?"visa":""};return{require:"ngModel",restrict:"E",template:"<div class='credit-card-issuers'><img src='/content/images/visa.png' alt='Visa' class='visa' /><img src='/content/images/mastercard.png' alt='Mastercard' class='mastercard' /><img src='/content/images/amex.png' alt='American Express' class='amex' /><img src='/content/images/discover.png' alt='Discover' class='discover' /><\/div>",link:function(t,i,r,u){var f=i.find("div");t.$watch(r.ngModel,function(){if(u.$modelValue){var t=n(u.$modelValue);t?(f.find("img").addClass("disabled"),angular.forEach(f.find("img"),function(n){angular.element(n).hasClass(t)&&angular.element(n).toggleClass("disabled")})):f.find("img").removeClass("disabled")}else f.find("img").removeClass("disabled")})}}});n.factory("MaxOutService",function(){return{maxAmount:1e4}});n.directive("profileFieldExpander",["$sce",function(n){return{restrict:"E",template:"<div class='profile-field-expander {{ title | lowercase }}'><header><h3 ng-click='toggle()'>{{ title }}<\/h3> <span ng-click='toggle()' class='toggle'><\/span><\/header><div ng-bind-html='htmlContent' class='content'><\/div><\/div>",replace:!0,scope:{title:"=",content:"="},link:function(t,i){t.htmlContent=n.trustAsHtml(t.content);t.toggle=function(){i.find(".content").toggleClass("expanded");i.find(".toggle").toggleClass("expanded")}}}}]);n.directive("paymentProcessingDialog",function(){function n(n,t){t.dialogWindowOptions={animation:!1,visible:!1,modal:!0,title:!1,appendTo:"body",width:210,height:210,pinned:!1,resizable:!1,actions:[],center:!0,top:0,draggable:!1};t.control={show:function(){t.paymentProcessingWindow.open().center()},hide:function(){t.paymentProcessingWindow.close()}}}return{controller:["$rootScope","$scope","$element","$attrs","$http",n],restrict:"E",template:"<section kendo-window='paymentProcessingWindow' k-options='dialogWindowOptions' style='padding: 0;'><img src='/content/images/processing_animation.gif' alt='Processing payment. Please wait.' /><\/section>",scope:{control:"="}}});n.directive("checklistModel",["$parse","$compile",function(n,t){function i(n,t){if(angular.isArray(n))for(var i=0;i<n.length;i++)if(angular.equals(n[i],t))return!0;return!1}function r(n,t){n=angular.isArray(n)?n:[];for(var i=0;i<n.length;i++)if(angular.equals(n[i],t))return n;return n.push(t),n}function u(n,t){if(angular.isArray(n))for(var i=0;i<n.length;i++)if(angular.equals(n[i],t)){n.splice(i,1);break}return n}function f(f,e,o){t(e)(f);var h=n(o.checklistModel),c=h.assign,s=n(o.checklistValue)(f.$parent);f.$watch("checked",function(n,t){if(n!==t){var i=h(f.$parent);n===!0?c(f.$parent,r(i,s)):c(f.$parent,u(i,s))}});f.$parent.$watch(o.checklistModel,function(n){f.checked=i(n,s)},!0)}return{restrict:"A",priority:1e3,terminal:!0,scope:!0,compile:function(n,t){if(n[0].tagName!=="INPUT"||n.attr("type")!=="checkbox")throw'checklist-model should be applied to `input[type="checkbox"]`.';if(!t.checklistValue)throw"You should provide `checklist-value`.";return n.removeAttr("checklist-model"),n.attr("ng-model","checked"),f}}}]);n.directive("maxOut",function(){function n(n){n.dialogWindowOptions={visible:!1,modal:!0,title:"Confirm Maximum Donation",width:400,pinned:!1,resizable:!1,top:50};n.maxAmount=1e4;n.$watch("maxAmount",function(t){n.maxAmount=parseInt(t)});n.maxOutCore=function(t){angular.forEach(t,function(t){var i=t.contributionLimit;i>0?t.amount=i>n.thresholdAmount?n.maxAmount:i:i==0&&(t.amount=n.maxAmount)})};n.maxOut=function(){var t=n.getRecipients();
1n.highLimitRecipients=_.filter(t,function(t){return t.contributionLimit==0||t.contributionLimit>n.thresholdAmount});n.highLimitRecipients.length>0?(n.maxAmount=n.thresholdAmount,n.maxOutWindow.open(),n.maxOutWindow.center().wrapper.css({top:"20%"})):n.maxOutCore(t)};n.cancelMaxOut=function(){n.maxOutWindow.close()};n.confirmMaxOut=function(){var t=n.getRecipients();n.maxOutCore(t);n.maxOutWindow.close()}}return{controller:["$scope",n],restrict:"E",replace:!0,template:"<section class='max-out'> <header><h1>Donate the max to each<\/label><\/header> <button ng-click='maxOut()'>Max Out<\/button> <section kendo-window='maxOutWindow' k-options='dialogWindowOptions' style='display:none; position: relative;'> <div style='padding: 0 15px 15px 15px;'> <div ng-show='highLimitRecipients.length == 1'> <p style='line-height: 1.5;'>One recipient on this page has either no maximum or a large maximum donation limit (i.e. more than {{ thresholdAmount | truncatedCurrency }}).<\/p> <p>Donate $<input type='text' ng-model='maxAmount' class='k-textbox' style='width: 90px; font-size: 18px;' pattern='[\\d\\.]+' /> to this recipient.<\/p> <\/div> <div ng-show='highLimitRecipients.length > 1'> <p style='line-height: 1.5;'>{{ highLimitRecipients.length }} recipients on this page have either no maximum or a large maximum donation limit (i.e. more than {{ thresholdAmount | truncatedCurrency }}).<\/p> <p>Donate $<input type='text' ng-model='maxAmount' class='k-textbox' style='width: 90px; font-size: 18px;' pattern='[\\d\\.]+' /> to each of them.<\/p> <\/div> <div style='text-align: center; margin-top: 15px; border-top: 1px solid #ccc; padding-top: 15px;'><button ng-click='confirmMaxOut()' class='action-button' style='width: 40%;'>OK<\/button> <button ng-click='cancelMaxOut()' class='action-button' style='width: 40%;'>Cancel<\/button><\/div> <\/div> <\/section><\/section>",scope:{getRecipients:"=",thresholdAmount:"@"}}});n.directive("splitIt",function(){function n(n){n.splitAmountEvenly=function(){var o=function(n,t){var i=n.length,r,u,f;for(angular.forEach(n,function(n){n.amount=0}),r=100;i>0&&t>=r;)u=Math.max(r,Math.round(t/i)),f=n[i-1],f.amount=u/100,i--,t-=u},s=parseFloat(n.splitAmount),c;if(s){var i=_.filter(n.getRecipients(),function(n){return n.goalAchieved||n.contributionLimitReached?!1:!0}),r=s*100,u=Math.round(r/i.length),f=1e8;if(_.each(i,function(n){n.contributionLimit>0&&n.contributionLimit*100<f&&(f=n.contributionLimit*100)}),f>u)o(i,r);else{for(var e=r,t=i,h=0;t.length!=h;)h=t.length,c=t,t=[],_.each(c,function(n){n.contributionLimit*100<u&&n.contributionLimit>0?(n.amount=n.contributionLimit,e-=n.contributionLimit*100):t.push(n)}),u=e/t.length;o(t,e)}}n.splitAmount=""}}return{controller:["$scope",n],restrict:"E",replace:!0,template:function(n,t){return t.legacy?" <div class='page-amount-splitter page-amount-tool' > <label for='split-amount'>Divide your contribution between the recipients shown.<\/label> <input type='number' step='any' ng-model='splitAmount' placeholder='0.00' min='1' id='split-amount' limit-currency-decimals /> <button ng-click='splitAmountEvenly()' ng-disabled='splitAmount <= 0' class='action-button'>Split It<\/button> <\/div>":" <section class='split-it'> <header> <h1>Split It<\/h1> <p>Divide amount equally<\/p> <\/header> <div class='currency-input'><input type='number' step='any' ng-model='splitAmount' min='1' id='split-amount' limit-currency-decimals /><\/div> <button ng-click='splitAmountEvenly()' ng-disabled='splitAmount <= 0'>{{ buttonText }}<\/button>
1 <\/section >"},scope:{getRecipients:"=",buttonText:"@",legacy:"@"}}});n.directive("featuredFilter",function(){return{restrict:"E",replace:!0,template:" <div class='featured-filter'> <label ng-class=\"showFeatured ? 'selected' : ''\" class='featured'><span><input type='radio' ng-model='showFeatured' ng-value='true' />View Featured<\/span><\/label> <label ng-class=\"showFeatured ? '' : 'selected'\"><span><input type='radio' ng-model='showFeatured' ng-value='false' />View All<\/span><\/label> <\/div>",scope:{showFeatured:"="}}});n.directive("customFilters",function(){return{restrict:"E",replace:!0,template:" <div class='custom-filters'> <select kendo-multi-select k-ng-model='filterOffices' k-value-primitive='true' k-data-source='availableOffices' k-placeholder=\"'Office'\" ng-show='availableOffices.length' ><\/select> <select kendo-multi-select k-ng-model='filterPoliticalParties' k-value-primitive='true' k-data-source='availablePoliticalParties' k-placeholder=\"'Party'\" ng-show='availablePoliticalParties.length' ><\/select> <select kendo-multi-select k-ng-model='filterState' k-value-primitive='true' k-data-source='availableStates' k-placeholder=\"'State'\" ><\/select> <select kendo-multi-select k-ng-model='filterCustomFields1' k-value-primitive='true' k-data-source='availableCustomFields1' ng-show='availableCustomFields1.length' k-placeholder=\"{{ customField1Name }}\"><\/select> <select kendo-multi-select k-ng-model='filterCustomFields2' k-value-primitive='true' k-data-source='availableCustomFields2' ng-show='availableCustomFields2.length' k-placeholder=\"{{ customField2Name }}\"><\/select> <\/div>",scope:{filterOffices:"=",filterState:"=",filterPoliticalParties:"=",filterCustomFields1:"=",filterCustomFields2:"=",availableStates:"=",availableOffices:"=",availablePoliticalParties:"=",availableCustomFields1:"=",availableCustomFields2:"=",customField1Name:"@",customField2Name:"@"}}});n.directive("contributionTerms",function(){function n(n){let t=n.expressDonate?"Express Donate":"Donate";n.buttonName=t;n.htmlTerms=[];n.textTerms=[];n.$watch(function(n){return n.terms},function(t){t&&(n.htmlTerms=t.filter(n=>n.indexOf("<\/")>=0),n.textTerms=t.filter(n=>n.indexOf("<\/")<0))})}return{controller:["$scope",n],restrict:"E",replace:!0,template:" <div class='contribution-terms'> <p>By clicking on the â{{buttonName}}â button you confirm that the following statements are true and accurate: <\/p> <div ng-repeat='term in htmlTerms track by $index' ng-bind-html='term'><\/div> <p ng-repeat='term in textTerms track by $index'>{{term}}<\/p> <p class='de-terms'>I understand that my payment is being made to Democracy Engine, who accepts the responsibility of distributing the funds to my designated recipient(s) in accordance with applicable campaign finance laws. My card or bank statement will show a payment to âDemocracy Engineâ and if there are any issues or discrepancies with the payment or I wish to revoke the payment, I can contact Democracy Engine at [email protected]. Democracy Engine will charge each recipient an applicable processing fee.<\/p> <\/div>",scope:{terms:"<",expressDonate:"@?"}}})}(),function(){var n=angular.module("app");n.directive("inputMask",function(){return{restrict:"A",link:function(n,t){t.on("input",function(){var i=t.val(),r=i.toLowerCase().replace(/[^a-z0-9_]/g,""),n;i!==r&&(n=t[0].selectionStart,t.val(r),t[0].setSelectionRange(n,n))})}}})}(),function(){var n=angular.module("app");n.directive("lazySrc",["$window","$document",function(n,t){function e(n){var t=n.data("__uid");return t||n.data("__uid",t=""+ ++c),t}function l(){var n,t=typeof i.pageXOffset=="number"?i.pageXOffset:(((n=u.documentElement)||(n=f.parentNode))&&typeof n.scrollLeft=="number"?n:f).scrollLeft,r=typeof i.pageYOffset=="number"?i.pageYOffset:(((n=u.documentElement)||(n=f.parentNode))&&typeof n.scrollTop=="number"?n:f).scrollTop;return{offsetX:t,offsetY:r}}function h(n){var s=n[0],f=s.getBoundingClientRect(),a=l(),t=a.offsetX,r=a.offsetY,v=f.width||s.width,y=f.height||s.height,e=f.left+t,o=f.top+r,p=Math.max(u.documentElement.clientWidth,i.innerWidth||0),w=Math.max(u.documentElement.clientHeight,i.innerHeight||0),h,c;return o<=r?o+y>=r&&(c=!0):o>=r&&o<=r+w&&(c=!0),e<=t?e+v>=t&&(h=!0):e>=t&&e<=t+p&&(h=!0),h&&c}function o(){angular.forEach(r,function(n){var t=n.iElement,i=n.$scope;h(t)&&t.attr("src",i.lazySrc)})}function a(){var n=angular.element(this),t=e(n);n.css("opacity",1);r.hasOwnProperty(t)&&delete r[t]}var u=t[0],f=u.body,i=n,s=angular.element(i),c=0,r={};return s.bind("scroll",o),s.bind("resize",o),{restrict:"A",scope:{lazySrc:"@",animateVisible:"@",animateSpeed:"@"},link:function(n,t){t.bind("load",a);const i=new IntersectionObserver(o),u=angular.element(t)[0];i.observe(u);n.$watch("lazySrc",function(){var i=".5s",u;n.animateSpeed!=null&&(i=n.animateSpeed);h(t)?(n.animateVisible&&t.css({opacity:0,"-webkit-transition":"opacity "+i,transition:"opacity "+i}),t.attr("src",n.lazySrc)):(u=e(t),t.css({opacity:0,"-webkit-transition":"opacity "+i,transition:"opacity "+i}),r[u]={iElement:t,$scope:n})});n.$on("$destroy",function(){t.unbind("load");var n=e(t);r.hasOwnProperty(n)&&delete r[n]})}}}])}(),function(){var n=angular.module("app");n.controller("ConfirmEmailController",["$http",function(n){var t=this;t.sendConfirmationEmail=function(){t.successMessage=null;t.errorMessage=null;n.post("/api/users/sendemailconfirmation?email="+encodeURIComponent(t.email)).then(function(){t.successMessage="Please check your email for instructions on how to confirm your email address."},function(){t.errorMessage="There was an error sending the confirmation email."})}}])}(),function(){var n=angular.module("app");n.controller("ResetPasswordController",["$http","$window",function(n,t){var i=this;i.currentView="form";i.code=t.getQueryStringParameter("code");const r=t.getQueryStringParameter("email");i.forgotUrl="/ResetPassword/Forgot";r&&(i.email=r);i.email&&(i.forgotUrl+="?"+new URLSearchParams({email:i.email}).toString());i.resetPassword=function(){n.post("/api/passwordreset/reset",angular.toJson(i)).then(function(){i.currentView="success"},function(n){i.errors=[];for(model in n.data.ModelState)i.errors.push(n.data.ModelState[model][0])})}}])}(),function(){var n=angular.module("app");n.controller("StartPasswordResetController",["$http","$window",function(n,t){var i=this;i.currentView="form";i.email=t.getQueryStringParameter("email");i.startPasswordReset=function(){n.post("/api/passwordreset/start",angular.toJson(i)).then(function(){i.currentView="success"},function(){i.errorMessage="We're sorry, an error has occurred."})}}])}()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.