-
Notifications
You must be signed in to change notification settings - Fork 2
/
scripts.js
15 lines (15 loc) · 461 KB
/
scripts.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=ae.type(e);return"function"!==n&&!ae.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(ae.isFunction(t))return ae.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return ae.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(he.test(t))return ae.filter(t,e,n);t=ae.filter(t,e)}return ae.grep(e,function(e){return Q.call(t,e)>-1!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return ae.each(e.match(Se)||[],function(e,n){t[n]=!0}),t}function o(){J.removeEventListener("DOMContentLoaded",o),e.removeEventListener("load",o),ae.ready()}function s(){this.expando=ae.expando+s.uid++}function u(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Te,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Ee.test(n)?ae.parseJSON(n):n)}catch(i){}xe.set(e,t,n)}else n=void 0;return n}function c(e,t,n,r){var i,a=1,o=20,s=r?function(){return r.cur()}:function(){return ae.css(e,t,"")},u=s(),c=n&&n[3]||(ae.cssNumber[t]?"":"px"),l=(ae.cssNumber[t]||"px"!==c&&+u)&&ke.exec(ae.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do a=a||".5",l/=a,ae.style(e,t,l+c);while(a!==(a=s()/u)&&1!==a&&--o)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function l(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&ae.nodeName(e,t)?ae.merge([e],n):n}function p(e,t){for(var n=0,r=e.length;r>n;n++)Ae.set(e[n],"globalEval",!t||Ae.get(t[n],"globalEval"))}function d(e,t,n,r,i){for(var a,o,s,u,c,d,f=t.createDocumentFragment(),D=[],h=0,W=e.length;W>h;h++)if(a=e[h],a||0===a)if("object"===ae.type(a))ae.merge(D,a.nodeType?[a]:a);else if(Ge.test(a)){for(o=o||f.appendChild(t.createElement("div")),s=(Ve.exec(a)||["",""])[1].toLowerCase(),u=Re[s]||Re._default,o.innerHTML=u[1]+ae.htmlPrefilter(a)+u[2],d=u[0];d--;)o=o.lastChild;ae.merge(D,o.childNodes),o=f.firstChild,o.textContent=""}else D.push(t.createTextNode(a));for(f.textContent="",h=0;a=D[h++];)if(r&&ae.inArray(a,r)>-1)i&&i.push(a);else if(c=ae.contains(a.ownerDocument,a),o=l(f.appendChild(a),"script"),c&&p(o),n)for(d=0;a=o[d++];)Le.test(a.type||"")&&n.push(a);return f}function f(){return!0}function D(){return!1}function h(){try{return J.activeElement}catch(e){}}function W(e,t,n,r,i,a){var o,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)W(e,s,n,r,t[s],a);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=D;else if(!i)return e;return 1===a&&(o=i,i=function(e){return ae().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=ae.guid++)),e.each(function(){ae.event.add(this,t,i,r,n)})}function g(e,t){return ae.nodeName(e,"table")&&ae.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function v(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function m(e){var t=je.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function C(e,t){var n,r,i,a,o,s,u,c;if(1===t.nodeType){if(Ae.hasData(e)&&(a=Ae.access(e),o=Ae.set(t,a),c=a.events)){delete o.handle,o.events={};for(i in c)for(n=0,r=c[i].length;r>n;n++)ae.event.add(t,i,c[i][n])}xe.hasData(e)&&(s=xe.access(e),u=ae.extend({},s),xe.set(t,u))}}function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&we.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function y(e,t,n,r){t=Y.apply([],t);var i,a,o,s,u,c,p=0,f=e.length,D=f-1,h=t[0],W=ae.isFunction(h);if(W||f>1&&"string"==typeof h&&!re.checkClone&&Ie.test(h))return e.each(function(i){var a=e.eq(i);W&&(t[0]=h.call(this,i,a.html())),y(a,t,n,r)});if(f&&(i=d(t,e[0].ownerDocument,!1,e,r),a=i.firstChild,1===i.childNodes.length&&(i=a),a||r)){for(o=ae.map(l(i,"script"),v),s=o.length;f>p;p++)u=i,p!==D&&(u=ae.clone(u,!0,!0),s&&ae.merge(o,l(u,"script"))),n.call(e[p],u,p);if(s)for(c=o[o.length-1].ownerDocument,ae.map(o,m),p=0;s>p;p++)u=o[p],Le.test(u.type||"")&&!Ae.access(u,"globalEval")&&ae.contains(c,u)&&(u.src?ae._evalUrl&&ae._evalUrl(u.src):ae.globalEval(u.textContent.replace(ze,"")))}return e}function b(e,t,n){for(var r,i=t?ae.filter(t,e):e,a=0;null!=(r=i[a]);a++)n||1!==r.nodeType||ae.cleanData(l(r)),r.parentNode&&(n&&ae.contains(r.ownerDocument,r)&&p(l(r,"script")),r.parentNode.removeChild(r));return e}function $(e,t){var n=ae(t.createElement(e)).appendTo(t.body),r=ae.css(n[0],"display");return n.detach(),r}function A(e){var t=J,n=Ke[e];return n||(n=$(e,t),"none"!==n&&n||(qe=(qe||ae("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=qe[0].contentDocument,t.write(),t.close(),n=$(e,t),qe.detach()),Ke[e]=n),n}function x(e,t,n){var r,i,a,o,s=e.style;return n=n||_e(e),o=n?n.getPropertyValue(t)||n[t]:void 0,""!==o&&void 0!==o||ae.contains(e.ownerDocument,e)||(o=ae.style(e,t)),n&&!re.pixelMarginRight()&&Je.test(o)&&Ue.test(t)&&(r=s.width,i=s.minWidth,a=s.maxWidth,s.minWidth=s.maxWidth=s.width=o,o=n.width,s.width=r,s.minWidth=i,s.maxWidth=a),void 0!==o?o+"":o}function E(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function T(e){if(e in rt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=nt.length;n--;)if(e=nt[n]+t,e in rt)return e}function F(e,t,n){var r=ke.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function k(e,t,n,r,i){for(var a=n===(r?"border":"content")?4:"width"===t?1:0,o=0;4>a;a+=2)"margin"===n&&(o+=ae.css(e,n+Me[a],!0,i)),r?("content"===n&&(o-=ae.css(e,"padding"+Me[a],!0,i)),"margin"!==n&&(o-=ae.css(e,"border"+Me[a]+"Width",!0,i))):(o+=ae.css(e,"padding"+Me[a],!0,i),"padding"!==n&&(o+=ae.css(e,"border"+Me[a]+"Width",!0,i)));return o}function M(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,a=_e(e),o="border-box"===ae.css(e,"boxSizing",!1,a);if(0>=i||null==i){if(i=x(e,t,a),(0>i||null==i)&&(i=e.style[t]),Je.test(i))return i;r=o&&(re.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+k(e,t,n||(o?"border":"content"),r,a)+"px"}function P(e,t){for(var n,r,i,a=[],o=0,s=e.length;s>o;o++)r=e[o],r.style&&(a[o]=Ae.get(r,"olddisplay"),n=r.style.display,t?(a[o]||"none"!==n||(r.style.display=""),""===r.style.display&&Pe(r)&&(a[o]=Ae.access(r,"olddisplay",A(r.nodeName)))):(i=Pe(r),"none"===n&&i||Ae.set(r,"olddisplay",i?n:ae.css(r,"display"))));for(o=0;s>o;o++)r=e[o],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?a[o]||"":"none"));return e}function w(e,t,n,r,i){return new w.prototype.init(e,t,n,r,i)}function V(){return e.setTimeout(function(){it=void 0}),it=ae.now()}function L(e,t){var n,r=0,i={height:e};for(t=t?1:0;4>r;r+=2-t)n=Me[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function R(e,t,n){for(var r,i=(H.tweeners[t]||[]).concat(H.tweeners["*"]),a=0,o=i.length;o>a;a++)if(r=i[a].call(n,t,e))return r}function G(e,t,n){var r,i,a,o,s,u,c,l,p=this,d={},f=e.style,D=e.nodeType&&Pe(e),h=Ae.get(e,"fxshow");n.queue||(s=ae._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,p.always(function(){p.always(function(){s.unqueued--,ae.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],c=ae.css(e,"display"),l="none"===c?Ae.get(e,"olddisplay")||A(e.nodeName):c,"inline"===l&&"none"===ae.css(e,"float")&&(f.display="inline-block")),n.overflow&&(f.overflow="hidden",p.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],ot.exec(i)){if(delete t[r],a=a||"toggle"===i,i===(D?"hide":"show")){if("show"!==i||!h||void 0===h[r])continue;D=!0}d[r]=h&&h[r]||ae.style(e,r)}else c=void 0;if(ae.isEmptyObject(d))"inline"===("none"===c?A(e.nodeName):c)&&(f.display=c);else{h?"hidden"in h&&(D=h.hidden):h=Ae.access(e,"fxshow",{}),a&&(h.hidden=!D),D?ae(e).show():p.done(function(){ae(e).hide()}),p.done(function(){var t;Ae.remove(e,"fxshow");for(t in d)ae.style(e,t,d[t])});for(r in d)o=R(D?h[r]:0,r,p),r in h||(h[r]=o.start,D&&(o.end=o.start,o.start="width"===r||"height"===r?1:0))}}function B(e,t){var n,r,i,a,o;for(n in e)if(r=ae.camelCase(n),i=t[r],a=e[n],ae.isArray(a)&&(i=a[1],a=e[n]=a[0]),n!==r&&(e[r]=a,delete e[n]),o=ae.cssHooks[r],o&&"expand"in o){a=o.expand(a),delete e[r];for(n in a)n in e||(e[n]=a[n],t[n]=i)}else t[r]=i}function H(e,t,n){var r,i,a=0,o=H.prefilters.length,s=ae.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=it||V(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,a=1-r,o=0,u=c.tweens.length;u>o;o++)c.tweens[o].run(a);return s.notifyWith(e,[c,a,n]),1>a&&u?n:(s.resolveWith(e,[c]),!1)},c=s.promise({elem:e,props:ae.extend({},t),opts:ae.extend(!0,{specialEasing:{},easing:ae.easing._default},n),originalProperties:t,originalOptions:n,startTime:it||V(),duration:n.duration,tweens:[],createTween:function(t,n){var r=ae.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)c.tweens[n].run(1);return t?(s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c,t])):s.rejectWith(e,[c,t]),this}}),l=c.props;for(B(l,c.opts.specialEasing);o>a;a++)if(r=H.prefilters[a].call(c,e,l,c.opts))return ae.isFunction(r.stop)&&(ae._queueHooks(c.elem,c.opts.queue).stop=ae.proxy(r.stop,r)),r;return ae.map(l,R,c),ae.isFunction(c.opts.start)&&c.opts.start.call(e,c),ae.fx.timer(ae.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function N(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,a=t.toLowerCase().match(Se)||[];if(ae.isFunction(n))for(;r=a[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function O(e,t,n,r){function i(s){var u;return a[s]=!0,ae.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||o||a[c]?o?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var a={},o=e===xt;return i(t.dataTypes[0])||!a["*"]&&i("*")}function I(e,t){var n,r,i=ae.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ae.extend(!0,e,r),e}function j(e,t,n){for(var r,i,a,o,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)a=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){a=i;break}o||(o=i)}a=a||o}return a?(a!==u[0]&&u.unshift(a),n[a]):void 0}function z(e,t,n,r){var i,a,o,s,u,c={},l=e.dataTypes.slice();if(l[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(a=l.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=a,a=l.shift())if("*"===a)a=u;else if("*"!==u&&u!==a){if(o=c[u+" "+a]||c["* "+a],!o)for(i in c)if(s=i.split(" "),s[1]===a&&(o=c[u+" "+s[0]]||c["* "+s[0]])){o===!0?o=c[i]:c[i]!==!0&&(a=s[0],l.unshift(s[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(p){return{state:"parsererror",error:o?p:"No conversion from "+u+" to "+a}}}return{state:"success",data:t}}function q(e,t,n,r){var i;if(ae.isArray(t))ae.each(t,function(t,i){n||kt.test(e)?r(e,i):q(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==ae.type(t))r(e,t);else for(i in t)q(e+"["+i+"]",t[i],n,r)}function K(e){return ae.isWindow(e)?e:9===e.nodeType&&e.defaultView}var U=[],J=e.document,_=U.slice,Y=U.concat,Z=U.push,Q=U.indexOf,ee={},te=ee.toString,ne=ee.hasOwnProperty,re={},ie="2.2.4",ae=function(e,t){return new ae.fn.init(e,t)},oe=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,se=/^-ms-/,ue=/-([\da-z])/gi,ce=function(e,t){return t.toUpperCase()};ae.fn=ae.prototype={jquery:ie,constructor:ae,selector:"",length:0,toArray:function(){return _.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:_.call(this)},pushStack:function(e){var t=ae.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return ae.each(this,e)},map:function(e){return this.pushStack(ae.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(_.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:Z,sort:U.sort,splice:U.splice},ae.extend=ae.fn.extend=function(){var e,t,n,r,i,a,o=arguments[0]||{},s=1,u=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[s]||{},s++),"object"==typeof o||ae.isFunction(o)||(o={}),s===u&&(o=this,s--);u>s;s++)if(null!=(e=arguments[s]))for(t in e)n=o[t],r=e[t],o!==r&&(c&&r&&(ae.isPlainObject(r)||(i=ae.isArray(r)))?(i?(i=!1,a=n&&ae.isArray(n)?n:[]):a=n&&ae.isPlainObject(n)?n:{},o[t]=ae.extend(c,a,r)):void 0!==r&&(o[t]=r));return o},ae.extend({expando:"jQuery"+(ie+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ae.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!ae.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if("object"!==ae.type(e)||e.nodeType||ae.isWindow(e))return!1;if(e.constructor&&!ne.call(e,"constructor")&&!ne.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||ne.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ee[te.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=ae.trim(e),e&&(1===e.indexOf("use strict")?(t=J.createElement("script"),t.text=e,J.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(se,"ms-").replace(ue,ce)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;r>i&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(oe,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?ae.merge(r,"string"==typeof e?[e]:e):Z.call(r,e)),r},inArray:function(e,t,n){return null==t?-1:Q.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],a=0,o=e.length,s=!n;o>a;a++)r=!t(e[a],a),r!==s&&i.push(e[a]);return i},map:function(e,t,r){var i,a,o=0,s=[];if(n(e))for(i=e.length;i>o;o++)a=t(e[o],o,r),null!=a&&s.push(a);else for(o in e)a=t(e[o],o,r),null!=a&&s.push(a);return Y.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),ae.isFunction(e)?(r=_.call(arguments,2),i=function(){return e.apply(t||this,r.concat(_.call(arguments)))},i.guid=e.guid=e.guid||ae.guid++,i):void 0},now:Date.now,support:re}),"function"==typeof Symbol&&(ae.fn[Symbol.iterator]=U[Symbol.iterator]),ae.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ee["[object "+t+"]"]=t.toLowerCase()});var le=function(e){function t(e,t,n,r){var i,a,o,s,u,c,p,f,D=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:X)!==P&&M(t),t=t||P,V)){if(11!==h&&(c=ge.exec(e)))if(i=c[1]){if(9===h){if(!(o=t.getElementById(i)))return n;if(o.id===i)return n.push(o),n}else if(D&&(o=D.getElementById(i))&&B(t,o)&&o.id===i)return n.push(o),n}else{if(c[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((i=c[3])&&S.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(i)),n}if(S.qsa&&!z[e+" "]&&(!L||!L.test(e))){if(1!==h)D=t,f=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(me,"\\$&"):t.setAttribute("id",s=H),p=A(e),a=p.length,u=de.test(s)?"#"+s:"[id='"+s+"']";a--;)p[a]=u+" "+d(p[a]);f=p.join(","),D=ve.test(e)&&l(t.parentNode)||t}if(f)try{return Z.apply(n,D.querySelectorAll(f)),n}catch(W){}finally{s===H&&t.removeAttribute("id")}}}return E(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>y.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[H]=!0,e}function i(e){var t=P.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var n=e.split("|"),r=n.length;r--;)y.attrHandle[n[r]]=t}function o(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,a=e([],n.length,t),o=a.length;o--;)n[i=a[o]]&&(n[i]=!(r[i]=n[i]))})})}function l(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function f(e,t,n){var r=t.dir,i=n&&"parentNode"===r,a=O++;return t.first?function(t,n,a){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,a)}:function(t,n,o){var s,u,c,l=[N,a];if(o){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,o))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(c=t[H]||(t[H]={}),u=c[t.uniqueID]||(c[t.uniqueID]={}),(s=u[r])&&s[0]===N&&s[1]===a)return l[2]=s[2];if(u[r]=l,l[2]=e(t,n,o))return!0}}}function D(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function h(e,n,r){for(var i=0,a=n.length;a>i;i++)t(e,n[i],r);return r}function W(e,t,n,r,i){for(var a,o=[],s=0,u=e.length,c=null!=t;u>s;s++)(a=e[s])&&(n&&!n(a,r,i)||(o.push(a),c&&t.push(s)));return o}function g(e,t,n,i,a,o){return i&&!i[H]&&(i=g(i)),a&&!a[H]&&(a=g(a,o)),r(function(r,o,s,u){var c,l,p,d=[],f=[],D=o.length,g=r||h(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?g:W(g,d,e,s,u),m=n?a||(r?e:D||i)?[]:o:v;if(n&&n(v,m,s,u),i)for(c=W(m,f),i(c,[],s,u),l=c.length;l--;)(p=c[l])&&(m[f[l]]=!(v[f[l]]=p));if(r){if(a||e){if(a){for(c=[],l=m.length;l--;)(p=m[l])&&c.push(v[l]=p);a(null,m=[],c,u)}for(l=m.length;l--;)(p=m[l])&&(c=a?ee(r,p):d[l])>-1&&(r[c]=!(o[c]=p))}}else m=W(m===o?m.splice(D,m.length):m),a?a(null,o,m,u):Z.apply(o,m)})}function v(e){for(var t,n,r,i=e.length,a=y.relative[e[0].type],o=a||y.relative[" "],s=a?1:0,u=f(function(e){return e===t},o,!0),c=f(function(e){return ee(t,e)>-1},o,!0),l=[function(e,n,r){var i=!a&&(r||n!==T)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];i>s;s++)if(n=y.relative[e[s].type])l=[f(D(l),n)];else{if(n=y.filter[e[s].type].apply(null,e[s].matches),n[H]){for(r=++s;i>r&&!y.relative[e[r].type];r++);return g(s>1&&D(l),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,r>s&&v(e.slice(s,r)),i>r&&v(e=e.slice(r)),i>r&&d(e))}l.push(n)}return D(l)}function m(e,n){var i=n.length>0,a=e.length>0,o=function(r,o,s,u,c){var l,p,d,f=0,D="0",h=r&&[],g=[],v=T,m=r||a&&y.find.TAG("*",c),C=N+=null==v?1:Math.random()||.1,S=m.length;for(c&&(T=o===P||o||c);D!==S&&null!=(l=m[D]);D++){if(a&&l){for(p=0,o||l.ownerDocument===P||(M(l),s=!V);d=e[p++];)if(d(l,o||P,s)){u.push(l);break}c&&(N=C)}i&&((l=!d&&l)&&f--,r&&h.push(l))}if(f+=D,i&&D!==f){for(p=0;d=n[p++];)d(h,g,o,s);if(r){if(f>0)for(;D--;)h[D]||g[D]||(g[D]=_.call(u));g=W(g)}Z.apply(u,g),c&&!r&&g.length>0&&f+n.length>1&&t.uniqueSort(u)}return c&&(N=C,T=v),h};return i?r(o):o}var C,S,y,b,$,A,x,E,T,F,k,M,P,w,V,L,R,G,B,H="sizzle"+1*new Date,X=e.document,N=0,O=0,I=n(),j=n(),z=n(),q=function(e,t){return e===t&&(k=!0),0},K=1<<31,U={}.hasOwnProperty,J=[],_=J.pop,Y=J.push,Z=J.push,Q=J.slice,ee=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ae=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",oe=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),pe=new RegExp(ae),de=new RegExp("^"+re+"$"),fe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},De=/^(?:input|select|textarea|button)$/i,he=/^h\d$/i,We=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,me=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),Se=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},ye=function(){M()};try{Z.apply(J=Q.call(X.childNodes),X.childNodes),J[X.childNodes.length].nodeType}catch(be){Z={apply:J.length?function(e,t){Y.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}S=t.support={},$=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},M=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:X;return r!==P&&9===r.nodeType&&r.documentElement?(P=r,w=P.documentElement,V=!$(P),(n=P.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ye,!1):n.attachEvent&&n.attachEvent("onunload",ye)),S.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),S.getElementsByTagName=i(function(e){return e.appendChild(P.createComment("")),!e.getElementsByTagName("*").length}),S.getElementsByClassName=We.test(P.getElementsByClassName),S.getById=i(function(e){return w.appendChild(e).id=H,!P.getElementsByName||!P.getElementsByName(H).length}),S.getById?(y.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&V){var n=t.getElementById(e);return n?[n]:[]}},y.filter.ID=function(e){var t=e.replace(Ce,Se);return function(e){return e.getAttribute("id")===t}}):(delete y.find.ID,y.filter.ID=function(e){var t=e.replace(Ce,Se);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),y.find.TAG=S.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):S.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},y.find.CLASS=S.getElementsByClassName&&function(e,t){return"undefined"!=typeof t.getElementsByClassName&&V?t.getElementsByClassName(e):void 0},R=[],L=[],(S.qsa=We.test(P.querySelectorAll))&&(i(function(e){w.appendChild(e).innerHTML="<a id='"+H+"'></a><select id='"+H+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||L.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+H+"-]").length||L.push("~="),e.querySelectorAll(":checked").length||L.push(":checked"),e.querySelectorAll("a#"+H+"+*").length||L.push(".#.+[+~]")}),i(function(e){var t=P.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&L.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(S.matchesSelector=We.test(G=w.matches||w.webkitMatchesSelector||w.mozMatchesSelector||w.oMatchesSelector||w.msMatchesSelector))&&i(function(e){S.disconnectedMatch=G.call(e,"div"),G.call(e,"[s!='']:x"),R.push("!=",ae)}),L=L.length&&new RegExp(L.join("|")),R=R.length&&new RegExp(R.join("|")),t=We.test(w.compareDocumentPosition),B=t||We.test(w.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},q=t?function(e,t){if(e===t)return k=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!S.sortDetached&&t.compareDocumentPosition(e)===n?e===P||e.ownerDocument===X&&B(X,e)?-1:t===P||t.ownerDocument===X&&B(X,t)?1:F?ee(F,e)-ee(F,t):0:4&n?-1:1)}:function(e,t){if(e===t)return k=!0,0;var n,r=0,i=e.parentNode,a=t.parentNode,s=[e],u=[t];if(!i||!a)return e===P?-1:t===P?1:i?-1:a?1:F?ee(F,e)-ee(F,t):0;if(i===a)return o(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?o(s[r],u[r]):s[r]===X?-1:u[r]===X?1:0},P):P},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==P&&M(e),n=n.replace(le,"='$1']"),S.matchesSelector&&V&&!z[n+" "]&&(!R||!R.test(n))&&(!L||!L.test(n)))try{var r=G.call(e,n);if(r||S.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,P,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==P&&M(e),B(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==P&&M(e);var n=y.attrHandle[t.toLowerCase()],r=n&&U.call(y.attrHandle,t.toLowerCase())?n(e,t,!V):void 0;return void 0!==r?r:S.attributes||!V?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(k=!S.detectDuplicates,F=!S.sortStable&&e.slice(0),e.sort(q),k){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return F=null,e},b=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=b(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=b(t);return n},y=t.selectors={cacheLength:50,createPseudo:r,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,Se),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,Se),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&pe.test(n)&&(t=A(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,Se).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=I[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&I(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var a=t.attr(i,e);return null==a?"!="===n:!n||(a+="","="===n?a===r:"!="===n?a!==r:"^="===n?r&&0===a.indexOf(r):"*="===n?r&&a.indexOf(r)>-1:"$="===n?r&&a.slice(-r.length)===r:"~="===n?(" "+a.replace(oe," ")+" ").indexOf(r)>-1:"|="===n&&(a===r||a.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,p,d,f,D,h=a!==o?"nextSibling":"previousSibling",W=t.parentNode,g=s&&t.nodeName.toLowerCase(),v=!u&&!s,m=!1;if(W){if(a){for(;h;){for(d=t;d=d[h];)if(s?d.nodeName.toLowerCase()===g:1===d.nodeType)return!1;D=h="only"===e&&!D&&"nextSibling"}return!0}if(D=[o?W.firstChild:W.lastChild],o&&v){for(d=W,p=d[H]||(d[H]={}),l=p[d.uniqueID]||(p[d.uniqueID]={}),c=l[e]||[],f=c[0]===N&&c[1],m=f&&c[2],d=f&&W.childNodes[f];d=++f&&d&&d[h]||(m=f=0)||D.pop();)if(1===d.nodeType&&++m&&d===t){l[e]=[N,f,m];break}}else if(v&&(d=t,p=d[H]||(d[H]={}),l=p[d.uniqueID]||(p[d.uniqueID]={}),c=l[e]||[],f=c[0]===N&&c[1],m=f),m===!1)for(;(d=++f&&d&&d[h]||(m=f=0)||D.pop())&&((s?d.nodeName.toLowerCase()!==g:1!==d.nodeType)||!++m||(v&&(p=d[H]||(d[H]={}),l=p[d.uniqueID]||(p[d.uniqueID]={}),l[e]=[N,m]),d!==t)););return m-=i,m===r||m%r===0&&m/r>=0}}},PSEUDO:function(e,n){var i,a=y.pseudos[e]||y.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return a[H]?a(n):a.length>1?(i=[e,e,"",n],y.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=a(e,n),o=i.length;o--;)r=ee(e,i[o]),e[r]=!(t[r]=i[o])}):function(e){return a(e,0,i)}):a}},pseudos:{not:r(function(e){var t=[],n=[],i=x(e.replace(se,"$1"));return i[H]?r(function(e,t,n,r){for(var a,o=i(e,null,r,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,r,a){return t[0]=e,i(t,null,a,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,Se),function(t){return(t.textContent||t.innerText||b(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(Ce,Se).toLowerCase(),function(t){var n;do if(n=V?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===w},focus:function(e){return e===P.activeElement&&(!P.hasFocus||P.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!y.pseudos.empty(e)},header:function(e){return he.test(e.nodeName)},input:function(e){return De.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){
for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},y.pseudos.nth=y.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})y.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})y.pseudos[C]=u(C);return p.prototype=y.filters=y.pseudos,y.setFilters=new p,A=t.tokenize=function(e,n){var r,i,a,o,s,u,c,l=j[e+" "];if(l)return n?0:l.slice(0);for(s=e,u=[],c=y.preFilter;s;){r&&!(i=ue.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(a=[])),r=!1,(i=ce.exec(s))&&(r=i.shift(),a.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(o in y.filter)!(i=fe[o].exec(s))||c[o]&&!(i=c[o](i))||(r=i.shift(),a.push({value:r,type:o,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):j(e,u).slice(0)},x=t.compile=function(e,t){var n,r=[],i=[],a=z[e+" "];if(!a){for(t||(t=A(e)),n=t.length;n--;)a=v(t[n]),a[H]?r.push(a):i.push(a);a=z(e,m(i,r)),a.selector=e}return a},E=t.select=function(e,t,n,r){var i,a,o,s,u,c="function"==typeof e&&e,p=!r&&A(e=c.selector||e);if(n=n||[],1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(o=a[0]).type&&S.getById&&9===t.nodeType&&V&&y.relative[a[1].type]){if(t=(y.find.ID(o.matches[0].replace(Ce,Se),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(i=fe.needsContext.test(e)?0:a.length;i--&&(o=a[i],!y.relative[s=o.type]);)if((u=y.find[s])&&(r=u(o.matches[0].replace(Ce,Se),ve.test(a[0].type)&&l(t.parentNode)||t))){if(a.splice(i,1),e=r.length&&d(a),!e)return Z.apply(n,r),n;break}}return(c||x(e,p))(r,t,!V,n,!t||ve.test(e)&&l(t.parentNode)||t),n},S.sortStable=H.split("").sort(q).join("")===H,S.detectDuplicates=!!k,M(),S.sortDetached=i(function(e){return 1&e.compareDocumentPosition(P.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),S.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||a(te,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);ae.find=le,ae.expr=le.selectors,ae.expr[":"]=ae.expr.pseudos,ae.uniqueSort=ae.unique=le.uniqueSort,ae.text=le.getText,ae.isXMLDoc=le.isXML,ae.contains=le.contains;var pe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&ae(e).is(n))break;r.push(e)}return r},de=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},fe=ae.expr.match.needsContext,De=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,he=/^.[^:#\[\.,]*$/;ae.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ae.find.matchesSelector(r,e)?[r]:[]:ae.find.matches(e,ae.grep(t,function(e){return 1===e.nodeType}))},ae.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(ae(e).filter(function(){for(t=0;n>t;t++)if(ae.contains(i[t],this))return!0}));for(t=0;n>t;t++)ae.find(e,i[t],r);return r=this.pushStack(n>1?ae.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&fe.test(e)?ae(e):e||[],!1).length}});var We,ge=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ve=ae.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||We,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ge.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ae?t[0]:t,ae.merge(this,ae.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:J,!0)),De.test(r[1])&&ae.isPlainObject(t))for(r in t)ae.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=J.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=J,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ae.isFunction(e)?void 0!==n.ready?n.ready(e):e(ae):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),ae.makeArray(e,this))};ve.prototype=ae.fn,We=ae(J);var me=/^(?:parents|prev(?:Until|All))/,Ce={children:!0,contents:!0,next:!0,prev:!0};ae.fn.extend({has:function(e){var t=ae(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(ae.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,a=[],o=fe.test(e)||"string"!=typeof e?ae(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&ae.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?ae.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?Q.call(ae(e),this[0]):Q.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ae.uniqueSort(ae.merge(this.get(),ae(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ae.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return pe(e,"parentNode")},parentsUntil:function(e,t,n){return pe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return pe(e,"nextSibling")},prevAll:function(e){return pe(e,"previousSibling")},nextUntil:function(e,t,n){return pe(e,"nextSibling",n)},prevUntil:function(e,t,n){return pe(e,"previousSibling",n)},siblings:function(e){return de((e.parentNode||{}).firstChild,e)},children:function(e){return de(e.firstChild)},contents:function(e){return e.contentDocument||ae.merge([],e.childNodes)}},function(e,t){ae.fn[e]=function(n,r){var i=ae.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=ae.filter(r,i)),this.length>1&&(Ce[e]||ae.uniqueSort(i),me.test(e)&&i.reverse()),this.pushStack(i)}});var Se=/\S+/g;ae.Callbacks=function(e){e="string"==typeof e?a(e):ae.extend({},e);var t,n,r,i,o=[],s=[],u=-1,c=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<o.length;)o[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,s.push(n)),function r(t){ae.each(t,function(t,n){ae.isFunction(n)?e.unique&&l.has(n)||o.push(n):n&&n.length&&"string"!==ae.type(n)&&r(n)})}(arguments),n&&!t&&c()),this},remove:function(){return ae.each(arguments,function(e,t){for(var n;(n=ae.inArray(t,o,n))>-1;)o.splice(n,1),u>=n&&u--}),this},has:function(e){return e?ae.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},ae.extend({Deferred:function(e){var t=[["resolve","done",ae.Callbacks("once memory"),"resolved"],["reject","fail",ae.Callbacks("once memory"),"rejected"],["notify","progress",ae.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ae.Deferred(function(n){ae.each(t,function(t,a){var o=ae.isFunction(e[t])&&e[t];i[a[1]](function(){var e=o&&o.apply(this,arguments);e&&ae.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[a[0]+"With"](this===r?n.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ae.extend(e,r):r}},i={};return r.pipe=r.then,ae.each(t,function(e,a){var o=a[2],s=a[3];r[a[1]]=o.add,s&&o.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[a[0]]=function(){return i[a[0]+"With"](this===i?r:this,arguments),this},i[a[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,a=_.call(arguments),o=a.length,s=1!==o||e&&ae.isFunction(e.promise)?o:0,u=1===s?e:ae.Deferred(),c=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?_.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(o>1)for(t=new Array(o),n=new Array(o),r=new Array(o);o>i;i++)a[i]&&ae.isFunction(a[i].promise)?a[i].promise().progress(c(i,n,t)).done(c(i,r,a)).fail(u.reject):--s;return s||u.resolveWith(r,a),u.promise()}});var ye;ae.fn.ready=function(e){return ae.ready.promise().done(e),this},ae.extend({isReady:!1,readyWait:1,holdReady:function(e){e?ae.readyWait++:ae.ready(!0)},ready:function(e){(e===!0?--ae.readyWait:ae.isReady)||(ae.isReady=!0,e!==!0&&--ae.readyWait>0||(ye.resolveWith(J,[ae]),ae.fn.triggerHandler&&(ae(J).triggerHandler("ready"),ae(J).off("ready"))))}}),ae.ready.promise=function(t){return ye||(ye=ae.Deferred(),"complete"===J.readyState||"loading"!==J.readyState&&!J.documentElement.doScroll?e.setTimeout(ae.ready):(J.addEventListener("DOMContentLoaded",o),e.addEventListener("load",o))),ye.promise(t)},ae.ready.promise();var be=function(e,t,n,r,i,a,o){var s=0,u=e.length,c=null==n;if("object"===ae.type(n)){i=!0;for(s in n)be(e,t,s,n[s],!0,a,o)}else if(void 0!==r&&(i=!0,ae.isFunction(r)||(o=!0),c&&(o?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(ae(e),n)})),t))for(;u>s;s++)t(e[s],n,o?r:r.call(e[s],s,t(e[s],n)));return i?e:c?t.call(e):u?t(e[0],n):a},$e=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};s.uid=1,s.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!$e(e))return{};var t=e[this.expando];return t||(t={},$e(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[t]=n;else for(r in t)i[r]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,ae.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,a=e[this.expando];if(void 0!==a){if(void 0===t)this.register(e);else{ae.isArray(t)?r=t.concat(t.map(ae.camelCase)):(i=ae.camelCase(t),t in a?r=[t,i]:(r=i,r=r in a?[r]:r.match(Se)||[])),n=r.length;for(;n--;)delete a[r[n]]}(void 0===t||ae.isEmptyObject(a))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ae.isEmptyObject(t)}};var Ae=new s,xe=new s,Ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Te=/[A-Z]/g;ae.extend({hasData:function(e){return xe.hasData(e)||Ae.hasData(e)},data:function(e,t,n){return xe.access(e,t,n)},removeData:function(e,t){xe.remove(e,t)},_data:function(e,t,n){return Ae.access(e,t,n)},_removeData:function(e,t){Ae.remove(e,t)}}),ae.fn.extend({data:function(e,t){var n,r,i,a=this[0],o=a&&a.attributes;if(void 0===e){if(this.length&&(i=xe.get(a),1===a.nodeType&&!Ae.get(a,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(r=o[n].name,0===r.indexOf("data-")&&(r=ae.camelCase(r.slice(5)),u(a,r,i[r])));Ae.set(a,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){xe.set(this,e)}):be(this,function(t){var n,r;if(a&&void 0===t){if(n=xe.get(a,e)||xe.get(a,e.replace(Te,"-$&").toLowerCase()),void 0!==n)return n;if(r=ae.camelCase(e),n=xe.get(a,r),void 0!==n)return n;if(n=u(a,r,void 0),void 0!==n)return n}else r=ae.camelCase(e),this.each(function(){var n=xe.get(this,r);xe.set(this,r,t),e.indexOf("-")>-1&&void 0!==n&&xe.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){xe.remove(this,e)})}}),ae.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=Ae.get(e,t),n&&(!r||ae.isArray(n)?r=Ae.access(e,t,ae.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=ae.queue(e,t),r=n.length,i=n.shift(),a=ae._queueHooks(e,t),o=function(){ae.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete a.stop,i.call(e,o,a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Ae.get(e,n)||Ae.access(e,n,{empty:ae.Callbacks("once memory").add(function(){Ae.remove(e,[t+"queue",n])})})}}),ae.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?ae.queue(this[0],e):void 0===t?this:this.each(function(){var n=ae.queue(this,e,t);ae._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&ae.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ae.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ae.Deferred(),a=this,o=this.length,s=function(){--r||i.resolveWith(a,[a])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)n=Ae.get(a[o],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Fe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ke=new RegExp("^(?:([+-])=|)("+Fe+")([a-z%]*)$","i"),Me=["Top","Right","Bottom","Left"],Pe=function(e,t){return e=t||e,"none"===ae.css(e,"display")||!ae.contains(e.ownerDocument,e)},we=/^(?:checkbox|radio)$/i,Ve=/<([\w:-]+)/,Le=/^$|\/(?:java|ecma)script/i,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td;var Ge=/<|&#?\w+;/;!function(){var e=J.createDocumentFragment(),t=e.appendChild(J.createElement("div")),n=J.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),re.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",re.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Be=/^key/,He=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xe=/^([^.]*)(?:\.(.+)|)/;ae.event={global:{},add:function(e,t,n,r,i){var a,o,s,u,c,l,p,d,f,D,h,W=Ae.get(e);if(W)for(n.handler&&(a=n,n=a.handler,i=a.selector),n.guid||(n.guid=ae.guid++),(u=W.events)||(u=W.events={}),(o=W.handle)||(o=W.handle=function(t){return"undefined"!=typeof ae&&ae.event.triggered!==t.type?ae.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Se)||[""],c=t.length;c--;)s=Xe.exec(t[c])||[],f=h=s[1],D=(s[2]||"").split(".").sort(),f&&(p=ae.event.special[f]||{},f=(i?p.delegateType:p.bindType)||f,p=ae.event.special[f]||{},l=ae.extend({type:f,origType:h,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ae.expr.match.needsContext.test(i),namespace:D.join(".")},a),(d=u[f])||(d=u[f]=[],d.delegateCount=0,p.setup&&p.setup.call(e,r,D,o)!==!1||e.addEventListener&&e.addEventListener(f,o)),p.add&&(p.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),ae.event.global[f]=!0)},remove:function(e,t,n,r,i){var a,o,s,u,c,l,p,d,f,D,h,W=Ae.hasData(e)&&Ae.get(e);if(W&&(u=W.events)){for(t=(t||"").match(Se)||[""],c=t.length;c--;)if(s=Xe.exec(t[c])||[],f=h=s[1],D=(s[2]||"").split(".").sort(),f){for(p=ae.event.special[f]||{},f=(r?p.delegateType:p.bindType)||f,d=u[f]||[],s=s[2]&&new RegExp("(^|\\.)"+D.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=a=d.length;a--;)l=d[a],!i&&h!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(a,1),l.selector&&d.delegateCount--,p.remove&&p.remove.call(e,l));o&&!d.length&&(p.teardown&&p.teardown.call(e,D,W.handle)!==!1||ae.removeEvent(e,f,W.handle),delete u[f])}else for(f in u)ae.event.remove(e,f+t[c],n,r,!0);ae.isEmptyObject(u)&&Ae.remove(e,"handle events")}},dispatch:function(e){e=ae.event.fix(e);var t,n,r,i,a,o=[],s=_.call(arguments),u=(Ae.get(this,"events")||{})[e.type]||[],c=ae.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(o=ae.event.handlers.call(this,e,u),t=0;(i=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(a=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(a.namespace)||(e.handleObj=a,e.data=a.data,r=((ae.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,a,o=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;s>n;n++)a=t[n],i=a.selector+" ",void 0===r[i]&&(r[i]=a.needsContext?ae(i,this).index(u)>-1:ae.find(i,this,null,[u]).length),r[i]&&r.push(a);r.length&&o.push({elem:u,handlers:r})}return s<t.length&&o.push({elem:this,handlers:t.slice(s)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,a=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||J,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===a||(e.which=1&a?1:2&a?3:4&a?2:0),e}},fix:function(e){if(e[ae.expando])return e;var t,n,r,i=e.type,a=e,o=this.fixHooks[i];for(o||(this.fixHooks[i]=o=He.test(i)?this.mouseHooks:Be.test(i)?this.keyHooks:{}),r=o.props?this.props.concat(o.props):this.props,e=new ae.Event(a),t=r.length;t--;)n=r[t],e[n]=a[n];return e.target||(e.target=J),3===e.target.nodeType&&(e.target=e.target.parentNode),o.filter?o.filter(e,a):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==h()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===h()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&ae.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return ae.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ae.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ae.Event=function(e,t){return this instanceof ae.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?f:D):this.type=e,t&&ae.extend(this,t),this.timeStamp=e&&e.timeStamp||ae.now(),void(this[ae.expando]=!0)):new ae.Event(e,t)},ae.Event.prototype={constructor:ae.Event,isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=f,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=f,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=f,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ae.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){ae.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,a=e.handleObj;return i&&(i===r||ae.contains(r,i))||(e.type=a.origType,n=a.handler.apply(this,arguments),e.type=t),n}}}),ae.fn.extend({on:function(e,t,n,r){return W(this,e,t,n,r)},one:function(e,t,n,r){return W(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ae(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=D),this.each(function(){ae.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Oe=/<script|<style|<link/i,Ie=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^true\/(.*)/,ze=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ae.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,a,o,s=e.cloneNode(!0),u=ae.contains(e.ownerDocument,e);if(!(re.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ae.isXMLDoc(e)))for(o=l(s),a=l(e),r=0,i=a.length;i>r;r++)S(a[r],o[r]);if(t)if(n)for(a=a||l(e),o=o||l(s),r=0,i=a.length;i>r;r++)C(a[r],o[r]);else C(e,s);return o=l(s,"script"),o.length>0&&p(o,!u&&l(e,"script")),s},cleanData:function(e){for(var t,n,r,i=ae.event.special,a=0;void 0!==(n=e[a]);a++)if($e(n)){if(t=n[Ae.expando]){if(t.events)for(r in t.events)i[r]?ae.event.remove(n,r):ae.removeEvent(n,r,t.handle);n[Ae.expando]=void 0}n[xe.expando]&&(n[xe.expando]=void 0)}}}),ae.fn.extend({domManip:y,detach:function(e){return b(this,e,!0)},remove:function(e){return b(this,e)},text:function(e){return be(this,function(e){return void 0===e?ae.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return y(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=g(this,e);t.appendChild(e)}})},prepend:function(){return y(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=g(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return y(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return y(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ae.cleanData(l(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ae.clone(this,e,t)})},html:function(e){return be(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!Re[(Ve.exec(e)||["",""])[1].toLowerCase()]){e=ae.htmlPrefilter(e);try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(ae.cleanData(l(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return y(this,arguments,function(t){var n=this.parentNode;ae.inArray(this,e)<0&&(ae.cleanData(l(this)),n&&n.replaceChild(t,this))},e)}}),ae.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ae.fn[e]=function(e){for(var n,r=[],i=ae(e),a=i.length-1,o=0;a>=o;o++)n=o===a?this:this.clone(!0),ae(i[o])[t](n),Z.apply(r,n.get());return this.pushStack(r)}});var qe,Ke={HTML:"block",BODY:"block"},Ue=/^margin/,Je=new RegExp("^("+Fe+")(?!px)[a-z%]+$","i"),_e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Ye=function(e,t,n,r){var i,a,o={};for(a in t)o[a]=e.style[a],e.style[a]=t[a];i=n.apply(e,r||[]);for(a in t)e.style[a]=o[a];return i},Ze=J.documentElement;!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ze.appendChild(o);var t=e.getComputedStyle(s);n="1%"!==t.top,a="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",i="4px"===t.marginRight,Ze.removeChild(o)}var n,r,i,a,o=J.createElement("div"),s=J.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",re.clearCloneStyle="content-box"===s.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(s),ae.extend(re,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==r&&t(),r},pixelMarginRight:function(){return null==r&&t(),i},reliableMarginLeft:function(){return null==r&&t(),a},reliableMarginRight:function(){var t,n=s.appendChild(J.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",Ze.appendChild(o),t=!parseFloat(e.getComputedStyle(n).marginRight),Ze.removeChild(o),s.removeChild(n),t}}))}();var Qe=/^(none|table(?!-c[ea]).+)/,et={position:"absolute",visibility:"hidden",display:"block"},tt={letterSpacing:"0",fontWeight:"400"},nt=["Webkit","O","Moz","ms"],rt=J.createElement("div").style;ae.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=x(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=ae.camelCase(t),u=e.style;return t=ae.cssProps[s]||(ae.cssProps[s]=T(s)||s),o=ae.cssHooks[t]||ae.cssHooks[s],void 0===n?o&&"get"in o&&void 0!==(i=o.get(e,!1,r))?i:u[t]:(a=typeof n,"string"===a&&(i=ke.exec(n))&&i[1]&&(n=c(e,t,i),a="number"),void(null!=n&&n===n&&("number"===a&&(n+=i&&i[3]||(ae.cssNumber[s]?"":"px")),re.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(u[t]=n))))}},css:function(e,t,n,r){var i,a,o,s=ae.camelCase(t);return t=ae.cssProps[s]||(ae.cssProps[s]=T(s)||s),o=ae.cssHooks[t]||ae.cssHooks[s],o&&"get"in o&&(i=o.get(e,!0,n)),void 0===i&&(i=x(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(a=parseFloat(i),n===!0||isFinite(a)?a||0:i):i}}),ae.each(["height","width"],function(e,t){ae.cssHooks[t]={get:function(e,n,r){return n?Qe.test(ae.css(e,"display"))&&0===e.offsetWidth?Ye(e,et,function(){return M(e,t,r)}):M(e,t,r):void 0},set:function(e,n,r){var i,a=r&&_e(e),o=r&&k(e,t,r,"border-box"===ae.css(e,"boxSizing",!1,a),a);return o&&(i=ke.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=ae.css(e,t)),F(e,n,o)}}}),ae.cssHooks.marginLeft=E(re.reliableMarginLeft,function(e,t){return t?(parseFloat(x(e,"marginLeft"))||e.getBoundingClientRect().left-Ye(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px":void 0}),ae.cssHooks.marginRight=E(re.reliableMarginRight,function(e,t){return t?Ye(e,{display:"inline-block"},x,[e,"marginRight"]):void 0}),ae.each({margin:"",padding:"",border:"Width"},function(e,t){ae.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+Me[r]+t]=a[r]||a[r-2]||a[0];return i}},Ue.test(e)||(ae.cssHooks[e+t].set=F)}),ae.fn.extend({css:function(e,t){return be(this,function(e,t,n){var r,i,a={},o=0;if(ae.isArray(t)){for(r=_e(e),i=t.length;i>o;o++)a[t[o]]=ae.css(e,t[o],!1,r);return a}return void 0!==n?ae.style(e,t,n):ae.css(e,t)},e,t,arguments.length>1)},show:function(){return P(this,!0)},hide:function(){return P(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Pe(this)?ae(this).show():ae(this).hide()})}}),ae.Tween=w,w.prototype={constructor:w,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||ae.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(ae.cssNumber[n]?"":"px")},cur:function(){var e=w.propHooks[this.prop];return e&&e.get?e.get(this):w.propHooks._default.get(this)},run:function(e){var t,n=w.propHooks[this.prop];return this.options.duration?this.pos=t=ae.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):w.propHooks._default.set(this),this}},w.prototype.init.prototype=w.prototype,w.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ae.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){ae.fx.step[e.prop]?ae.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ae.cssProps[e.prop]]&&!ae.cssHooks[e.prop]?e.elem[e.prop]=e.now:ae.style(e.elem,e.prop,e.now+e.unit)}}},w.propHooks.scrollTop=w.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ae.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ae.fx=w.prototype.init,ae.fx.step={};var it,at,ot=/^(?:toggle|show|hide)$/,st=/queueHooks$/;ae.Animation=ae.extend(H,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return c(n.elem,e,ke.exec(t),n),n}]},tweener:function(e,t){ae.isFunction(e)?(t=e,e=["*"]):e=e.match(Se);for(var n,r=0,i=e.length;i>r;r++)n=e[r],H.tweeners[n]=H.tweeners[n]||[],H.tweeners[n].unshift(t)},prefilters:[G],prefilter:function(e,t){t?H.prefilters.unshift(e):H.prefilters.push(e)}}),ae.speed=function(e,t,n){var r=e&&"object"==typeof e?ae.extend({},e):{complete:n||!n&&t||ae.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ae.isFunction(t)&&t};return r.duration=ae.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in ae.fx.speeds?ae.fx.speeds[r.duration]:ae.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){ae.isFunction(r.old)&&r.old.call(this),r.queue&&ae.dequeue(this,r.queue)},r},ae.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Pe).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=ae.isEmptyObject(e),a=ae.speed(t,n,r),o=function(){var t=H(this,ae.extend({},e),a);(i||Ae.get(this,"finish"))&&t.stop(!0)};return o.finish=o,i||a.queue===!1?this.each(o):this.queue(a.queue,o)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",a=ae.timers,o=Ae.get(this);if(i)o[i]&&o[i].stop&&r(o[i]);else for(i in o)o[i]&&o[i].stop&&st.test(i)&&r(o[i]);for(i=a.length;i--;)a[i].elem!==this||null!=e&&a[i].queue!==e||(a[i].anim.stop(n),t=!1,a.splice(i,1));!t&&n||ae.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Ae.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],a=ae.timers,o=r?r.length:0;for(n.finish=!0,ae.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;o>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),ae.each(["toggle","show","hide"],function(e,t){var n=ae.fn[t];ae.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(L(t,!0),e,r,i)}}),ae.each({slideDown:L("show"),slideUp:L("hide"),slideToggle:L("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ae.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),ae.timers=[],ae.fx.tick=function(){var e,t=0,n=ae.timers;for(it=ae.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);
n.length||ae.fx.stop(),it=void 0},ae.fx.timer=function(e){ae.timers.push(e),e()?ae.fx.start():ae.timers.pop()},ae.fx.interval=13,ae.fx.start=function(){at||(at=e.setInterval(ae.fx.tick,ae.fx.interval))},ae.fx.stop=function(){e.clearInterval(at),at=null},ae.fx.speeds={slow:600,fast:200,_default:400},ae.fn.delay=function(t,n){return t=ae.fx?ae.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=J.createElement("input"),t=J.createElement("select"),n=t.appendChild(J.createElement("option"));e.type="checkbox",re.checkOn=""!==e.value,re.optSelected=n.selected,t.disabled=!0,re.optDisabled=!n.disabled,e=J.createElement("input"),e.value="t",e.type="radio",re.radioValue="t"===e.value}();var ut,ct=ae.expr.attrHandle;ae.fn.extend({attr:function(e,t){return be(this,ae.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ae.removeAttr(this,e)})}}),ae.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return"undefined"==typeof e.getAttribute?ae.prop(e,t,n):(1===a&&ae.isXMLDoc(e)||(t=t.toLowerCase(),i=ae.attrHooks[t]||(ae.expr.match.bool.test(t)?ut:void 0)),void 0!==n?null===n?void ae.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=ae.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!re.radioValue&&"radio"===t&&ae.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,a=t&&t.match(Se);if(a&&1===e.nodeType)for(;n=a[i++];)r=ae.propFix[n]||n,ae.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)}}),ut={set:function(e,t,n){return t===!1?ae.removeAttr(e,n):e.setAttribute(n,n),n}},ae.each(ae.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ct[t]||ae.find.attr;ct[t]=function(e,t,r){var i,a;return r||(a=ct[t],ct[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,ct[t]=a),i}});var lt=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;ae.fn.extend({prop:function(e,t){return be(this,ae.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ae.propFix[e]||e]})}}),ae.extend({prop:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&ae.isXMLDoc(e)||(t=ae.propFix[t]||t,i=ae.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,"tabindex");return t?parseInt(t,10):lt.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),re.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ae.propFix[this.toLowerCase()]=this});var dt=/[\t\r\n\f]/g;ae.fn.extend({addClass:function(e){var t,n,r,i,a,o,s,u=0;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(Se)||[];n=this[u++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(dt," ")){for(o=0;a=t[o++];)r.indexOf(" "+a+" ")<0&&(r+=a+" ");s=ae.trim(r),i!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,a,o,s,u=0;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Se)||[];n=this[u++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(dt," ")){for(o=0;a=t[o++];)for(;r.indexOf(" "+a+" ")>-1;)r=r.replace(" "+a+" "," ");s=ae.trim(r),i!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):ae.isFunction(e)?this.each(function(n){ae(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,i,a;if("string"===n)for(r=0,i=ae(this),a=e.match(Se)||[];t=a[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Ae.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Ae.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+X(n)+" ").replace(dt," ").indexOf(t)>-1)return!0;return!1}});var ft=/\r/g,Dt=/[\x20\t\r\n\f]+/g;ae.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=ae.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,ae(this).val()):e,null==i?i="":"number"==typeof i?i+="":ae.isArray(i)&&(i=ae.map(i,function(e){return null==e?"":e+""})),t=ae.valHooks[this.type]||ae.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=ae.valHooks[i.type]||ae.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ft,""):null==n?"":n)):void 0}}),ae.extend({valHooks:{option:{get:function(e){var t=ae.find.attr(e,"value");return null!=t?t:ae.trim(ae.text(e)).replace(Dt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,a="select-one"===e.type||0>i,o=a?null:[],s=a?i+1:r.length,u=0>i?s:a?i:0;s>u;u++)if(n=r[u],(n.selected||u===i)&&(re.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!ae.nodeName(n.parentNode,"optgroup"))){if(t=ae(n).val(),a)return t;o.push(t)}return o},set:function(e,t){for(var n,r,i=e.options,a=ae.makeArray(t),o=i.length;o--;)r=i[o],(r.selected=ae.inArray(ae.valHooks.option.get(r),a)>-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),ae.each(["radio","checkbox"],function(){ae.valHooks[this]={set:function(e,t){return ae.isArray(t)?e.checked=ae.inArray(ae(e).val(),t)>-1:void 0}},re.checkOn||(ae.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var ht=/^(?:focusinfocus|focusoutblur)$/;ae.extend(ae.event,{trigger:function(t,n,r,i){var a,o,s,u,c,l,p,d=[r||J],f=ne.call(t,"type")?t.type:t,D=ne.call(t,"namespace")?t.namespace.split("."):[];if(o=s=r=r||J,3!==r.nodeType&&8!==r.nodeType&&!ht.test(f+ae.event.triggered)&&(f.indexOf(".")>-1&&(D=f.split("."),f=D.shift(),D.sort()),c=f.indexOf(":")<0&&"on"+f,t=t[ae.expando]?t:new ae.Event(f,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=D.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+D.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:ae.makeArray(n,[t]),p=ae.event.special[f]||{},i||!p.trigger||p.trigger.apply(r,n)!==!1)){if(!i&&!p.noBubble&&!ae.isWindow(r)){for(u=p.delegateType||f,ht.test(u+f)||(o=o.parentNode);o;o=o.parentNode)d.push(o),s=o;s===(r.ownerDocument||J)&&d.push(s.defaultView||s.parentWindow||e)}for(a=0;(o=d[a++])&&!t.isPropagationStopped();)t.type=a>1?u:p.bindType||f,l=(Ae.get(o,"events")||{})[t.type]&&Ae.get(o,"handle"),l&&l.apply(o,n),l=c&&o[c],l&&l.apply&&$e(o)&&(t.result=l.apply(o,n),t.result===!1&&t.preventDefault());return t.type=f,i||t.isDefaultPrevented()||p._default&&p._default.apply(d.pop(),n)!==!1||!$e(r)||c&&ae.isFunction(r[f])&&!ae.isWindow(r)&&(s=r[c],s&&(r[c]=null),ae.event.triggered=f,r[f](),ae.event.triggered=void 0,s&&(r[c]=s)),t.result}},simulate:function(e,t,n){var r=ae.extend(new ae.Event,n,{type:e,isSimulated:!0});ae.event.trigger(r,null,t)}}),ae.fn.extend({trigger:function(e,t){return this.each(function(){ae.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?ae.event.trigger(e,t,n,!0):void 0}}),ae.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),re.focusin="onfocusin"in e,re.focusin||ae.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){ae.event.simulate(t,e.target,ae.event.fix(e))};ae.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Ae.access(r,t);i||r.addEventListener(e,n,!0),Ae.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Ae.access(r,t)-1;i?Ae.access(r,t,i):(r.removeEventListener(e,n,!0),Ae.remove(r,t))}}});var Wt=e.location,gt=ae.now(),vt=/\?/;ae.parseJSON=function(e){return JSON.parse(e+"")},ae.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(r){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||ae.error("Invalid XML: "+t),n};var mt=/#.*$/,Ct=/([?&])_=[^&]*/,St=/^(.*?):[ \t]*([^\r\n]*)$/gm,yt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,bt=/^(?:GET|HEAD)$/,$t=/^\/\//,At={},xt={},Et="*/".concat("*"),Tt=J.createElement("a");Tt.href=Wt.href,ae.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Wt.href,type:"GET",isLocal:yt.test(Wt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Et,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ae.parseJSON,"text xml":ae.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?I(I(e,ae.ajaxSettings),t):I(ae.ajaxSettings,e)},ajaxPrefilter:N(At),ajaxTransport:N(xt),ajax:function(t,n){function r(t,n,r,s){var c,p,v,m,S,b=n;2!==C&&(C=2,u&&e.clearTimeout(u),i=void 0,o=s||"",y.readyState=t>0?4:0,c=t>=200&&300>t||304===t,r&&(m=j(d,y,r)),m=z(d,m,y,c),c?(d.ifModified&&(S=y.getResponseHeader("Last-Modified"),S&&(ae.lastModified[a]=S),S=y.getResponseHeader("etag"),S&&(ae.etag[a]=S)),204===t||"HEAD"===d.type?b="nocontent":304===t?b="notmodified":(b=m.state,p=m.data,v=m.error,c=!v)):(v=b,!t&&b||(b="error",0>t&&(t=0))),y.status=t,y.statusText=(n||b)+"",c?h.resolveWith(f,[p,b,y]):h.rejectWith(f,[y,b,v]),y.statusCode(g),g=void 0,l&&D.trigger(c?"ajaxSuccess":"ajaxError",[y,d,c?p:v]),W.fireWith(f,[y,b]),l&&(D.trigger("ajaxComplete",[y,d]),--ae.active||ae.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,a,o,s,u,c,l,p,d=ae.ajaxSetup({},n),f=d.context||d,D=d.context&&(f.nodeType||f.jquery)?ae(f):ae.event,h=ae.Deferred(),W=ae.Callbacks("once memory"),g=d.statusCode||{},v={},m={},C=0,S="canceled",y={readyState:0,getResponseHeader:function(e){var t;if(2===C){if(!s)for(s={};t=St.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===C?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return C||(e=m[n]=m[n]||e,v[e]=t),this},overrideMimeType:function(e){return C||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>C)for(t in e)g[t]=[g[t],e[t]];else y.always(e[y.status]);return this},abort:function(e){var t=e||S;return i&&i.abort(t),r(0,t),this}};if(h.promise(y).complete=W.add,y.success=y.done,y.error=y.fail,d.url=((t||d.url||Wt.href)+"").replace(mt,"").replace($t,Wt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=ae.trim(d.dataType||"*").toLowerCase().match(Se)||[""],null==d.crossDomain){c=J.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=Tt.protocol+"//"+Tt.host!=c.protocol+"//"+c.host}catch(b){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=ae.param(d.data,d.traditional)),O(At,d,n,y),2===C)return y;l=ae.event&&d.global,l&&0===ae.active++&&ae.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!bt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(vt.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Ct.test(a)?a.replace(Ct,"$1_="+gt++):a+(vt.test(a)?"&":"?")+"_="+gt++)),d.ifModified&&(ae.lastModified[a]&&y.setRequestHeader("If-Modified-Since",ae.lastModified[a]),ae.etag[a]&&y.setRequestHeader("If-None-Match",ae.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&y.setRequestHeader("Content-Type",d.contentType),y.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Et+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)y.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(f,y,d)===!1||2===C))return y.abort();S="abort";for(p in{success:1,error:1,complete:1})y[p](d[p]);if(i=O(xt,d,n,y)){if(y.readyState=1,l&&D.trigger("ajaxSend",[y,d]),2===C)return y;d.async&&d.timeout>0&&(u=e.setTimeout(function(){y.abort("timeout")},d.timeout));try{C=1,i.send(v,r)}catch(b){if(!(2>C))throw b;r(-1,b)}}else r(-1,"No Transport");return y},getJSON:function(e,t,n){return ae.get(e,t,n,"json")},getScript:function(e,t){return ae.get(e,void 0,t,"script")}}),ae.each(["get","post"],function(e,t){ae[t]=function(e,n,r,i){return ae.isFunction(n)&&(i=i||r,r=n,n=void 0),ae.ajax(ae.extend({url:e,type:t,dataType:i,data:n,success:r},ae.isPlainObject(e)&&e))}}),ae._evalUrl=function(e){return ae.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ae.fn.extend({wrapAll:function(e){var t;return ae.isFunction(e)?this.each(function(t){ae(this).wrapAll(e.call(this,t))}):(this[0]&&(t=ae(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return ae.isFunction(e)?this.each(function(t){ae(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ae(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ae.isFunction(e);return this.each(function(n){ae(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ae.nodeName(this,"body")||ae(this).replaceWith(this.childNodes)}).end()}}),ae.expr.filters.hidden=function(e){return!ae.expr.filters.visible(e)},ae.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var Ft=/%20/g,kt=/\[\]$/,Mt=/\r?\n/g,Pt=/^(?:submit|button|image|reset|file)$/i,wt=/^(?:input|select|textarea|keygen)/i;ae.param=function(e,t){var n,r=[],i=function(e,t){t=ae.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=ae.ajaxSettings&&ae.ajaxSettings.traditional),ae.isArray(e)||e.jquery&&!ae.isPlainObject(e))ae.each(e,function(){i(this.name,this.value)});else for(n in e)q(n,e[n],t,i);return r.join("&").replace(Ft,"+")},ae.fn.extend({serialize:function(){return ae.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ae.prop(this,"elements");return e?ae.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ae(this).is(":disabled")&&wt.test(this.nodeName)&&!Pt.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ae(this).val();return null==n?null:ae.isArray(n)?ae.map(n,function(e){return{name:t.name,value:e.replace(Mt,"\r\n")}}):{name:t.name,value:n.replace(Mt,"\r\n")}}).get()}}),ae.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(t){}};var Vt={0:200,1223:204},Lt=ae.ajaxSettings.xhr();re.cors=!!Lt&&"withCredentials"in Lt,re.ajax=Lt=!!Lt,ae.ajaxTransport(function(t){var n,r;return re.cors||Lt&&!t.crossDomain?{send:function(i,a){var o,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)s[o]=t.xhrFields[o];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(o in i)s.setRequestHeader(o,i[o]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(u){if(n)throw u}},abort:function(){n&&n()}}:void 0}),ae.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ae.globalEval(e),e}}}),ae.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ae.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=ae("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),J.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Rt=[],Gt=/(=)\?(?=&|$)|\?\?/;ae.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Rt.pop()||ae.expando+"_"+gt++;return this[e]=!0,e}}),ae.ajaxPrefilter("json jsonp",function(t,n,r){var i,a,o,s=t.jsonp!==!1&&(Gt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gt.test(t.data)&&"data");return s||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=ae.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Gt,"$1"+i):t.jsonp!==!1&&(t.url+=(vt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return o||ae.error(i+" was not called"),o[0]},t.dataTypes[0]="json",a=e[i],e[i]=function(){o=arguments},r.always(function(){void 0===a?ae(e).removeProp(i):e[i]=a,t[i]&&(t.jsonpCallback=n.jsonpCallback,Rt.push(i)),o&&ae.isFunction(a)&&a(o[0]),o=a=void 0}),"script"):void 0}),ae.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||J;var r=De.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=d([e],t,i),i&&i.length&&ae(i).remove(),ae.merge([],r.childNodes))};var Bt=ae.fn.load;ae.fn.load=function(e,t,n){if("string"!=typeof e&&Bt)return Bt.apply(this,arguments);var r,i,a,o=this,s=e.indexOf(" ");return s>-1&&(r=ae.trim(e.slice(s)),e=e.slice(0,s)),ae.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),o.length>0&&ae.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){a=arguments,o.html(r?ae("<div>").append(ae.parseHTML(e)).find(r):e)}).always(n&&function(e,t){o.each(function(){n.apply(this,a||[e.responseText,t,e])})}),this},ae.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ae.fn[t]=function(e){return this.on(t,e)}}),ae.expr.filters.animated=function(e){return ae.grep(ae.timers,function(t){return e===t.elem}).length},ae.offset={setOffset:function(e,t,n){var r,i,a,o,s,u,c,l=ae.css(e,"position"),p=ae(e),d={};"static"===l&&(e.style.position="relative"),s=p.offset(),a=ae.css(e,"top"),u=ae.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(a+u).indexOf("auto")>-1,c?(r=p.position(),o=r.top,i=r.left):(o=parseFloat(a)||0,i=parseFloat(u)||0),ae.isFunction(t)&&(t=t.call(e,n,ae.extend({},s))),null!=t.top&&(d.top=t.top-s.top+o),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):p.css(d)}},ae.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ae.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},a=r&&r.ownerDocument;return a?(t=a.documentElement,ae.contains(t,r)?(i=r.getBoundingClientRect(),n=K(a),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i):void 0},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===ae.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ae.nodeName(e[0],"html")||(r=e.offset()),r.top+=ae.css(e[0],"borderTopWidth",!0),r.left+=ae.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-ae.css(n,"marginTop",!0),left:t.left-r.left-ae.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===ae.css(e,"position");)e=e.offsetParent;return e||Ze})}}),ae.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;ae.fn[e]=function(r){return be(this,function(e,r,i){var a=K(e);return void 0===i?a?a[t]:e[r]:void(a?a.scrollTo(n?a.pageXOffset:i,n?i:a.pageYOffset):e[r]=i)},e,r,arguments.length)}}),ae.each(["top","left"],function(e,t){ae.cssHooks[t]=E(re.pixelPosition,function(e,n){return n?(n=x(e,t),Je.test(n)?ae(e).position()[t]+"px":n):void 0})}),ae.each({Height:"height",Width:"width"},function(e,t){ae.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){ae.fn[r]=function(r,i){var a=arguments.length&&(n||"boolean"!=typeof r),o=n||(r===!0||i===!0?"margin":"border");return be(this,function(t,n,r){var i;return ae.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?ae.css(t,n,o):ae.style(t,n,r,o)},t,a?r:void 0,a,null)}})}),ae.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),ae.fn.andSelf=ae.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ae});var Ht=e.jQuery,Xt=e.$;return ae.noConflict=function(t){return e.$===ae&&(e.$=Xt),t&&e.jQuery===ae&&(e.jQuery=Ht),ae},t||(e.jQuery=e.$=ae),ae}),function(e){"use strict";function t(e){return function(){var t,n=arguments[0];for(t="["+(e?e+":":"")+n+"] http://errors.angularjs.org/1.5.6/"+(e?e+"/":"")+n,n=1;n<arguments.length;n++){t=t+(1==n?"?":"&")+"p"+(n-1)+"=";var r,i=encodeURIComponent;r=arguments[n],r="function"==typeof r?r.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof r?"undefined":"string"!=typeof r?JSON.stringify(r):r,t+=i(r)}return Error(t)}}function n(e){if(null==e||A(e))return!1;if(ar(e)||C(e)||jn&&e instanceof jn)return!0;var t="length"in Object(e)&&e.length;return S(t)&&(0<=t&&(t-1 in e||e instanceof Array)||"function"==typeof e.item)}function r(e,t,i){var a,o;if(e)if(b(e))for(a in e)"prototype"==a||"length"==a||"name"==a||e.hasOwnProperty&&!e.hasOwnProperty(a)||t.call(i,e[a],a,e);else if(ar(e)||n(e)){var s="object"!=typeof e;for(a=0,o=e.length;a<o;a++)(s||a in e)&&t.call(i,e[a],a,e)}else if(e.forEach&&e.forEach!==r)e.forEach(t,i,e);else if(m(e))for(a in e)t.call(i,e[a],a,e);else if("function"==typeof e.hasOwnProperty)for(a in e)e.hasOwnProperty(a)&&t.call(i,e[a],a,e);else for(a in e)Un.call(e,a)&&t.call(i,e[a],a,e);return e}function i(e,t,n){for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)t.call(n,e[r[i]],r[i]);return r}function a(e){return function(t,n){e(n,t)}}function o(){return++ir}function s(e,t,n){for(var r=e.$$hashKey,i=0,a=t.length;i<a;++i){var o=t[i];if(v(o)||b(o))for(var u=Object.keys(o),c=0,l=u.length;c<l;c++){var p=u[c],d=o[p];n&&v(d)?y(d)?e[p]=new Date(d.valueOf()):$(d)?e[p]=new RegExp(d):d.nodeName?e[p]=d.cloneNode(!0):F(d)?e[p]=d.clone():(v(e[p])||(e[p]=ar(d)?[]:{}),s(e[p],[d],!0)):e[p]=d}}return r?e.$$hashKey=r:delete e.$$hashKey,e}function u(e){return s(e,Yn.call(arguments,1),!1)}function c(e){return s(e,Yn.call(arguments,1),!0)}function l(e){return parseInt(e,10)}function p(e,t){return u(Object.create(e),t)}function d(){}function f(e){return e}function D(e){return function(){return e}}function h(e){return b(e.toString)&&e.toString!==er}function W(e){return"undefined"==typeof e}function g(e){return"undefined"!=typeof e}function v(e){return null!==e&&"object"==typeof e}function m(e){return null!==e&&"object"==typeof e&&!tr(e)}function C(e){return"string"==typeof e}function S(e){return"number"==typeof e}function y(e){return"[object Date]"===er.call(e)}function b(e){return"function"==typeof e}function $(e){return"[object RegExp]"===er.call(e)}function A(e){return e&&e.window===e}function x(e){return e&&e.$evalAsync&&e.$watch}function E(e){return"boolean"==typeof e}function T(e){return e&&S(e.length)&&or.test(er.call(e))}function F(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function k(e){var t={};e=e.split(",");var n;for(n=0;n<e.length;n++)t[e[n]]=!0;return t}function M(e){return Jn(e.nodeName||e[0]&&e[0].nodeName)}function P(e,t){var n=e.indexOf(t);return 0<=n&&e.splice(n,1),n}function w(e,t){function n(e,t){var n,r=t.$$hashKey;if(ar(e)){n=0;for(var a=e.length;n<a;n++)t.push(i(e[n]))}else if(m(e))for(n in e)t[n]=i(e[n]);else if(e&&"function"==typeof e.hasOwnProperty)for(n in e)e.hasOwnProperty(n)&&(t[n]=i(e[n]));else for(n in e)Un.call(e,n)&&(t[n]=i(e[n]));return r?t.$$hashKey=r:delete t.$$hashKey,t}function i(e){if(!v(e))return e;var t=o.indexOf(e);if(-1!==t)return s[t];if(A(e)||x(e))throw nr("cpws");var t=!1,r=a(e);return void 0===r&&(r=ar(e)?[]:Object.create(tr(e)),t=!0),o.push(e),s.push(r),t?n(e,r):r}function a(e){switch(er.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(i(e.buffer));case"[object ArrayBuffer]":if(!e.slice){var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return t=new RegExp(e.source,e.toString().match(/[^\/]*$/)[0]),t.lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(b(e.cloneNode))return e.cloneNode(!0)}var o=[],s=[];if(t){if(T(t)||"[object ArrayBuffer]"===er.call(t))throw nr("cpta");if(e===t)throw nr("cpi");return ar(t)?t.length=0:r(t,function(e,n){"$$hashKey"!==n&&delete t[n]}),o.push(e),s.push(t),n(e,t)}return i(e)}function V(e,t){if(ar(e)){t=t||[];for(var n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(v(e))for(n in t=t||{},e)"$"===n.charAt(0)&&"$"===n.charAt(1)||(t[n]=e[n]);return t||e}function L(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var n,r=typeof e;if(r==typeof t&&"object"==r){if(!ar(e)){if(y(e))return!!y(t)&&L(e.getTime(),t.getTime());if($(e))return!!$(t)&&e.toString()==t.toString();if(x(e)||x(t)||A(e)||A(t)||ar(t)||y(t)||$(t))return!1;r=se();for(n in e)if("$"!==n.charAt(0)&&!b(e[n])){if(!L(e[n],t[n]))return!1;r[n]=!0}for(n in t)if(!(n in r)&&"$"!==n.charAt(0)&&g(t[n])&&!b(t[n]))return!1;return!0}if(!ar(t))return!1;if((r=e.length)==t.length){for(n=0;n<r;n++)if(!L(e[n],t[n]))return!1;return!0}}return!1}function R(e,t,n){return e.concat(Yn.call(t,n))}function G(e,t){var n=2<arguments.length?Yn.call(arguments,2):[];return!b(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,R(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function B(t,n){var r=n;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?r=void 0:A(n)?r="$WINDOW":n&&e.document===n?r="$DOCUMENT":x(n)&&(r="$SCOPE"),r}function H(e,t){if(!W(e))return S(t)||(t=t?2:null),JSON.stringify(e,B,t)}function X(e){return C(e)?JSON.parse(e):e}function N(e,t){e=e.replace(pr,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function O(e,t,n){n=n?-1:1;var r=e.getTimezoneOffset();return t=N(t,r),n*=t-r,e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+n),e}function I(e){e=jn(e).clone();try{e.empty()}catch(t){}var n=jn("<div>").append(e).html();try{return e[0].nodeType===hr?Jn(n):n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,t){return"<"+Jn(t)})}catch(r){return Jn(n)}}function j(e){try{return decodeURIComponent(e)}catch(t){}}function z(e){var t={};return r((e||"").split("&"),function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(r=e.substring(0,n),i=e.substring(n+1)),r=j(r),g(r)&&(i=!g(i)||j(i),Un.call(t,r)?ar(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))}),t}function q(e){var t=[];return r(e,function(e,n){ar(e)?r(e,function(e){t.push(U(n,!0)+(!0===e?"":"="+U(e,!0)))}):t.push(U(n,!0)+(!0===e?"":"="+U(e,!0)))}),t.length?t.join("&"):""}function K(e){return U(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function U(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function J(e,t){var n,r,i=dr.length;for(r=0;r<i;++r)if(n=dr[r]+t,C(n=e.getAttribute(n)))return n;return null}function _(e,t){var n,i,a={};r(dr,function(t){t+="app",!n&&e.hasAttribute&&e.hasAttribute(t)&&(n=e,i=e.getAttribute(t))}),r(dr,function(t){t+="app";var r;!n&&(r=e.querySelector("["+t.replace(":","\\:")+"]"))&&(n=r,i=r.getAttribute(t))}),n&&(a.strictDi=null!==J(n,"strict-di"),t(n,i?[i]:[],a))}function Y(t,n,i){v(i)||(i={}),i=u({strictDi:!1},i);var a=function(){if(t=jn(t),t.injector()){var r=t[0]===e.document?"document":I(t);throw nr("btstrpd",r.replace(/</,"<").replace(/>/,">"))}return n=n||[],n.unshift(["$provide",function(e){e.value("$rootElement",t)}]),i.debugInfoEnabled&&n.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),n.unshift("ng"),r=He(n,i.strictDi),r.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply(function(){t.data("$injector",r),n(t)(e)})}]),r},o=/^NG_ENABLE_DEBUG_INFO!/,s=/^NG_DEFER_BOOTSTRAP!/;return e&&o.test(e.name)&&(i.debugInfoEnabled=!0,e.name=e.name.replace(o,"")),e&&!s.test(e.name)?a():(e.name=e.name.replace(s,""),rr.resumeBootstrap=function(e){return r(e,function(e){n.push(e)}),a()},void(b(rr.resumeDeferredBootstrap)&&rr.resumeDeferredBootstrap()))}function Z(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function Q(e){if(e=rr.element(e).injector(),!e)throw nr("test");return e.get("$$testability")}function ee(e,t){return t=t||"_",e.replace(fr,function(e,n){return(n?t:"")+e.toLowerCase()})}function te(){var t;if(!Dr){var n=lr();(zn=W(n)?e.jQuery:n?e[n]:void 0)&&zn.fn.on?(jn=zn,u(zn.fn,{scope:Fr.scope,isolateScope:Fr.isolateScope,controller:Fr.controller,injector:Fr.injector,inheritedData:Fr.inheritedData}),t=zn.cleanData,zn.cleanData=function(e){for(var n,r,i=0;null!=(r=e[i]);i++)(n=zn._data(r,"events"))&&n.$destroy&&zn(r).triggerHandler("$destroy");t(e)}):jn=De,rr.element=jn,Dr=!0}}function ne(e,t,n){if(!e)throw nr("areq",t||"?",n||"required");return e}function re(e,t,n){return n&&ar(e)&&(e=e[e.length-1]),ne(b(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function ie(e,t){if("hasOwnProperty"===e)throw nr("badname",t)}function ae(e,t,n){if(!t)return e;t=t.split(".");for(var r,i=e,a=t.length,o=0;o<a;o++)r=t[o],e&&(e=(i=e)[r]);return!n&&b(e)?G(i,e):e}function oe(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(t||e[i]!==n)&&(t||(t=jn(Yn.call(e,0,i))),t.push(n));return t||e}function se(){return Object.create(null)}function ue(e){function n(e,t,n){return e[t]||(e[t]=n())}var r=t("$injector"),i=t("ng");return e=n(e,"angular",Object),e.$$minErr=e.$$minErr||t,n(e,"module",function(){var e={};return function(t,a,o){if("hasOwnProperty"===t)throw i("badname","module");return a&&e.hasOwnProperty(t)&&(e[t]=null),n(e,t,function(){function e(e,t,n,r){return r||(r=i),function(){return r[n||"push"]([e,t,arguments]),l}}function n(e,n){return function(r,a){return a&&b(a)&&(a.$$moduleName=t),i.push([e,n,arguments]),l};
}if(!a)throw r("nomod",t);var i=[],s=[],u=[],c=e("$injector","invoke","push",s),l={_invokeQueue:i,_configBlocks:s,_runBlocks:u,requires:a,name:t,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),decorator:n("$provide","decorator"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),component:n("$compileProvider","component"),config:c,run:function(e){return u.push(e),this}};return o&&c(o),l})}})}function ce(n){u(n,{bootstrap:Y,copy:w,extend:u,merge:c,equals:L,element:jn,forEach:r,injector:He,noop:d,bind:G,toJson:H,fromJson:X,identity:f,isUndefined:W,isDefined:g,isString:C,isFunction:b,isObject:v,isNumber:S,isElement:F,isArray:ar,version:Wr,isDate:y,lowercase:Jn,uppercase:_n,callbacks:{counter:0},getTestability:Q,$$minErr:t,$$csp:cr,reloadWithDebugInfo:Z}),(qn=ue(e))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:Yt}),e.provider("$compile",Ue).directive({a:Vi,input:Yi,textarea:Yi,form:Bi,script:Xa,select:Ia,style:za,option:ja,ngBind:ea,ngBindHtml:na,ngBindTemplate:ta,ngClass:ia,ngClassEven:oa,ngClassOdd:aa,ngCloak:sa,ngController:ua,ngForm:Hi,ngHide:wa,ngIf:pa,ngInclude:da,ngInit:Da,ngNonBindable:xa,ngPluralize:ka,ngRepeat:Ma,ngShow:Pa,ngStyle:Va,ngSwitch:La,ngSwitchWhen:Ra,ngSwitchDefault:Ga,ngOptions:Fa,ngTransclude:Ha,ngModel:ba,ngList:ha,ngChange:ra,pattern:Ka,ngPattern:Ka,required:qa,ngRequired:qa,minlength:Ja,ngMinlength:Ja,maxlength:Ua,ngMaxlength:Ua,ngValue:Qi,ngModelOptions:Aa}).directive({ngInclude:fa}).directive(Li).directive(ca),e.provider({$anchorScroll:Xe,$animate:Ir,$animateCss:qr,$$animateJs:Nr,$$animateQueue:Or,$$AnimateRunner:zr,$$animateAsyncRun:jr,$browser:ze,$cacheFactory:qe,$controller:et,$document:tt,$exceptionHandler:nt,$filter:dn,$$forceReflow:Zr,$interpolate:Dt,$interval:ht,$http:lt,$httpParamSerializer:it,$httpParamSerializerJQLike:at,$httpBackend:dt,$xhrFactory:pt,$location:Et,$log:Tt,$parse:zt,$rootScope:_t,$q:qt,$$q:Kt,$sce:tn,$sceDelegate:en,$sniffer:nn,$templateCache:Ke,$templateRequest:rn,$$testability:an,$timeout:on,$window:cn,$$rAF:Jt,$$jqLite:Ve,$$HashMap:wr,$$cookieReader:pn})}])}function le(e){return e.replace(mr,function(e,t,n,r){return r?n.toUpperCase():n}).replace(Cr,"Moz$1")}function pe(e){return e=e.nodeType,1===e||!e||9===e}function de(e,t){var n,i,a=t.createDocumentFragment(),o=[];if($r.test(e)){for(n=n||a.appendChild(t.createElement("div")),i=(Ar.exec(e)||["",""])[1].toLowerCase(),i=Er[i]||Er._default,n.innerHTML=i[1]+e.replace(xr,"<$1></$2>")+i[2],i=i[0];i--;)n=n.lastChild;o=R(o,n.childNodes),n=a.firstChild,n.textContent=""}else o.push(t.createTextNode(e));return a.textContent="",a.innerHTML="",r(o,function(e){a.appendChild(e)}),a}function fe(e,t){var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)}function De(t){if(t instanceof De)return t;var n;if(C(t)&&(t=sr(t),n=!0),!(this instanceof De)){if(n&&"<"!=t.charAt(0))throw yr("nosel");return new De(t)}if(n){n=e.document;var r;t=(r=br.exec(t))?[n.createElement(r[1])]:(r=de(t,n))?r.childNodes:[]}$e(this,t)}function he(e){return e.cloneNode(!0)}function We(e,t){if(t||ve(e),e.querySelectorAll)for(var n=e.querySelectorAll("*"),r=0,i=n.length;r<i;r++)ve(n[r])}function ge(e,t,n,i){if(g(i))throw yr("offargs");var a=(i=me(e))&&i.events,o=i&&i.handle;if(o)if(t){var s=function(t){var r=a[t];g(n)&&P(r||[],n),g(n)&&r&&0<r.length||(e.removeEventListener(t,o,!1),delete a[t])};r(t.split(" "),function(e){s(e),Sr[e]&&s(Sr[e])})}else for(t in a)"$destroy"!==t&&e.removeEventListener(t,o,!1),delete a[t]}function ve(e,t){var n=e.ng339,r=n&&gr[n];r&&(t?delete r.data[t]:(r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),ge(e)),delete gr[n],e.ng339=void 0))}function me(e,t){var n=e.ng339,n=n&&gr[n];return t&&!n&&(e.ng339=n=++vr,n=gr[n]={events:{},data:{},handle:void 0}),n}function Ce(e,t,n){if(pe(e)){var r=g(n),i=!r&&t&&!v(t),a=!t;if(e=(e=me(e,!i))&&e.data,r)e[t]=n;else{if(a)return e;if(i)return e&&e[t];u(e,t)}}}function Se(e,t){return!!e.getAttribute&&-1<(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")}function ye(e,t){t&&e.setAttribute&&r(t.split(" "),function(t){e.setAttribute("class",sr((" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+sr(t)+" "," ")))})}function be(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(t.split(" "),function(e){e=sr(e),-1===n.indexOf(" "+e+" ")&&(n+=e+" ")}),e.setAttribute("class",sr(n))}}function $e(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;r<n;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function Ae(e,t){return xe(e,"$"+(t||"ngController")+"Controller")}function xe(e,t,n){for(9==e.nodeType&&(e=e.documentElement),t=ar(t)?t:[t];e;){for(var r=0,i=t.length;r<i;r++)if(g(n=jn.data(e,t[r])))return n;e=e.parentNode||11===e.nodeType&&e.host}}function Ee(e){for(We(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function Te(e,t){t||We(e);var n=e.parentNode;n&&n.removeChild(e)}function Fe(t,n){n=n||e,"complete"===n.document.readyState?n.setTimeout(t):jn(n).on("load",t)}function ke(e,t){var n=kr[t.toLowerCase()];return n&&Mr[M(e)]&&n}function Me(e,t){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=t[r||n.type],a=i?i.length:0;if(a){if(W(n.immediatePropagationStopped)){var o=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),o&&o.call(n)}}n.isImmediatePropagationStopped=function(){return!0===n.immediatePropagationStopped};var s=i.specialHandlerWrapper||Pe;1<a&&(i=V(i));for(var u=0;u<a;u++)n.isImmediatePropagationStopped()||s(e,n,i[u])}};return n.elem=e,n}function Pe(e,t,n){n.call(e,t)}function we(e,t,n){var r=t.relatedTarget;r&&(r===e||Tr.call(e,r))||n.call(e,t)}function Ve(){this.$get=function(){return u(De,{hasClass:function(e,t){return e.attr&&(e=e[0]),Se(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),be(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),ye(e,t)}})}}function Le(e,t){var n=e&&e.$$hashKey;return n?("function"==typeof n&&(n=e.$$hashKey()),n):(n=typeof e,n="function"==n||"object"==n&&null!==e?e.$$hashKey=n+":"+(t||o)():n+":"+e)}function Re(e,t){if(t){var n=0;this.nextUid=function(){return++n}}r(e,this.put,this)}function Ge(e){return e=(Function.prototype.toString.call(e)+" ").replace(Br,""),e.match(Vr)||e.match(Lr)}function Be(e){return(e=Ge(e))?"function("+(e[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function He(e,t){function n(e){return function(t,n){return v(t)?void r(t,a(e)):e(t,n)}}function i(e,t){if(ie(e,"service"),(b(t)||ar(t))&&(t=h.instantiate(t)),!t.$get)throw Hr("pget",e);return f[e+"Provider"]=t}function o(e,t){return function(){var n=S.invoke(t,this);if(W(n))throw Hr("undef",e);return n}}function s(e,t,n){return i(e,{$get:!1!==n?o(e,t):t})}function u(e){ne(W(e)||ar(e),"modulesToLoad","not an array");var t,n=[];return r(e,function(e){function r(e){var t,n;for(t=0,n=e.length;t<n;t++){var r=e[t],i=h.get(r[0]);i[r[1]].apply(i,r[2])}}if(!d.get(e)){d.put(e,!0);try{C(e)?(t=qn(e),n=n.concat(u(t.requires)).concat(t._runBlocks),r(t._invokeQueue),r(t._configBlocks)):b(e)?n.push(h.invoke(e)):ar(e)?n.push(h.invoke(e)):re(e,"module")}catch(i){throw ar(e)&&(e=e[e.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),Hr("modulerr",e,i.stack||i.message||i)}}}),n}function c(e,n){function r(t,r){if(e.hasOwnProperty(t)){if(e[t]===l)throw Hr("cdep",t+" <- "+p.join(" <- "));return e[t]}try{return p.unshift(t),e[t]=l,e[t]=n(t,r)}catch(i){throw e[t]===l&&delete e[t],i}finally{p.shift()}}function i(e,n,i){var a=[];e=He.$$annotate(e,t,i);for(var o=0,s=e.length;o<s;o++){var u=e[o];if("string"!=typeof u)throw Hr("itkn",u);a.push(n&&n.hasOwnProperty(u)?n[u]:r(u,i))}return a}return{invoke:function(e,t,n,r){return"string"==typeof n&&(r=n,n=null),n=i(e,n,r),ar(e)&&(e=e[e.length-1]),r=!(11>=In)&&("function"==typeof e&&/^(?:class\s|constructor\()/.test(Function.prototype.toString.call(e)+" ")),r?(n.unshift(null),new(Function.prototype.bind.apply(e,n))):e.apply(t,n)},instantiate:function(e,t,n){var r=ar(e)?e[e.length-1]:e;return e=i(e,t,n),e.unshift(null),new(Function.prototype.bind.apply(r,e))},get:r,annotate:He.$$annotate,has:function(t){return f.hasOwnProperty(t+"Provider")||e.hasOwnProperty(t)}}}t=!0===t;var l={},p=[],d=new Re([],(!0)),f={$provide:{provider:n(i),factory:n(s),service:n(function(e,t){return s(e,["$injector",function(e){return e.instantiate(t)}])}),value:n(function(e,t){return s(e,D(t),!1)}),constant:n(function(e,t){ie(e,"constant"),f[e]=t,g[e]=t}),decorator:function(e,t){var n=h.get(e+"Provider"),r=n.$get;n.$get=function(){var e=S.invoke(r,n);return S.invoke(t,null,{$delegate:e})}}}},h=f.$injector=c(f,function(e,t){throw rr.isString(t)&&p.push(t),Hr("unpr",p.join(" <- "))}),g={},m=c(g,function(e,t){var n=h.get(e+"Provider",t);return S.invoke(n.$get,n,void 0,e)}),S=m;f.$injectorProvider={$get:D(m)};var y=u(e),S=m.get("$injector");return S.strictDi=t,r(y,function(e){e&&S.invoke(e)}),S}function Xe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,r){function i(e){var t=null;return Array.prototype.some.call(e,function(e){if("a"===M(e))return t=e,!0}),t}function a(e){if(e){e.scrollIntoView();var n;n=o.yOffset,b(n)?n=n():F(n)?(n=n[0],n="fixed"!==t.getComputedStyle(n).position?0:n.getBoundingClientRect().bottom):S(n)||(n=0),n&&(e=e.getBoundingClientRect().top,t.scrollBy(0,e-n))}else t.scrollTo(0,0)}function o(e){e=C(e)?e:n.hash();var t;e?(t=s.getElementById(e))?a(t):(t=i(s.getElementsByName(e)))?a(t):"top"===e&&a(null):a(null)}var s=t.document;return e&&r.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||Fe(function(){r.$evalAsync(o)})}),o}]}function Ne(e,t){return e||t?e?t?(ar(e)&&(e=e.join(" ")),ar(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function Oe(e){C(e)&&(e=e.split(" "));var t=se();return r(e,function(e){e.length&&(t[e]=!0)}),t}function Ie(e){return v(e)?e:{}}function je(e,t,n,i){function a(e){try{e.apply(null,Yn.call(arguments,1))}finally{if(g--,0===g)for(;v.length;)try{v.pop()()}catch(t){n.error(t)}}}function o(){b=null,s(),u()}function s(){m=$(),m=W(m)?null:m,L(m,E)&&(m=E),E=m}function u(){S===c.url()&&C===m||(S=c.url(),C=m,r(A,function(e){e(c.url(),m)}))}var c=this,l=e.location,p=e.history,f=e.setTimeout,D=e.clearTimeout,h={};c.isMock=!1;var g=0,v=[];c.$$completeOutstandingRequest=a,c.$$incOutstandingRequestCount=function(){g++},c.notifyWhenNoOutstandingRequests=function(e){0===g?e():v.push(e)};var m,C,S=l.href,y=t.find("base"),b=null,$=i.history?function(){try{return p.state}catch(e){}}:d;s(),C=m,c.url=function(t,n,r){if(W(r)&&(r=null),l!==e.location&&(l=e.location),p!==e.history&&(p=e.history),t){var a=C===r;if(S===t&&(!i.history||a))return c;var o=S&&Ct(S)===Ct(t);return S=t,C=r,!i.history||o&&a?(o||(b=t),n?l.replace(t):o?(n=l,r=t.indexOf("#"),r=-1===r?"":t.substr(r),n.hash=r):l.href=t,l.href!==t&&(b=t)):(p[n?"replaceState":"pushState"](r,"",t),s(),C=m),b&&(b=t),c}return b||l.href.replace(/%27/g,"'")},c.state=function(){return m};var A=[],x=!1,E=null;c.onUrlChange=function(t){return x||(i.history&&jn(e).on("popstate",o),jn(e).on("hashchange",o),x=!0),A.push(t),t},c.$$applicationDestroyed=function(){jn(e).off("hashchange popstate",o)},c.$$checkUrlChange=u,c.baseHref=function(){var e=y.attr("href");return e?e.replace(/^(https?\:)?\/\/[^\/]*/,""):""},c.defer=function(e,t){var n;return g++,n=f(function(){delete h[n],a(e)},t||0),h[n]=!0,n},c.defer.cancel=function(e){return!!h[e]&&(delete h[e],D(e),a(d),!0)}}function ze(){this.$get=["$window","$log","$sniffer","$document",function(e,t,n,r){return new je(e,r,t,n)}]}function qe(){this.$get=function(){function e(e,r){function i(e){e!=d&&(f?f==e&&(f=e.n):f=e,a(e.n,e.p),a(e,d),d=e,d.n=null)}function a(e,t){e!=t&&(e&&(e.p=t),t&&(t.n=e))}if(e in n)throw t("$cacheFactory")("iid",e);var o=0,s=u({},r,{id:e}),c=se(),l=r&&r.capacity||Number.MAX_VALUE,p=se(),d=null,f=null;return n[e]={put:function(e,t){if(!W(t)){if(l<Number.MAX_VALUE){var n=p[e]||(p[e]={key:e});i(n)}return e in c||o++,c[e]=t,o>l&&this.remove(f.key),t}},get:function(e){if(l<Number.MAX_VALUE){var t=p[e];if(!t)return;i(t)}return c[e]},remove:function(e){if(l<Number.MAX_VALUE){var t=p[e];if(!t)return;t==d&&(d=t.p),t==f&&(f=t.n),a(t.n,t.p),delete p[e]}e in c&&(delete c[e],o--)},removeAll:function(){c=se(),o=0,p=se(),d=f=null},destroy:function(){p=s=c=null,delete n[e]},info:function(){return u({},s,{size:o})}}}var n={};return e.info=function(){var e={};return r(n,function(t,n){e[n]=t.info()}),e},e.get=function(e){return n[e]},e}}function Ke(){this.$get=["$cacheFactory",function(e){return e("templates")}]}function Ue(t,n){function i(e,t,n){var i=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,a=se();return r(e,function(e,r){if(e in $)a[r]=$[e];else{var o=e.match(i);if(!o)throw Kr("iscp",t,r,e,n?"controller bindings definition":"isolate scope definition");a[r]={mode:o[1][0],collection:"*"===o[2],optional:"?"===o[3],attrName:o[4]||r},o[4]&&($[e]=a[r])}}),a}function o(e){var t=e.charAt(0);if(!t||t!==Jn(t))throw Kr("baddir",e);if(e!==e.trim())throw Kr("baddir",e)}function s(e){var t=e.require||e.controller&&e.name;return!ar(t)&&v(t)&&r(t,function(e,n){var r=e.match(S);e.substring(r[0].length)||(t[n]=r[0]+n)}),t}var c={},l=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,h=/(([\w\-]+)(?:\:([^;]+))?;?)/,m=k("ngSrc,ngSrcset,src,srcset"),S=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,y=/^(on[a-z]+|formaction)$/,$=se();this.directive=function F(e,n){return ie(e,"directive"),C(e)?(o(e),ne(n,"directiveFactory"),c.hasOwnProperty(e)||(c[e]=[],t.factory(e+"Directive",["$injector","$exceptionHandler",function(t,n){var i=[];return r(c[e],function(r,a){try{var o=t.invoke(r);b(o)?o={compile:D(o)}:!o.compile&&o.link&&(o.compile=D(o.link)),o.priority=o.priority||0,o.index=a,o.name=o.name||e,o.require=s(o),o.restrict=o.restrict||"EA",o.$$moduleName=r.$$moduleName,i.push(o)}catch(u){n(u)}}),i}])),c[e].push(n)):r(e,a(F)),this},this.component=function(e,t){function n(e){function n(t){return b(t)||ar(t)?function(n,r){return e.invoke(t,this,{$element:n,$attrs:r})}:t}var a=t.template||t.templateUrl?t.template:"",o={controller:i,controllerAs:Qe(t.controller)||t.controllerAs||"$ctrl",template:n(a),templateUrl:n(t.templateUrl),transclude:t.transclude,scope:{},bindToController:t.bindings||{},restrict:"E",require:t.require};return r(t,function(e,t){"$"===t.charAt(0)&&(o[t]=e)}),o}var i=t.controller||function(){};return r(t,function(e,t){"$"===t.charAt(0)&&(n[t]=e,b(i)&&(i[t]=e))}),n.$inject=["$injector"],this.directive(e,n)},this.aHrefSanitizationWhitelist=function(e){return g(e)?(n.aHrefSanitizationWhitelist(e),this):n.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(e){return g(e)?(n.imgSrcSanitizationWhitelist(e),this):n.imgSrcSanitizationWhitelist()};var A=!0;this.debugInfoEnabled=function(e){return g(e)?(A=e,this):A};var T=10;this.onChangesTtl=function(e){return arguments.length?(T=e,this):T},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(t,n,a,o,s,D,$,F,k,w){function V(){try{if(!--Ce)throw ge=void 0,Kr("infchng",T);$.$apply(function(){for(var e=0,t=ge.length;e<t;++e)ge[e]();ge=void 0})}finally{Ce++}}function R(e,t){if(t){var n,r,i,a=Object.keys(t);for(n=0,r=a.length;n<r;n++)i=a[n],this[i]=t[i]}else this.$attr={};this.$$element=e}function B(e,t,n){me.innerHTML="<span "+t+">",t=me.firstChild.attributes;var r=t[0];t.removeNamedItem(r.name),r.value=n,e.attributes.setNamedItem(r)}function H(e,t){try{e.addClass(t)}catch(n){}}function X(t,n,r,i,a){t instanceof jn||(t=jn(t));for(var o=/\S+/,s=0,u=t.length;s<u;s++){var c=t[s];c.nodeType===hr&&c.nodeValue.match(o)&&fe(c,t[s]=e.document.createElement("span"))}var l=N(t,n,t,r,i,a);X.$$addScopeClass(t);var p=null;return function(e,n,r){ne(e,"scope"),a&&a.needsNewScope&&(e=e.$parent.$new()),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers;if(r=r.futureParentElement,i&&i.$$boundTransclude&&(i=i.$$boundTransclude),p||(p=(r=r&&r[0])&&"foreignobject"!==M(r)&&er.call(r).match(/SVG/)?"svg":"html"),r="html"!==p?jn(ue(p,jn("<div>").append(t).html())):n?Fr.clone.call(t):t,o)for(var s in o)r.data("$"+s+"Controller",o[s].instance);return X.$$addScopeInfo(r,e),n&&n(r,e),l&&l(e,r,r,i),r}}function N(e,t,n,r,i,a){function o(e,n,r,i){var a,o,s,u,c,l,f;if(p)for(f=Array(n.length),u=0;u<d.length;u+=3)a=d[u],f[a]=n[a];else f=n;for(u=0,c=d.length;u<c;)o=f[d[u++]],n=d[u++],a=d[u++],n?(n.scope?(s=e.$new(),X.$$addScopeInfo(jn(o),s)):s=e,l=n.transcludeOnThisElement?O(e,n.transclude,i):!n.templateOnThisElement&&i?i:!i&&t?O(e,t):null,n(a,s,o,r,l)):a&&a(e,o.childNodes,void 0,i)}for(var s,u,c,l,p,d=[],f=0;f<e.length;f++)s=new R,u=j(e[f],[],s,0===f?r:void 0,i),(a=u.length?U(u,e[f],s,t,n,null,[],[],a):null)&&a.scope&&X.$$addScopeClass(s.$$element),s=a&&a.terminal||!(c=e[f].childNodes)||!c.length?null:N(c,a?(a.transcludeOnThisElement||!a.templateOnThisElement)&&a.transclude:t),(a||s)&&(d.push(f,a,s),l=!0,p=p||a),a=null;return l?o:null}function O(e,t,n){function r(r,i,a,o,s){return r||(r=e.$new(!1,s),r.$$transcluded=!0),t(r,i,{parentBoundTranscludeFn:n,transcludeControllers:a,futureParentElement:o})}var i,a=r.$$slots=se();for(i in t.$$slots)a[i]=t.$$slots[i]?O(e,t.$$slots[i],n):null;return r}function j(e,t,n,r,i){var a,o=n.$attr;switch(e.nodeType){case 1:Z(t,_e(M(e)),"E",r,i);for(var s,u,c,p=e.attributes,d=0,f=p&&p.length;d<f;d++){var D=!1,W=!1;s=p[d],a=s.name,u=sr(s.value),s=_e(a),(c=$e.test(s))&&(a=a.replace(Jr,"").substr(8).replace(/_(.)/g,function(e,t){return t.toUpperCase()})),(s=s.match(Ae))&&Q(s[1])&&(D=a,W=a.substr(0,a.length-5)+"end",a=a.substr(0,a.length-6)),s=_e(a.toLowerCase()),o[s]=a,!c&&n.hasOwnProperty(s)||(n[s]=u,ke(e,s)&&(n[s]=!0)),le(e,t,u,s,c),Z(t,s,"A",r,i,D,W)}if(e=e.className,v(e)&&(e=e.animVal),C(e)&&""!==e)for(;a=h.exec(e);)s=_e(a[2]),Z(t,s,"C",r,i)&&(n[s]=sr(a[3])),e=e.substr(a.index+a[0].length);break;case hr:if(11===In)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===hr;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);oe(t,e.nodeValue);break;case 8:try{(a=l.exec(e.nodeValue))&&(s=_e(a[1]),Z(t,s,"M",r,i)&&(n[s]=sr(a[2])))}catch(g){}}return t.sort(ie),t}function z(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Kr("uterdir",t,n);1==e.nodeType&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(0<i)}else r.push(e);return jn(r)}function q(e,t,n){return function(r,i,a,o,s){return i=z(i[0],t,n),e(r,i,a,o,s)}}function K(e,t,n,r,i,a){var o;return e?X(t,n,r,i,a):function(){return o||(o=X(t,n,r,i,a),t=n=a=null),o.apply(this,arguments)}}function U(e,t,n,i,o,s,c,l,p){function d(e,t,n,r){e&&(n&&(e=q(e,n,r)),e.require=D.require,e.directiveName=h,(A===D||D.$$isolateScope)&&(e=de(e,{isolateScope:!0})),c.push(e)),t&&(n&&(t=q(t,n,r)),t.require=D.require,t.directiveName=h,(A===D||D.$$isolateScope)&&(t=de(t,{isolateScope:!0})),l.push(t))}function f(e,i,a,o,s){function p(e,t,n,r){var i;if(x(e)||(r=n,n=t,t=e,e=void 0),P&&(i=m),n||(n=P?S.parent():S),!r)return s(e,t,i,n,k);var a=s.$$slots[r];if(a)return a(e,t,i,n,k);if(W(a))throw Kr("noslot",r,I(S))}var d,f,D,h,g,m,C,S;t===a?(o=n,S=n.$$element):(S=jn(a),o=new R(S,n)),g=i,A?h=i.$new(!0):y&&(g=i.$parent),s&&(C=p,C.$$boundTransclude=s,C.isSlotFilled=function(e){return!!s.$$slots[e]}),$&&(m=_(S,o,C,$,h,i,A)),A&&(X.$$addScopeInfo(S,h,!0,!(E&&(E===A||E===A.$$originalDirective))),X.$$addScopeClass(S,!0),h.$$isolateBindings=A.$$isolateBindings,f=We(i,o,h,h.$$isolateBindings,A),f.removeWatches&&h.$on("$destroy",f.removeWatches));for(d in m){f=$[d],D=m[d];var T=f.$$bindings.bindToController;D.bindingInfo=D.identifier&&T?We(g,o,D.instance,T,f):{};var F=D();F!==D.instance&&(D.instance=F,S.data("$"+f.name+"Controller",F),D.bindingInfo.removeWatches&&D.bindingInfo.removeWatches(),D.bindingInfo=We(g,o,D.instance,T,f))}for(r($,function(e,t){var n=e.require;e.bindToController&&!ar(n)&&v(n)&&u(m[t].instance,J(t,n,S,m))}),r(m,function(e){var t=e.instance;b(t.$onChanges)&&t.$onChanges(e.bindingInfo.initialChanges),b(t.$onInit)&&t.$onInit(),b(t.$onDestroy)&&g.$on("$destroy",function(){t.$onDestroy()})}),d=0,f=c.length;d<f;d++)D=c[d],De(D,D.isolateScope?h:i,S,o,D.require&&J(D.directiveName,D.require,S,m),C);var k=i;for(A&&(A.template||null===A.templateUrl)&&(k=h),e&&e(k,a.childNodes,void 0,s),d=l.length-1;0<=d;d--)D=l[d],De(D,D.isolateScope?h:i,S,o,D.require&&J(D.directiveName,D.require,S,m),C);r(m,function(e){e=e.instance,b(e.$postLink)&&e.$postLink()})}p=p||{};for(var D,h,g,m,C,S=-Number.MAX_VALUE,y=p.newScopeDirective,$=p.controllerDirectives,A=p.newIsolateScopeDirective,E=p.templateDirective,T=p.nonTlbTranscludeDirective,F=!1,k=!1,P=p.hasElementTranscludeDirective,w=n.$$element=jn(t),V=i,L=!1,B=!1,H=0,N=e.length;H<N;H++){D=e[H];var O=D.$$start,U=D.$$end;if(O&&(w=z(t,O,U)),g=void 0,S>D.priority)break;if((C=D.scope)&&(D.templateUrl||(v(C)?(ae("new/isolated scope",A||y,D,w),A=D):ae("new/isolated scope",A,D,w)),y=y||D),h=D.name,!L&&(D.replace&&(D.templateUrl||D.template)||D.transclude&&!D.$$tlb)){for(C=H+1;L=e[C++];)if(L.transclude&&!L.$$tlb||L.replace&&(L.templateUrl||L.template)){B=!0;break}L=!0}if(!D.templateUrl&&D.controller&&(C=D.controller,$=$||se(),ae("'"+h+"' controller",$[h],D,w),$[h]=D),C=D.transclude)if(F=!0,D.$$tlb||(ae("transclusion",T,D,w),T=D),"element"==C)P=!0,S=D.priority,g=w,w=n.$$element=jn(X.$$createComment(h,n[h])),t=w[0],pe(o,Yn.call(g,0),t),g[0].$$parentNode=g[0].parentNode,V=K(B,g,i,S,s&&s.name,{nonTlbTranscludeDirective:T});else{var Z=se();if(g=jn(he(t)).contents(),v(C)){g=[];var Q=se(),ee=se();r(C,function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,Q[e]=t,Z[t]=null,ee[t]=n}),r(w.contents(),function(e){var t=Q[_e(M(e))];t?(ee[t]=!0,Z[t]=Z[t]||[],Z[t].push(e)):g.push(e)}),r(ee,function(e,t){if(!e)throw Kr("reqslot",t)});for(var ne in Z)Z[ne]&&(Z[ne]=K(B,Z[ne],i))}w.empty(),V=K(B,g,i,void 0,void 0,{needsNewScope:D.$$isolateScope||D.$$newScope}),V.$$slots=Z}if(D.template)if(k=!0,ae("template",E,D,w),E=D,C=b(D.template)?D.template(w,n):D.template,C=be(C),D.replace){if(s=D,g=$r.test(C)?Ze(ue(D.templateNamespace,sr(C))):[],t=g[0],1!=g.length||1!==t.nodeType)throw Kr("tplrt",h,"");pe(o,w,t),N={$attr:{}},C=j(t,[],N);var ie=e.splice(H+1,e.length-(H+1));(A||y)&&Y(C,A,y),e=e.concat(C).concat(ie),te(n,N),N=e.length}else w.html(C);if(D.templateUrl)k=!0,ae("template",E,D,w),E=D,D.replace&&(s=D),f=re(e.splice(H,e.length-H),w,n,o,F&&V,c,l,{controllerDirectives:$,newScopeDirective:y!==D&&y,newIsolateScopeDirective:A,templateDirective:E,nonTlbTranscludeDirective:T}),N=e.length;else if(D.compile)try{m=D.compile(w,n,V);var oe=D.$$originalDirective||D;b(m)?d(null,G(oe,m),O,U):m&&d(G(oe,m.pre),G(oe,m.post),O,U)}catch(ce){a(ce,I(w))}D.terminal&&(f.terminal=!0,S=Math.max(S,D.priority))}return f.scope=y&&!0===y.scope,f.transcludeOnThisElement=F,f.templateOnThisElement=k,f.transclude=V,p.hasElementTranscludeDirective=P,f}function J(e,t,n,i){var a;if(C(t)){var o=t.match(S);t=t.substring(o[0].length);var s=o[1]||o[3],o="?"===o[2];if("^^"===s?n=n.parent():a=(a=i&&i[t])&&a.instance,!a){var u="$"+t+"Controller";a=s?n.inheritedData(u):n.data(u)}if(!a&&!o)throw Kr("ctreq",t,e)}else if(ar(t))for(a=[],s=0,o=t.length;s<o;s++)a[s]=J(e,t[s],n,i);else v(t)&&(a={},r(t,function(t,r){a[r]=J(e,t,n,i)}));return a||null}function _(e,t,n,r,i,a,o){var s,u=se();for(s in r){var c=r[s],l={$scope:c===o||c.$$isolateScope?i:a,$element:e,$attrs:t,$transclude:n},p=c.controller;"@"==p&&(p=t[c.name]),l=D(p,l,!0,c.controllerAs),u[c.name]=l,e.data("$"+c.name+"Controller",l.instance)}return u}function Y(e,t,n){for(var r=0,i=e.length;r<i;r++)e[r]=p(e[r],{$$isolateScope:t,$$newScope:n})}function Z(e,n,r,o,s,u,l){if(n===s)return null;if(s=null,c.hasOwnProperty(n)){var d;n=t.get(n+"Directive");for(var f=0,D=n.length;f<D;f++)try{if(d=n[f],(W(o)||o>d.priority)&&-1!=d.restrict.indexOf(r)){if(u&&(d=p(d,{$$start:u,$$end:l})),!d.$$bindings){var h=d,g=d,m=d.name,C={isolateScope:null,bindToController:null};if(v(g.scope)&&(!0===g.bindToController?(C.bindToController=i(g.scope,m,!0),C.isolateScope={}):C.isolateScope=i(g.scope,m,!1)),v(g.bindToController)&&(C.bindToController=i(g.bindToController,m,!0)),v(C.bindToController)){var S=g.controller,y=g.controllerAs;if(!S)throw Kr("noctrl",m);if(!Qe(S,y))throw Kr("noident",m)}var b=h.$$bindings=C;v(b.isolateScope)&&(d.$$isolateBindings=b.isolateScope)}e.push(d),s=d}}catch($){a($)}}return s}function Q(e){if(c.hasOwnProperty(e))for(var n=t.get(e+"Directive"),r=0,i=n.length;r<i;r++)if(e=n[r],e.multiElement)return!0;return!1}function te(e,t){var n=t.$attr,i=e.$attr,a=e.$$element;r(e,function(r,i){"$"!=i.charAt(0)&&(t[i]&&t[i]!==r&&(r+=("style"===i?";":" ")+t[i]),e.$set(i,r,!0,n[i]))}),r(t,function(t,r){"class"==r?(H(a,t),e["class"]=(e["class"]?e["class"]+" ":"")+t):"style"==r?(a.attr("style",a.attr("style")+";"+t),e.style=(e.style?e.style+";":"")+t):"$"==r.charAt(0)||e.hasOwnProperty(r)||(e[r]=t,i[r]=n[r])})}function re(e,t,n,i,a,s,u,c){var l,d,f=[],D=t[0],h=e.shift(),W=p(h,{templateUrl:null,transclude:null,replace:null,$$originalDirective:h}),g=b(h.templateUrl)?h.templateUrl(t,n):h.templateUrl,m=h.templateNamespace;return t.empty(),o(g).then(function(o){var p,C;if(o=be(o),h.replace){if(o=$r.test(o)?Ze(ue(m,sr(o))):[],p=o[0],1!=o.length||1!==p.nodeType)throw Kr("tplrt",h.name,g);o={$attr:{}},pe(i,t,p);var S=j(p,[],o);v(h.scope)&&Y(S,!0),e=S.concat(e),te(n,o)}else p=D,t.html(o);for(e.unshift(W),l=U(e,p,n,a,t,h,s,u,c),r(i,function(e,n){e==p&&(i[n]=t[0])}),d=N(t[0].childNodes,a);f.length;){o=f.shift(),C=f.shift();var y=f.shift(),b=f.shift(),S=t[0];if(!o.$$destroyed){if(C!==D){var $=C.className;c.hasElementTranscludeDirective&&h.replace||(S=he(p)),pe(y,jn(C),S),H(jn(S),$)}C=l.transcludeOnThisElement?O(o,l.transclude,b):b,l(d,o,S,i,C)}}f=null}),function(e,t,n,r,i){e=i,t.$$destroyed||(f?f.push(t,n,r,e):(l.transcludeOnThisElement&&(e=O(t,l.transclude,i)),l(d,t,n,r,e)))}}function ie(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function ae(e,t,n,r){function i(e){return e?" (module: "+e+")":""}if(t)throw Kr("multidir",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,I(r))}function oe(e,t){var r=n(t,!0);r&&e.push({priority:0,compile:function(e){e=e.parent();var t=!!e.length;return t&&X.$$addBindingClass(e),function(e,n){var i=n.parent();t||X.$$addBindingClass(i),X.$$addBindingInfo(i,r.expressions),e.$watch(r,function(e){n[0].nodeValue=e})}}})}function ue(t,n){switch(t=Jn(t||"html")){case"svg":case"math":var r=e.document.createElement("div");return r.innerHTML="<"+t+">"+n+"</"+t+">",r.childNodes[0].childNodes;default:return n}}function ce(e,t){if("srcdoc"==t)return F.HTML;var n=M(e);return"xlinkHref"==t||"form"==n&&"action"==t||"img"!=n&&("src"==t||"ngSrc"==t)?F.RESOURCE_URL:void 0}function le(e,t,r,i,a){var o=ce(e,i);a=m[i]||a;var s=n(r,!0,o,a);if(s){if("multiple"===i&&"select"===M(e))throw Kr("selmulti",I(e));t.push({priority:100,compile:function(){return{pre:function(e,t,u){if(t=u.$$observers||(u.$$observers=se()),y.test(i))throw Kr("nodomevents");var c=u[i];c!==r&&(s=c&&n(c,!0,o,a),r=c),s&&(u[i]=s(e),(t[i]||(t[i]=[])).$$inter=!0,(u.$$observers&&u.$$observers[i].$$scope||e).$watch(s,function(e,t){"class"===i&&e!=t?u.$updateClass(e,t):u.$set(i,e)}))}}}})}}function pe(t,n,r){var i,a,o=n[0],s=n.length,u=o.parentNode;if(t)for(i=0,a=t.length;i<a;i++)if(t[i]==o){t[i++]=r,a=i+s-1;for(var c=t.length;i<c;i++,a++)a<c?t[i]=t[a]:delete t[i];t.length-=s-1,t.context===o&&(t.context=r);break}for(u&&u.replaceChild(r,o),t=e.document.createDocumentFragment(),i=0;i<s;i++)t.appendChild(n[i]);for(jn.hasData(o)&&(jn.data(r,jn.data(o)),jn(o).off("$destroy")),jn.cleanData(t.querySelectorAll("*")),i=1;i<s;i++)delete n[i];n[0]=r,n.length=1}function de(e,t){return u(function(){return e.apply(null,arguments)},e,t)}function De(e,t,n,r,i,o){try{e(t,n,r,i,o)}catch(s){a(s,I(n))}}function We(e,t,i,a,o){function u(t,n,r){b(i.$onChanges)&&n!==r&&(ge||(e.$$postDigest(V),ge=[]),l||(l={},ge.push(c)),l[t]&&(r=l[t].previousValue),l[t]=new Je(r,n))}function c(){i.$onChanges(l),l=void 0}var l,p=[],f={};return r(a,function(r,a){var c,l,D,h,W=r.attrName,g=r.optional;switch(r.mode){case"@":g||Un.call(t,W)||(i[a]=t[W]=void 0),t.$observe(W,function(e){(C(e)||E(e))&&(u(a,e,i[a]),i[a]=e)}),t.$$observers[W].$$scope=e,c=t[W],C(c)?i[a]=n(c)(e):E(c)&&(i[a]=c),f[a]=new Je(Ur,i[a]);break;case"=":if(!Un.call(t,W)){if(g)break;t[W]=void 0}if(g&&!t[W])break;l=s(t[W]),h=l.literal?L:function(e,t){return e===t||e!==e&&t!==t},D=l.assign||function(){throw c=i[a]=l(e),Kr("nonassign",t[W],W,o.name)},c=i[a]=l(e),g=function(t){return h(t,i[a])||(h(t,c)?D(e,t=i[a]):i[a]=t),c=t},g.$stateful=!0,g=r.collection?e.$watchCollection(t[W],g):e.$watch(s(t[W],g),null,l.literal),p.push(g);break;case"<":if(!Un.call(t,W)){if(g)break;t[W]=void 0}if(g&&!t[W])break;l=s(t[W]);var v=i[a]=l(e);f[a]=new Je(Ur,i[a]),g=e.$watch(l,function(e,t){if(t===e){if(t===v)return;t=v}u(a,e,t),i[a]=e},l.literal),p.push(g);break;case"&":if(l=t.hasOwnProperty(W)?s(t[W]):d,l===d&&g)break;i[a]=function(t){return l(e,t)}}}),{initialChanges:f,removeWatches:p.length&&function(){for(var e=0,t=p.length;e<t;++e)p[e]()}}}var ge,ve=/^\w/,me=e.document.createElement("div"),Ce=T;R.prototype={$normalize:_e,$addClass:function(e){e&&0<e.length&&k.addClass(this.$$element,e)},$removeClass:function(e){e&&0<e.length&&k.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=Ye(e,t);n&&n.length&&k.addClass(this.$$element,n),(n=Ye(t,e))&&n.length&&k.removeClass(this.$$element,n)},$set:function(e,t,n,i){var o=ke(this.$$element[0],e),s=Pr[e],u=e;if(o?(this.$$element.prop(e,t),i=o):s&&(this[s]=t,u=s),this[e]=t,i?this.$attr[e]=i:(i=this.$attr[e])||(this.$attr[e]=i=ee(e,"-")),o=M(this.$$element),"a"===o&&("href"===e||"xlinkHref"===e)||"img"===o&&"src"===e)this[e]=t=w(t,"src"===e);else if("img"===o&&"srcset"===e&&g(t)){for(var o="",s=sr(t),c=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,c=/\s/.test(s)?c:/(,)/,s=s.split(c),c=Math.floor(s.length/2),l=0;l<c;l++)var p=2*l,o=o+w(sr(s[p]),!0),o=o+(" "+sr(s[p+1]));s=sr(s[2*l]).split(/\s/),o+=w(sr(s[0]),!0),2===s.length&&(o+=" "+sr(s[1])),this[e]=t=o}!1!==n&&(null===t||W(t)?this.$$element.removeAttr(i):ve.test(i)?this.$$element.attr(i,t):B(this.$$element[0],i,t)),(e=this.$$observers)&&r(e[u],function(e){try{e(t)}catch(n){a(n)}})},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=se()),i=r[e]||(r[e]=[]);return i.push(t),$.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(e)||W(n[e])||t(n[e])}),function(){P(i,t)}}};var Se=n.startSymbol(),ye=n.endSymbol(),be="{{"==Se&&"}}"==ye?f:function(e){return e.replace(/\{\{/g,Se).replace(/}}/g,ye)},$e=/^ngAttr[A-Z]/,Ae=/^(.+)Start$/;return X.$$addBindingInfo=A?function(e,t){var n=e.data("$binding")||[];ar(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:d,X.$$addBindingClass=A?function(e){H(e,"ng-binding")}:d,X.$$addScopeInfo=A?function(e,t,n,r){e.data(n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope",t)}:d,X.$$addScopeClass=A?function(e,t){H(e,t?"ng-isolate-scope":"ng-scope")}:d,X.$$createComment=function(t,n){var r="";return A&&(r=" "+(t||"")+": ",n&&(r+=n+" ")),e.document.createComment(r)},X}]}function Je(e,t){this.previousValue=e,this.currentValue=t}function _e(e){return le(e.replace(Jr,""))}function Ye(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/),a=0;e:for(;a<r.length;a++){for(var o=r[a],s=0;s<i.length;s++)if(o==i[s])continue e;n+=(0<n.length?" ":"")+o}return n}function Ze(e){e=jn(e);var t=e.length;if(1>=t)return e;for(;t--;)8===e[t].nodeType&&Zn.call(e,t,1);return e}function Qe(e,t){if(t&&C(t))return t;if(C(e)){var n=Yr.exec(e);if(n)return n[3]}}function et(){var e={},n=!1;
this.has=function(t){return e.hasOwnProperty(t)},this.register=function(t,n){ie(t,"controller"),v(t)?u(e,t):e[t]=n},this.allowGlobals=function(){n=!0},this.$get=["$injector","$window",function(r,i){function a(e,n,r,i){if(!e||!v(e.$scope))throw t("$controller")("noscp",i,n);e.$scope[n]=r}return function(t,o,s,c){var l,p,d;if(s=!0===s,c&&C(c)&&(d=c),C(t)){if(c=t.match(Yr),!c)throw _r("ctrlfmt",t);p=c[1],d=d||c[3],t=e.hasOwnProperty(p)?e[p]:ae(o.$scope,p,!0)||(n?ae(i,p,!0):void 0),re(t,p,!0)}return s?(s=(ar(t)?t[t.length-1]:t).prototype,l=Object.create(s||null),d&&a(o,d,l,p||t.name),u(function(){var e=r.invoke(t,l,o,p);return e!==l&&(v(e)||b(e))&&(l=e,d&&a(o,d,l,p||t.name)),l},{instance:l,identifier:d})):(l=r.instantiate(t,o,p),d&&a(o,d,l,p||t.name),l)}}]}function tt(){this.$get=["$window",function(e){return jn(e.document)}]}function nt(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}function rt(e){return v(e)?y(e)?e.toISOString():H(e):e}function it(){this.$get=function(){return function(e){if(!e)return"";var t=[];return i(e,function(e,n){null===e||W(e)||(ar(e)?r(e,function(e){t.push(U(n)+"="+U(rt(e)))}):t.push(U(n)+"="+U(rt(e))))}),t.join("&")}}}function at(){this.$get=function(){return function(e){function t(e,a,o){null===e||W(e)||(ar(e)?r(e,function(e,n){t(e,a+"["+(v(e)?n:"")+"]")}):v(e)&&!y(e)?i(e,function(e,n){t(e,a+(o?"":"[")+n+(o?"":"]"))}):n.push(U(a)+"="+U(rt(e))))}if(!e)return"";var n=[];return t(e,"",!0),n.join("&")}}}function ot(e,t){if(C(e)){var n=e.replace(ri,"").trim();if(n){var r=t("Content-Type");(r=r&&0===r.indexOf(Qr))||(r=(r=n.match(ti))&&ni[r[0]].test(n)),r&&(e=X(n))}}return e}function st(e){var t,n=se();return C(e)?r(e.split("\n"),function(e){t=e.indexOf(":");var r=Jn(sr(e.substr(0,t)));e=sr(e.substr(t+1)),r&&(n[r]=n[r]?n[r]+", "+e:e)}):v(e)&&r(e,function(e,t){var r=Jn(t),i=sr(e);r&&(n[r]=n[r]?n[r]+", "+i:i)}),n}function ut(e){var t;return function(n){return t||(t=st(e)),n?(n=t[Jn(n)],void 0===n&&(n=null),n):t}}function ct(e,t,n,i){return b(i)?i(e,t,n):(r(i,function(r){e=r(e,t,n)}),e)}function lt(){var e=this.defaults={transformResponse:[ot],transformRequest:[function(e){return v(e)&&"[object File]"!==er.call(e)&&"[object Blob]"!==er.call(e)&&"[object FormData]"!==er.call(e)?H(e):e}],headers:{common:{Accept:"application/json, text/plain, */*"},post:V(ei),put:V(ei),patch:V(ei)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},n=!1;this.useApplyAsync=function(e){return g(e)?(n=!!e,this):n};var i=!0;this.useLegacyPromiseExtensions=function(e){return g(e)?(i=!!e,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(o,s,c,l,p,d){function f(n){function a(e){var t=u({},e);return t.data=ct(e.data,e.headers,e.status,s.transformResponse),e=e.status,200<=e&&300>e?t:p.reject(t)}function o(e,t){var n,i={};return r(e,function(e,r){b(e)?(n=e(t),null!=n&&(i[r]=n)):i[r]=e}),i}if(!v(n))throw t("$http")("badreq",n);if(!C(n.url))throw t("$http")("badreq",n.url);var s=u({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},n);s.headers=function(t){var n,r,i,a=e.headers,s=u({},t.headers),a=u({},a.common,a[Jn(t.method)]);e:for(n in a){r=Jn(n);for(i in s)if(Jn(i)===r)continue e;s[n]=a[n]}return o(s,V(t))}(n),s.method=_n(s.method),s.paramSerializer=C(s.paramSerializer)?d.get(s.paramSerializer):s.paramSerializer;var c=[function(t){var n=t.headers,i=ct(t.data,ut(n),void 0,t.transformRequest);return W(i)&&r(n,function(e,t){"content-type"===Jn(t)&&delete n[t]}),W(t.withCredentials)&&!W(e.withCredentials)&&(t.withCredentials=e.withCredentials),D(t,i).then(a,a)},void 0],l=p.when(s);for(r(S,function(e){(e.request||e.requestError)&&c.unshift(e.request,e.requestError),(e.response||e.responseError)&&c.push(e.response,e.responseError)});c.length;){n=c.shift();var f=c.shift(),l=l.then(n,f)}return i?(l.success=function(e){return re(e,"fn"),l.then(function(t){e(t.data,t.status,t.headers,s)}),l},l.error=function(e){return re(e,"fn"),l.then(null,function(t){e(t.data,t.status,t.headers,s)}),l}):(l.success=ai("success"),l.error=ai("error")),l}function D(t,i){function a(e){if(e){var t={};return r(e,function(e,r){t[r]=function(t){function r(){e(t)}n?l.$applyAsync(r):l.$$phase?r():l.$apply(r)}}),t}}function u(e,t,r,i){function a(){c(t,e,r,i)}C&&(200<=e&&300>e?C.put(x,[e,t,st(r),i]):C.remove(x)),n?l.$applyAsync(a):(a(),l.$$phase||l.$apply())}function c(e,n,r,i){n=-1<=n?n:0,(200<=n&&300>n?y.resolve:y.reject)({data:e,status:n,headers:ut(r),config:t,statusText:i})}function d(e){c(e.data,e.status,V(e.headers()),e.statusText)}function D(){var e=f.pendingRequests.indexOf(t);-1!==e&&f.pendingRequests.splice(e,1)}var C,S,y=p.defer(),$=y.promise,A=t.headers,x=h(t.url,t.paramSerializer(t.params));return f.pendingRequests.push(t),$.then(D,D),!t.cache&&!e.cache||!1===t.cache||"GET"!==t.method&&"JSONP"!==t.method||(C=v(t.cache)?t.cache:v(e.cache)?e.cache:m),C&&(S=C.get(x),g(S)?S&&b(S.then)?S.then(d,d):ar(S)?c(S[1],S[0],V(S[2]),S[3]):c(S,200,{},"OK"):C.put(x,$)),W(S)&&((S=un(t.url)?s()[t.xsrfCookieName||e.xsrfCookieName]:void 0)&&(A[t.xsrfHeaderName||e.xsrfHeaderName]=S),o(t.method,x,i,u,A,t.timeout,t.withCredentials,t.responseType,a(t.eventHandlers),a(t.uploadEventHandlers))),$}function h(e,t){return 0<t.length&&(e+=(-1==e.indexOf("?")?"?":"&")+t),e}var m=c("$http");e.paramSerializer=C(e.paramSerializer)?d.get(e.paramSerializer):e.paramSerializer;var S=[];return r(a,function(e){S.unshift(C(e)?d.get(e):d.invoke(e))}),f.pendingRequests=[],function(e){r(arguments,function(e){f[e]=function(t,n){return f(u({},n||{},{method:e,url:t}))}})}("get","delete","head","jsonp"),function(e){r(arguments,function(e){f[e]=function(t,n,r){return f(u({},r||{},{method:e,url:t,data:n}))}})}("post","put","patch"),f.defaults=e,f}]}function pt(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function dt(){this.$get=["$browser","$window","$document","$xhrFactory",function(e,t,n,r){return ft(e,r,e.defer,t.angular.callbacks,n[0])}]}function ft(e,t,n,i,a){function o(e,t,n){var r=a.createElement("script"),o=null;return r.type="text/javascript",r.src=e,r.async=!0,o=function(e){r.removeEventListener("load",o,!1),r.removeEventListener("error",o,!1),a.body.removeChild(r),r=null;var s=-1,u="unknown";e&&("load"!==e.type||i[t].called||(e={type:"error"}),u=e.type,s="error"===e.type?404:200),n&&n(s,u)},r.addEventListener("load",o,!1),r.addEventListener("error",o,!1),a.body.appendChild(r),o}return function(a,s,u,c,l,p,f,D,h,v){function m(){y&&y(),$&&$.abort()}function C(t,r,i,a,o){g(x)&&n.cancel(x),y=$=null,t(r,i,a,o),e.$$completeOutstandingRequest(d)}if(e.$$incOutstandingRequestCount(),s=s||e.url(),"jsonp"==Jn(a)){var S="_"+(i.counter++).toString(36);i[S]=function(e){i[S].data=e,i[S].called=!0};var y=o(s.replace("JSON_CALLBACK","angular.callbacks."+S),S,function(e,t){C(c,e,i[S].data,"",t),i[S]=d})}else{var $=t(a,s);if($.open(a,s,!0),r(l,function(e,t){g(e)&&$.setRequestHeader(t,e)}),$.onload=function(){var e=$.statusText||"",t="response"in $?$.response:$.responseText,n=1223===$.status?204:$.status;0===n&&(n=t?200:"file"==sn(s).protocol?404:0),C(c,n,t,$.getAllResponseHeaders(),e)},a=function(){C(c,-1,null,null,"")},$.onerror=a,$.onabort=a,r(h,function(e,t){$.addEventListener(t,e)}),r(v,function(e,t){$.upload.addEventListener(t,e)}),f&&($.withCredentials=!0),D)try{$.responseType=D}catch(A){if("json"!==D)throw A}$.send(W(u)?null:u)}if(0<p)var x=n(m,p);else p&&b(p.then)&&p.then(m)}}function Dt(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function a(e){return"\\\\\\"+e}function o(n){return n.replace(d,e).replace(f,t)}function s(e,t,n,r){var i;return i=e.$watch(function(e){return i(),r(e)},t,n)}function c(a,c,d,f){function h(e){try{var t=e;e=d?i.getTrusted(d,t):i.valueOf(t);var n;if(f&&!g(e))n=e;else if(null==e)n="";else{switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=H(e)}n=e}return n}catch(o){r(oi.interr(a,o))}}if(!a.length||-1===a.indexOf(e)){var v;return c||(c=o(a),v=D(c),v.exp=a,v.expressions=[],v.$$watchDelegate=s),v}f=!!f;var m,C,S=0,y=[],$=[];v=a.length;for(var A=[],x=[];S<v;){if(-1==(m=a.indexOf(e,S))||-1==(C=a.indexOf(t,m+l))){S!==v&&A.push(o(a.substring(S)));break}S!==m&&A.push(o(a.substring(S,m))),S=a.substring(m+l,C),y.push(S),$.push(n(S,h)),S=C+p,x.push(A.length),A.push("")}if(d&&1<A.length&&oi.throwNoconcat(a),!c||y.length){var E=function(e){for(var t=0,n=y.length;t<n;t++){if(f&&W(e[t]))return;A[x[t]]=e[t]}return A.join("")};return u(function(e){var t=0,n=y.length,i=Array(n);try{for(;t<n;t++)i[t]=$[t](e);return E(i)}catch(o){r(oi.interr(a,o))}},{exp:a,expressions:y,$$watchDelegate:function(e,t){var n;return e.$watchGroup($,function(r,i){var a=E(r);b(t)&&t.call(this,a,r!==i?n:a,e),n=a})}})}}var l=e.length,p=t.length,d=new RegExp(e.replace(/./g,a),"g"),f=new RegExp(t.replace(/./g,a),"g");return c.startSymbol=function(){return e},c.endSymbol=function(){return t},c}]}function ht(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(e,t,n,r,i){function a(a,s,u,c){function l(){p?a.apply(null,d):a(h)}var p=4<arguments.length,d=p?Yn.call(arguments,4):[],f=t.setInterval,D=t.clearInterval,h=0,W=g(c)&&!c,v=(W?r:n).defer(),m=v.promise;return u=g(u)?u:0,m.$$intervalId=f(function(){W?i.defer(l):e.$evalAsync(l),v.notify(h++),0<u&&h>=u&&(v.resolve(h),D(m.$$intervalId),delete o[m.$$intervalId]),W||e.$apply()},s),o[m.$$intervalId]=v,m}var o={};return a.cancel=function(e){return!!(e&&e.$$intervalId in o)&&(o[e.$$intervalId].reject("canceled"),t.clearInterval(e.$$intervalId),delete o[e.$$intervalId],!0)},a}]}function Wt(e){e=e.split("/");for(var t=e.length;t--;)e[t]=K(e[t]);return e.join("/")}function gt(e,t){var n=sn(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=l(n.port)||ui[n.protocol]||null}function vt(e,t){var n="/"!==e.charAt(0);n&&(e="/"+e);var r=sn(e);t.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=z(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function mt(e,t){if(0===t.lastIndexOf(e,0))return t.substr(e.length)}function Ct(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function St(e){return e.replace(/(#.+)|#$/,"$1")}function yt(e,t,n){this.$$html5=!0,n=n||"",gt(e,this),this.$$parse=function(e){var n=mt(t,e);if(!C(n))throw ci("ipthprfx",e,t);vt(n,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=q(this.$$search),n=this.$$hash?"#"+K(this.$$hash):"";this.$$url=Wt(this.$$path)+(e?"?"+e:"")+n,this.$$absUrl=t+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var a,o;return g(a=mt(e,r))?(o=a,o=g(a=mt(n,a))?t+(mt("/",a)||a):e+o):g(a=mt(t,r))?o=t+a:t==r+"/"&&(o=t),o&&this.$$parse(o),!!o}}function bt(e,t,n){gt(e,this),this.$$parse=function(r){var i,a=mt(e,r)||mt(t,r);W(a)||"#"!==a.charAt(0)?this.$$html5?i=a:(i="",W(a)&&(e=r,this.replace())):(i=mt(n,a),W(i)&&(i=a)),vt(i,this),r=this.$$path;var a=e,o=/^\/[A-Z]:(\/.*)/;0===i.lastIndexOf(a,0)&&(i=i.replace(a,"")),o.exec(i)||(r=(i=o.exec(r))?i[1]:r),this.$$path=r,this.$$compose()},this.$$compose=function(){var t=q(this.$$search),r=this.$$hash?"#"+K(this.$$hash):"";this.$$url=Wt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(t,n){return Ct(e)==Ct(t)&&(this.$$parse(t),!0)}}function $t(e,t,n){this.$$html5=!0,bt.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var a,o;return e==Ct(r)?a=r:(o=mt(t,r))?a=e+n+o:t===r+"/"&&(a=t),a&&this.$$parse(a),!!a},this.$$compose=function(){var t=q(this.$$search),r=this.$$hash?"#"+K(this.$$hash):"";this.$$url=Wt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+n+this.$$url}}function At(e){return function(){return this[e]}}function xt(e,t){return function(n){return W(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Et(){var e="",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return g(t)?(e=t,this):e},this.html5Mode=function(e){return E(e)?(t.enabled=e,this):v(e)?(E(e.enabled)&&(t.enabled=e.enabled),E(e.requireBase)&&(t.requireBase=e.requireBase),E(e.rewriteLinks)&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,a,o){function s(e,t,n){var i=c.url(),a=c.$$state;try{r.url(e,t,n),c.$$state=r.state()}catch(o){throw c.url(i),c.$$state=a,o}}function u(e,t){n.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}var c,l;l=r.baseHref();var p,d=r.url();if(t.enabled){if(!l&&t.requireBase)throw ci("nobase");p=d.substring(0,d.indexOf("/",d.indexOf("//")+2))+(l||"/"),l=i.history?yt:$t}else p=Ct(d),l=bt;var f=p.substr(0,Ct(p).lastIndexOf("/")+1);c=new l(p,f,"#"+e),c.$$parseLinkUrl(d,d),c.$$state=r.state();var D=/^\s*(javascript|mailto):/i;a.on("click",function(e){if(t.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var i=jn(e.target);"a"!==M(i[0]);)if(i[0]===a[0]||!(i=i.parent())[0])return;var s=i.prop("href"),u=i.attr("href")||i.attr("xlink:href");v(s)&&"[object SVGAnimatedString]"===s.toString()&&(s=sn(s.animVal).href),D.test(s)||!s||i.attr("target")||e.isDefaultPrevented()||!c.$$parseLinkUrl(s,u)||(e.preventDefault(),c.absUrl()!=r.url()&&(n.$apply(),o.angular["ff-684208-preventDefault"]=!0))}}),St(c.absUrl())!=St(d)&&r.url(c.absUrl(),!0);var h=!0;return r.onUrlChange(function(e,t){W(mt(f,e))?o.location.href=e:(n.$evalAsync(function(){var r,i=c.absUrl(),a=c.$$state;e=St(e),c.$$parse(e),c.$$state=t,r=n.$broadcast("$locationChangeStart",e,i,t,a).defaultPrevented,c.absUrl()===e&&(r?(c.$$parse(i),c.$$state=a,s(i,!1,a)):(h=!1,u(i,a)))}),n.$$phase||n.$digest())}),n.$watch(function(){var e=St(r.url()),t=St(c.absUrl()),a=r.state(),o=c.$$replace,l=e!==t||c.$$html5&&i.history&&a!==c.$$state;(h||l)&&(h=!1,n.$evalAsync(function(){var t=c.absUrl(),r=n.$broadcast("$locationChangeStart",t,e,c.$$state,a).defaultPrevented;c.absUrl()===t&&(r?(c.$$parse(e),c.$$state=a):(l&&s(t,o,a===c.$$state?null:c.$$state),u(e,a)))})),c.$$replace=!1}),c}]}function Tt(){var e=!0,t=this;this.debugEnabled=function(t){return g(t)?(e=t,this):e},this.$get=["$window",function(n){function i(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function a(e){var t=n.console||{},a=t[e]||t.log||d;e=!1;try{e=!!a.apply}catch(o){}return e?function(){var e=[];return r(arguments,function(t){e.push(i(t))}),a.apply(t,e)}:function(e,t){a(e,null==t?"":t)}}return{log:a("log"),info:a("info"),warn:a("warn"),error:a("error"),debug:function(){var n=a("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function Ft(e,t){if("__defineGetter__"===e||"__defineSetter__"===e||"__lookupGetter__"===e||"__lookupSetter__"===e||"__proto__"===e)throw pi("isecfld",t);return e}function kt(e){return e+""}function Mt(e,t){if(e){if(e.constructor===e)throw pi("isecfn",t);if(e.window===e)throw pi("isecwindow",t);if(e.children&&(e.nodeName||e.prop&&e.attr&&e.find))throw pi("isecdom",t);if(e===Object)throw pi("isecobj",t)}return e}function Pt(e,t){if(e){if(e.constructor===e)throw pi("isecfn",t);if(e===di||e===fi||e===Di)throw pi("isecff",t)}}function wt(e,t){if(e&&(e===(0).constructor||e===(!1).constructor||e==="".constructor||e==={}.constructor||e===[].constructor||e===Function.constructor))throw pi("isecaf",t)}function Vt(e,t){return"undefined"!=typeof e?e:t}function Lt(e,t){return"undefined"==typeof e?t:"undefined"==typeof t?e:e+t}function Rt(e,t){var n,i;switch(e.type){case vi.Program:n=!0,r(e.body,function(e){Rt(e.expression,t),n=n&&e.expression.constant}),e.constant=n;break;case vi.Literal:e.constant=!0,e.toWatch=[];break;case vi.UnaryExpression:Rt(e.argument,t),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case vi.BinaryExpression:Rt(e.left,t),Rt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case vi.LogicalExpression:Rt(e.left,t),Rt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case vi.ConditionalExpression:Rt(e.test,t),Rt(e.alternate,t),Rt(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case vi.Identifier:e.constant=!1,e.toWatch=[e];break;case vi.MemberExpression:Rt(e.object,t),e.computed&&Rt(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case vi.CallExpression:n=!!e.filter&&!t(e.callee.name).$stateful,i=[],r(e.arguments,function(e){Rt(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&!t(e.callee.name).$stateful?i:[e];break;case vi.AssignmentExpression:Rt(e.left,t),Rt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case vi.ArrayExpression:n=!0,i=[],r(e.elements,function(e){Rt(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=i;break;case vi.ObjectExpression:n=!0,i=[],r(e.properties,function(e){Rt(e.value,t),n=n&&e.value.constant&&!e.computed,e.value.constant||i.push.apply(i,e.value.toWatch)}),e.constant=n,e.toWatch=i;break;case vi.ThisExpression:e.constant=!1,e.toWatch=[];break;case vi.LocalsExpression:e.constant=!1,e.toWatch=[]}}function Gt(e){if(1==e.length){e=e[0].expression;var t=e.toWatch;return 1!==t.length?t:t[0]!==e?t:void 0}}function Bt(e){return e.type===vi.Identifier||e.type===vi.MemberExpression}function Ht(e){if(1===e.body.length&&Bt(e.body[0].expression))return{type:vi.AssignmentExpression,left:e.body[0].expression,right:{type:vi.NGValueParameter},operator:"="}}function Xt(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===vi.Literal||e.body[0].expression.type===vi.ArrayExpression||e.body[0].expression.type===vi.ObjectExpression)}function Nt(e,t){this.astBuilder=e,this.$filter=t}function Ot(e,t){this.astBuilder=e,this.$filter=t}function It(e){return"constructor"==e}function jt(e){return b(e.valueOf)?e.valueOf():Ci.call(e)}function zt(){var e,t,n=se(),i=se(),a={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(e,t){a[e]=t},this.setIdentifierFns=function(n,r){return e=n,t=r,this},this.$get=["$filter",function(o){function s(e,t,r){var a,s,c;switch(r=r||C,typeof e){case"string":c=e=e.trim();var W=r?i:n;if(a=W[c],!a){":"===e.charAt(0)&&":"===e.charAt(1)&&(s=!0,e=e.substring(2)),a=r?m:v;var g=new gi(a);a=new mi(g,o,a).parse(e),a.constant?a.$$watchDelegate=D:s?a.$$watchDelegate=a.literal?f:p:a.inputs&&(a.$$watchDelegate=l),r&&(a=u(a)),W[c]=a}return h(a,t);case"function":return h(e,t);default:return h(d,t)}}function u(e){function t(t,n,r,i){var a=C;C=!0;try{return e(t,n,r,i)}finally{C=a}}if(!e)return e;t.$$watchDelegate=e.$$watchDelegate,t.assign=u(e.assign),t.constant=e.constant,t.literal=e.literal;for(var n=0;e.inputs&&n<e.inputs.length;++n)e.inputs[n]=u(e.inputs[n]);return t.inputs=e.inputs,t}function c(e,t){return null==e||null==t?e===t:("object"!=typeof e||(e=jt(e),"object"!=typeof e))&&(e===t||e!==e&&t!==t)}function l(e,t,n,r,i){var a,o=r.inputs;if(1===o.length){var s=c,o=o[0];return e.$watch(function(e){var t=o(e);return c(t,s)||(a=r(e,void 0,void 0,[t]),s=t&&jt(t)),a},t,n,i)}for(var u=[],l=[],p=0,d=o.length;p<d;p++)u[p]=c,l[p]=null;return e.$watch(function(e){for(var t=!1,n=0,i=o.length;n<i;n++){var s=o[n](e);(t||(t=!c(s,u[n])))&&(l[n]=s,u[n]=s&&jt(s))}return t&&(a=r(e,void 0,void 0,l)),a},t,n,i)}function p(e,t,n,r){var i,a;return i=e.$watch(function(e){return r(e)},function(e,n,r){a=e,b(t)&&t.apply(this,arguments),g(e)&&r.$$postDigest(function(){g(a)&&i()})},n)}function f(e,t,n,i){function a(e){var t=!0;return r(e,function(e){g(e)||(t=!1)}),t}var o,s;return o=e.$watch(function(e){return i(e)},function(e,n,r){s=e,b(t)&&t.call(this,e,n,r),a(e)&&r.$$postDigest(function(){a(s)&&o()})},n)}function D(e,t,n,r){var i;return i=e.$watch(function(e){return i(),r(e)},t,n)}function h(e,t){if(!t)return e;var n=e.$$watchDelegate,r=!1,n=n!==f&&n!==p?function(n,i,a,o){return a=r&&o?o[0]:e(n,i,a,o),t(a,n,i)}:function(n,r,i,a){return i=e(n,r,i,a),n=t(i,n,r),g(i)?n:i};return e.$$watchDelegate&&e.$$watchDelegate!==l?n.$$watchDelegate=e.$$watchDelegate:t.$stateful||(n.$$watchDelegate=l,r=!e.inputs,n.inputs=e.inputs?e.inputs:[e]),n}var W=cr().noUnsafeEval,v={csp:W,expensiveChecks:!1,literals:w(a),isIdentifierStart:b(e)&&e,isIdentifierContinue:b(t)&&t},m={csp:W,expensiveChecks:!0,literals:w(a),isIdentifierStart:b(e)&&e,isIdentifierContinue:b(t)&&t},C=!1;return s.$$runningExpensiveChecks=function(){return C},s}]}function qt(){this.$get=["$rootScope","$exceptionHandler",function(e,t){return Ut(function(t){e.$evalAsync(t)},t)}]}function Kt(){this.$get=["$browser","$exceptionHandler",function(e,t){return Ut(function(t){e.defer(t)},t)}]}function Ut(e,n){function i(){this.$$state={status:0}}function a(e,t){return function(n){t.call(e,n)}}function o(t){!t.processScheduled&&t.pending&&(t.processScheduled=!0,e(function(){var e,r,i;i=t.pending,t.processScheduled=!1,t.pending=void 0;for(var a=0,o=i.length;a<o;++a){r=i[a][0],e=i[a][t.status];try{b(e)?r.resolve(e(t.value)):1===t.status?r.resolve(t.value):r.reject(t.value)}catch(s){r.reject(s),n(s)}}}))}function s(){this.promise=new i}var c=t("$q",TypeError);u(i.prototype,{then:function(e,t,n){if(W(e)&&W(t)&&W(n))return this;var r=new s;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),0<this.$$state.status&&o(this.$$state),r.promise},"catch":function(e){return this.then(null,e)},"finally":function(e,t){return this.then(function(t){return p(t,!0,e)},function(t){return p(t,!1,e)},t)}}),u(s.prototype,{resolve:function(e){this.promise.$$state.status||(e===this.promise?this.$$reject(c("qcycle",e)):this.$$resolve(e))},$$resolve:function(e){function t(e){u||(u=!0,s.$$resolve(e))}function r(e){u||(u=!0,s.$$reject(e))}var i,s=this,u=!1;try{(v(e)||b(e))&&(i=e&&e.then),b(i)?(this.promise.$$state.status=-1,i.call(e,t,r,a(this,this.notify))):(this.promise.$$state.value=e,this.promise.$$state.status=1,o(this.promise.$$state))}catch(c){r(c),n(c)}},reject:function(e){this.promise.$$state.status||this.$$reject(e)},$$reject:function(e){this.promise.$$state.value=e,this.promise.$$state.status=2,o(this.promise.$$state)},notify:function(t){var r=this.promise.$$state.pending;0>=this.promise.$$state.status&&r&&r.length&&e(function(){for(var e,i,a=0,o=r.length;a<o;a++){i=r[a][0],e=r[a][3];try{i.notify(b(e)?e(t):t)}catch(s){n(s)}}})}});var l=function(e,t){var n=new s;return t?n.resolve(e):n.reject(e),n.promise},p=function(e,t,n){var r=null;try{b(n)&&(r=n())}catch(i){return l(i,!1)}return r&&b(r.then)?r.then(function(){return l(e,t)},function(e){return l(e,!1)}):l(e,t)},d=function(e,t,n,r){var i=new s;return i.resolve(e),i.promise.then(t,n,r)},f=function(e){if(!b(e))throw c("norslvr",e);var t=new s;return e(function(e){t.resolve(e)},function(e){t.reject(e)}),t.promise};return f.prototype=i.prototype,f.defer=function(){var e=new s;return e.resolve=a(e,e.resolve),e.reject=a(e,e.reject),e.notify=a(e,e.notify),e},f.reject=function(e){var t=new s;return t.reject(e),t.promise},f.when=d,f.resolve=d,f.all=function(e){var t=new s,n=0,i=ar(e)?[]:{};return r(e,function(e,r){n++,d(e).then(function(e){i.hasOwnProperty(r)||(i[r]=e,--n||t.resolve(i))},function(e){i.hasOwnProperty(r)||t.reject(e)})}),0===n&&t.resolve(i),t.promise},f}function Jt(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,r=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,i=!!n,a=i?function(e){var t=n(e);return function(){r(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return a.supported=i,a}]}function _t(){function e(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=++ir,this.$$ChildScope=null}return t.prototype=e,t}var i=10,a=t("$rootScope"),o=null,s=null;this.digestTtl=function(e){return arguments.length&&(i=e),i},this.$get=["$exceptionHandler","$parse","$browser",function(t,u,c){function l(e){e.currentScope.$$destroyed=!0}function p(e){9===In&&(e.$$childHead&&p(e.$$childHead),e.$$nextSibling&&p(e.$$nextSibling)),e.$parent=e.$$nextSibling=e.$$prevSibling=e.$$childHead=e.$$childTail=e.$root=e.$$watchers=null}function f(){this.$id=++ir,this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function D(e){if(y.$$phase)throw a("inprog",y.$$phase);y.$$phase=e}function h(e,t){do e.$$watchersCount+=t;while(e=e.$parent)}function g(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function m(){}function C(){for(;x.length;)try{x.shift()()}catch(e){t(e)}s=null}function S(){null===s&&(s=c.defer(function(){y.$apply(C)}))}f.prototype={constructor:f,$new:function(t,n){var r;return n=n||this,t?(r=new f,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=e(this)),r=new this.$$ChildScope),r.$parent=n,r.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=r,n.$$childTail=r):n.$$childHead=n.$$childTail=r,(t||n!=this)&&r.$on("$destroy",l),r},$watch:function(e,t,n,r){var i=u(e);if(i.$$watchDelegate)return i.$$watchDelegate(this,t,n,i,e);var a=this,s=a.$$watchers,c={fn:t,last:m,get:i,exp:r||e,eq:!!n};return o=null,b(t)||(c.fn=d),s||(s=a.$$watchers=[]),s.unshift(c),h(this,1),function(){0<=P(s,c)&&h(a,-1),o=null}},$watchGroup:function(e,t){function n(){u=!1,c?(c=!1,t(a,a,s)):t(a,i,s)}var i=Array(e.length),a=Array(e.length),o=[],s=this,u=!1,c=!0;if(!e.length){var l=!0;return s.$evalAsync(function(){l&&t(a,a,s)}),function(){l=!1}}return 1===e.length?this.$watch(e[0],function(e,n,r){a[0]=e,i[0]=n,t(a,e===n?a:i,r)}):(r(e,function(e,t){var r=s.$watch(e,function(e,r){a[t]=e,i[t]=r,u||(u=!0,s.$evalAsync(n))});o.push(r)}),function(){for(;o.length;)o.shift()()})},$watchCollection:function(e,t){function r(e){i=e;var t,r,o,s;if(!W(i)){if(v(i))if(n(i))for(a!==d&&(a=d,h=a.length=0,l++),e=i.length,h!==e&&(l++,a.length=h=e),t=0;t<e;t++)s=a[t],o=i[t],r=s!==s&&o!==o,r||s===o||(l++,a[t]=o);else{a!==f&&(a=f={},h=0,l++),e=0;for(t in i)Un.call(i,t)&&(e++,o=i[t],s=a[t],t in a?(r=s!==s&&o!==o,r||s===o||(l++,a[t]=o)):(h++,a[t]=o,l++));if(h>e)for(t in l++,a)Un.call(i,t)||(h--,delete a[t])}else a!==i&&(a=i,l++);return l}}r.$stateful=!0;var i,a,o,s=this,c=1<t.length,l=0,p=u(e,r),d=[],f={},D=!0,h=0;return this.$watch(p,function(){if(D?(D=!1,t(i,i,s)):t(i,o,s),c)if(v(i))if(n(i)){o=Array(i.length);for(var e=0;e<i.length;e++)o[e]=i[e]}else for(e in o={},i)Un.call(i,e)&&(o[e]=i[e]);else o=i})},$digest:function(){var e,n,r,u,l,p,d,f,h,W,g,v=i,S=[];D("$digest"),c.$$checkUrlChange(),this===y&&null!==s&&(c.defer.cancel(s),C()),o=null;do{for(f=!1,h=this,p=0;p<$.length;p++){try{g=$[p],g.scope.$eval(g.expression,g.locals)}catch(x){t(x)}o=null}$.length=0;e:do{if(p=h.$$watchers)for(d=p.length;d--;)try{if(e=p[d])if(l=e.get,(n=l(h))===(r=e.last)||(e.eq?L(n,r):"number"==typeof n&&"number"==typeof r&&isNaN(n)&&isNaN(r))){if(e===o){f=!1;break e}}else f=!0,o=e,e.last=e.eq?w(n,null):n,u=e.fn,u(n,r===m?n:r,h),5>v&&(W=4-v,S[W]||(S[W]=[]),S[W].push({msg:b(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:n,oldVal:r}))}catch(T){t(T)}if(!(p=h.$$watchersCount&&h.$$childHead||h!==this&&h.$$nextSibling))for(;h!==this&&!(p=h.$$nextSibling);)h=h.$parent}while(h=p);if((f||$.length)&&!v--)throw y.$$phase=null,a("infdig",i,S)}while(f||$.length);for(y.$$phase=null;E<A.length;)try{A[E++]()}catch(F){t(F)}A.length=E=0},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===y&&c.$$applicationDestroyed(),h(this,-this.$$watchersCount);for(var t in this.$$listenerCount)g(this,this.$$listenerCount[t],t);e&&e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=d,this.$on=this.$watch=this.$watchGroup=function(){return d},this.$$listeners={},this.$$nextSibling=null,p(this)}},$eval:function(e,t){return u(e)(this,t)},$evalAsync:function(e,t){y.$$phase||$.length||c.defer(function(){$.length&&y.$digest()}),$.push({scope:this,expression:u(e),locals:t})},$$postDigest:function(e){A.push(e)},$apply:function(e){try{D("$apply");try{return this.$eval(e)}finally{y.$$phase=null}}catch(n){t(n)}finally{try{y.$digest()}catch(r){throw t(r),r}}},$applyAsync:function(e){function t(){n.$eval(e)}var n=this;e&&x.push(t),e=u(e),S()},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var r=this;do r.$$listenerCount[e]||(r.$$listenerCount[e]=0),r.$$listenerCount[e]++;while(r=r.$parent);var i=this;return function(){var r=n.indexOf(t);-1!==r&&(n[r]=null,g(i,1,e))}},$emit:function(e,n){var r,i,a,o=[],s=this,u=!1,c={name:e,targetScope:s,stopPropagation:function(){u=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},l=R([c],arguments,1);do{for(r=s.$$listeners[e]||o,c.currentScope=s,i=0,a=r.length;i<a;i++)if(r[i])try{r[i].apply(null,l)}catch(p){t(p)}else r.splice(i,1),i--,a--;if(u)return c.currentScope=null,c;s=s.$parent}while(s);return c.currentScope=null,c},$broadcast:function(e,n){var r=this,i=this,a={name:e,targetScope:this,preventDefault:function(){a.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[e])return a;for(var o,s,u=R([a],arguments,1);r=i;){for(a.currentScope=r,i=r.$$listeners[e]||[],o=0,s=i.length;o<s;o++)if(i[o])try{i[o].apply(null,u)}catch(c){t(c)}else i.splice(o,1),o--,s--;if(!(i=r.$$listenerCount[e]&&r.$$childHead||r!==this&&r.$$nextSibling))for(;r!==this&&!(i=r.$$nextSibling);)r=r.$parent}return a.currentScope=null,a}};var y=new f,$=y.$$asyncQueue=[],A=y.$$postDigestQueue=[],x=y.$$applyAsyncQueue=[],E=0;return y}]}function Yt(){var e=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(t){return g(t)?(e=t,this):e},this.imgSrcSanitizationWhitelist=function(e){return g(e)?(t=e,this):t},this.$get=function(){return function(n,r){var i,a=r?t:e;return i=sn(n).href,""===i||i.match(a)?n:"unsafe:"+i}}}function Zt(e){if("self"===e)return e;if(C(e)){if(-1<e.indexOf("***"))throw Si("iwcard",e);return e=ur(e).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+e+"$")}if($(e))return new RegExp("^"+e.source+"$");throw Si("imatcher")}function Qt(e){var t=[];return g(e)&&r(e,function(e){t.push(Zt(e))}),t}function en(){this.SCE_CONTEXTS=yi;var e=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(e=Qt(t)),e},this.resourceUrlBlacklist=function(e){return arguments.length&&(t=Qt(e)),t},this.$get=["$injector",function(n){function r(e,t){return"self"===e?un(t):!!e.exec(t.href)}function i(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}var a=function(e){throw Si("unsafe")};n.has("$sanitize")&&(a=n.get("$sanitize"));var o=i(),s={};return s[yi.HTML]=i(o),s[yi.CSS]=i(o),s[yi.URL]=i(o),s[yi.JS]=i(o),s[yi.RESOURCE_URL]=i(s[yi.URL]),{trustAs:function(e,t){var n=s.hasOwnProperty(e)?s[e]:null;
if(!n)throw Si("icontext",e,t);if(null===t||W(t)||""===t)return t;if("string"!=typeof t)throw Si("itype",e);return new n(t)},getTrusted:function(n,i){if(null===i||W(i)||""===i)return i;var o=s.hasOwnProperty(n)?s[n]:null;if(o&&i instanceof o)return i.$$unwrapTrustedValue();if(n===yi.RESOURCE_URL){var u,c,o=sn(i.toString()),l=!1;for(u=0,c=e.length;u<c;u++)if(r(e[u],o)){l=!0;break}if(l)for(u=0,c=t.length;u<c;u++)if(r(t[u],o)){l=!1;break}if(l)return i;throw Si("insecurl",i.toString())}if(n===yi.HTML)return a(i);throw Si("unsafe")},valueOf:function(e){return e instanceof o?e.$$unwrapTrustedValue():e}}}]}function tn(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&8>In)throw Si("iequirks");var i=V(yi);i.isEnabled=function(){return e},i.trustAs=n.trustAs,i.getTrusted=n.getTrusted,i.valueOf=n.valueOf,e||(i.trustAs=i.getTrusted=function(e,t){return t},i.valueOf=f),i.parseAs=function(e,n){var r=t(n);return r.literal&&r.constant?r:t(n,function(t){return i.getTrusted(e,t)})};var a=i.parseAs,o=i.getTrusted,s=i.trustAs;return r(yi,function(e,t){var n=Jn(t);i[le("parse_as_"+n)]=function(t){return a(e,t)},i[le("get_trusted_"+n)]=function(t){return o(e,t)},i[le("trust_as_"+n)]=function(t){return s(e,t)}}),i}]}function nn(){this.$get=["$window","$document",function(e,t){var n,r={},i=!(e.chrome&&e.chrome.app&&e.chrome.app.runtime)&&e.history&&e.history.pushState,a=l((/android (\d+)/.exec(Jn((e.navigator||{}).userAgent))||[])[1]),o=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,c=s.body&&s.body.style,p=!1,d=!1;if(c){for(var f in c)if(p=u.exec(f)){n=p[0],n=n[0].toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in c&&"webkit"),p=!!("transition"in c||n+"Transition"in c),d=!!("animation"in c||n+"Animation"in c),!a||p&&d||(p=C(c.webkitTransition),d=C(c.webkitAnimation))}return{history:!(!i||4>a||o),hasEvent:function(e){if("input"===e&&11>=In)return!1;if(W(r[e])){var t=s.createElement("div");r[e]="on"+e in t}return r[e]},csp:cr(),vendorPrefix:n,transitions:p,animations:d,android:a}}]}function rn(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$templateCache","$http","$q","$sce",function(t,n,r,i){function a(o,s){a.totalPendingRequests++,C(o)&&!W(t.get(o))||(o=i.getTrustedResourceUrl(o));var c=n.defaults&&n.defaults.transformResponse;return ar(c)?c=c.filter(function(e){return e!==ot}):c===ot&&(c=null),n.get(o,u({cache:t,transformResponse:c},e))["finally"](function(){a.totalPendingRequests--}).then(function(e){return t.put(o,e.data),e.data},function(e){if(!s)throw bi("tpload",o,e.status,e.statusText);return r.reject(e)})}return a.totalPendingRequests=0,a}]}function an(){this.$get=["$rootScope","$browser","$location",function(e,t,n){return{findBindings:function(e,t,n){e=e.getElementsByClassName("ng-binding");var i=[];return r(e,function(e){var a=rr.element(e).data("$binding");a&&r(a,function(r){n?new RegExp("(^|\\s)"+ur(t)+"(\\s|\\||$)").test(r)&&i.push(e):-1!=r.indexOf(t)&&i.push(e)})}),i},findModels:function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var a=e.querySelectorAll("["+r[i]+"model"+(n?"=":"*=")+'"'+t+'"]');if(a.length)return a}},getLocation:function(){return n.url()},setLocation:function(t){t!==n.url()&&(n.url(t),e.$digest())},whenStable:function(e){t.notifyWhenNoOutstandingRequests(e)}}}]}function on(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,r,i){function a(a,s,u){b(a)||(u=s,s=a,a=d);var c,l=Yn.call(arguments,3),p=g(u)&&!u,f=(p?r:n).defer(),D=f.promise;return c=t.defer(function(){try{f.resolve(a.apply(null,l))}catch(t){f.reject(t),i(t)}finally{delete o[D.$$timeoutId]}p||e.$apply()},s),D.$$timeoutId=c,o[c]=f,D}var o={};return a.cancel=function(e){return!!(e&&e.$$timeoutId in o)&&(o[e.$$timeoutId].reject("canceled"),delete o[e.$$timeoutId],t.defer.cancel(e.$$timeoutId))},a}]}function sn(e){return In&&($i.setAttribute("href",e),e=$i.href),$i.setAttribute("href",e),{href:$i.href,protocol:$i.protocol?$i.protocol.replace(/:$/,""):"",host:$i.host,search:$i.search?$i.search.replace(/^\?/,""):"",hash:$i.hash?$i.hash.replace(/^#/,""):"",hostname:$i.hostname,port:$i.port,pathname:"/"===$i.pathname.charAt(0)?$i.pathname:"/"+$i.pathname}}function un(e){return e=C(e)?sn(e):e,e.protocol===Ai.protocol&&e.host===Ai.host}function cn(){this.$get=D(e)}function ln(e){function t(e){try{return decodeURIComponent(e)}catch(t){return e}}var n=e[0]||{},r={},i="";return function(){var e,a,o,s,u;if(e=n.cookie||"",e!==i)for(i=e,e=i.split("; "),r={},o=0;o<e.length;o++)a=e[o],s=a.indexOf("="),0<s&&(u=t(a.substring(0,s)),W(r[u])&&(r[u]=t(a.substring(s+1))));return r}}function pn(){this.$get=ln}function dn(e){function t(n,i){if(v(n)){var a={};return r(n,function(e,n){a[n]=t(n,e)}),a}return e.factory(n+"Filter",i)}this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+"Filter")}}],t("currency",gn),t("date",Tn),t("filter",fn),t("json",Fn),t("limitTo",kn),t("lowercase",Pi),t("number",vn),t("orderBy",Mn),t("uppercase",wi)}function fn(){return function(e,r,i){if(!n(e)){if(null==e)return e;throw t("filter")("notarray",e)}var a;switch(Wn(r)){case"function":break;case"boolean":case"null":case"number":case"string":a=!0;case"object":r=Dn(r,i,a);break;default:return e}return Array.prototype.filter.call(e,r)}}function Dn(e,t,n){var r=v(e)&&"$"in e;return!0===t?t=L:b(t)||(t=function(e,t){return!W(e)&&(null===e||null===t?e===t:!(v(t)||v(e)&&!h(e))&&(e=Jn(""+e),t=Jn(""+t),-1!==e.indexOf(t)))}),function(i){return r&&!v(i)?hn(i,e.$,t,!1):hn(i,e,t,n)}}function hn(e,t,n,r,i){var a=Wn(e),o=Wn(t);if("string"===o&&"!"===t.charAt(0))return!hn(e,t.substring(1),n,r);if(ar(e))return e.some(function(e){return hn(e,t,n,r)});switch(a){case"object":var s;if(r){for(s in e)if("$"!==s.charAt(0)&&hn(e[s],t,n,!0))return!0;return!i&&hn(e,t,n,!1)}if("object"===o){for(s in t)if(i=t[s],!b(i)&&!W(i)&&(a="$"===s,!hn(a?e:e[s],i,n,a,a)))return!1;return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function Wn(e){return null===e?"null":typeof e}function gn(e){var t=e.NUMBER_FORMATS;return function(e,n,r){return W(n)&&(n=t.CURRENCY_SYM),W(r)&&(r=t.PATTERNS[1].maxFrac),null==e?e:Sn(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,r).replace(/\u00A4/g,n)}}function vn(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:Sn(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function mn(e){var t,n,r,i,a,o=0;for(-1<(n=e.indexOf(Ei))&&(e=e.replace(Ei,"")),0<(r=e.search(/e/i))?(0>n&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):0>n&&(n=e.length),r=0;e.charAt(r)==Ti;r++);if(r==(a=e.length))t=[0],n=1;else{for(a--;e.charAt(a)==Ti;)a--;for(n-=r,t=[],i=0;r<=a;r++,i++)t[i]=+e.charAt(r)}return n>xi&&(t=t.splice(0,xi-1),o=n-1,n=1),{d:t,e:o,i:n}}function Cn(e,t,n,r){var i=e.d,a=i.length-e.i;if(t=W(t)?Math.min(Math.max(n,a),r):+t,n=t+e.i,r=i[n],0<n){i.splice(Math.max(e.i,n));for(var o=n;o<i.length;o++)i[o]=0}else for(a=Math.max(0,a),e.i=1,i.length=Math.max(1,n=t+1),i[0]=0,o=1;o<n;o++)i[o]=0;if(5<=r)if(0>n-1){for(r=0;r>n;r--)i.unshift(0),e.i++;i.unshift(1),e.i++}else i[n-1]++;for(;a<Math.max(0,t);a++)i.push(0);(t=i.reduceRight(function(e,t,n,r){return t+=e,r[n]=t%10,Math.floor(t/10)},0))&&(i.unshift(t),e.i++)}function Sn(e,t,n,r,i){if(!C(e)&&!S(e)||isNaN(e))return"";var a=!isFinite(e),o=!1,s=Math.abs(e)+"",u="";if(a)u="∞";else{for(o=mn(s),Cn(o,i,t.minFrac,t.maxFrac),u=o.d,s=o.i,i=o.e,a=[],o=u.reduce(function(e,t){return e&&!t},!0);0>s;)u.unshift(0),s++;for(0<s?a=u.splice(s,u.length):(a=u,u=[0]),s=[],u.length>=t.lgSize&&s.unshift(u.splice(-t.lgSize,u.length).join(""));u.length>t.gSize;)s.unshift(u.splice(-t.gSize,u.length).join(""));u.length&&s.unshift(u.join("")),u=s.join(n),a.length&&(u+=r+a.join("")),i&&(u+="e+"+i)}return 0>e&&!o?t.negPre+u+t.negSuf:t.posPre+u+t.posSuf}function yn(e,t,n,r){var i="";for((0>e||r&&0>=e)&&(r?e=-e+1:(e=-e,i="-")),e=""+e;e.length<t;)e=Ti+e;return n&&(e=e.substr(e.length-t)),i+e}function bn(e,t,n,r,i){return n=n||0,function(a){return a=a["get"+e](),(0<n||a>-n)&&(a+=n),0===a&&-12==n&&(a=12),yn(a,t,r,i)}}function $n(e,t,n){return function(r,i){var a=r["get"+e](),o=_n((n?"STANDALONE":"")+(t?"SHORT":"")+e);return i[o][a]}}function An(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(4>=t?5:12)-t)}function xn(e){return function(t){var n=An(t.getFullYear());return t=+new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))-+n,t=1+Math.round(t/6048e5),yn(t,e)}}function En(e,t){return 0>=e.getFullYear()?t.ERAS[0]:t.ERAS[1]}function Tn(e){function t(e){var t;if(t=e.match(n)){e=new Date(0);var r=0,i=0,a=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(r=l(t[9]+t[10]),i=l(t[9]+t[11])),a.call(e,l(t[1]),l(t[2])-1,l(t[3])),r=l(t[4]||0)-r,i=l(t[5]||0)-i,a=l(t[6]||0),t=Math.round(1e3*parseFloat("0."+(t[7]||0))),o.call(e,r,i,a,t)}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,i,a){var o,s,u="",c=[];if(i=i||"mediumDate",i=e.DATETIME_FORMATS[i]||i,C(n)&&(n=Mi.test(n)?l(n):t(n)),S(n)&&(n=new Date(n)),!y(n)||!isFinite(n.getTime()))return n;for(;i;)(s=ki.exec(i))?(c=R(c,s,1),i=c.pop()):(c.push(i),i=null);var p=n.getTimezoneOffset();return a&&(p=N(a,p),n=O(n,a,!0)),r(c,function(t){o=Fi[t],u+=o?o(n,e.DATETIME_FORMATS,p):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}}function Fn(){return function(e,t){return W(t)&&(t=2),H(e,t)}}function kn(){return function(e,t,n){return t=1/0===Math.abs(Number(t))?Number(t):l(t),isNaN(t)?e:(S(e)&&(e=e.toString()),ar(e)||C(e)?(n=!n||isNaN(n)?0:l(n),n=0>n?Math.max(0,e.length+n):n,0<=t?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}function Mn(e){function r(t,n){return n=n?-1:1,t.map(function(t){var r=1,i=f;if(b(t))i=t;else if(C(t)&&("+"!=t.charAt(0)&&"-"!=t.charAt(0)||(r="-"==t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(i=e(t),i.constant)))var a=i(),i=function(e){return e[a]};return{get:i,descending:r*n}})}function i(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}return function(e,a,o){if(null==e)return e;if(!n(e))throw t("orderBy")("notarray",e);ar(a)||(a=[a]),0===a.length&&(a=["+"]);var s=r(a,o);return s.push({get:function(){return{}},descending:o?-1:1}),e=Array.prototype.map.call(e,function(e,t){return{value:e,predicateValues:s.map(function(n){var r=n.get(e);return n=typeof r,null===r?(n="string",r="null"):"string"===n?r=r.toLowerCase():"object"===n&&("function"==typeof r.valueOf&&(r=r.valueOf(),i(r))||h(r)&&(r=r.toString(),i(r))||(r=t)),{value:r,type:n}})}}),e.sort(function(e,t){for(var n=0,r=0,i=s.length;r<i;++r){var n=e.predicateValues[r],a=t.predicateValues[r],o=0;if(n.type===a.type?n.value!==a.value&&(o=n.value<a.value?-1:1):o=n.type<a.type?-1:1,n=o*s[r].descending)break}return n}),e=e.map(function(e){return e.value})}}function Pn(e){return b(e)&&(e={link:e}),e.restrict=e.restrict||"AC",D(e)}function wn(e,t,n,i,a){var o=this,s=[];o.$error={},o.$$success={},o.$pending=void 0,o.$name=a(t.name||t.ngForm||"")(n),o.$dirty=!1,o.$pristine=!0,o.$valid=!0,o.$invalid=!1,o.$submitted=!1,o.$$parentForm=Ri,o.$rollbackViewValue=function(){r(s,function(e){e.$rollbackViewValue()})},o.$commitViewValue=function(){r(s,function(e){e.$commitViewValue()})},o.$addControl=function(e){ie(e.$name,"input"),s.push(e),e.$name&&(o[e.$name]=e),e.$$parentForm=o},o.$$renameControl=function(e,t){var n=e.$name;o[n]===e&&delete o[n],o[t]=e,e.$name=t},o.$removeControl=function(e){e.$name&&o[e.$name]===e&&delete o[e.$name],r(o.$pending,function(t,n){o.$setValidity(n,null,e)}),r(o.$error,function(t,n){o.$setValidity(n,null,e)}),r(o.$$success,function(t,n){o.$setValidity(n,null,e)}),P(s,e),e.$$parentForm=Ri},Nn({ctrl:this,$element:e,set:function(e,t,n){var r=e[t];r?-1===r.indexOf(n)&&r.push(n):e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(P(r,n),0===r.length&&delete e[t])},$animate:i}),o.$setDirty=function(){i.removeClass(e,va),i.addClass(e,ma),o.$dirty=!0,o.$pristine=!1,o.$$parentForm.$setDirty()},o.$setPristine=function(){i.setClass(e,va,ma+" ng-submitted"),o.$dirty=!1,o.$pristine=!0,o.$submitted=!1,r(s,function(e){e.$setPristine()})},o.$setUntouched=function(){r(s,function(e){e.$setUntouched()})},o.$setSubmitted=function(){i.addClass(e,"ng-submitted"),o.$submitted=!0,o.$$parentForm.$setSubmitted()}}function Vn(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function Ln(e,t,n,r,i,a){var o=Jn(t[0].type);if(!i.android){var s=!1;t.on("compositionstart",function(){s=!0}),t.on("compositionend",function(){s=!1,c()})}var u,c=function(e){if(u&&(a.defer.cancel(u),u=null),!s){var i=t.val();e=e&&e.type,"password"===o||n.ngTrim&&"false"===n.ngTrim||(i=sr(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,e)}};if(i.hasEvent("input"))t.on("input",c);else{var l=function(e,t,n){u||(u=a.defer(function(){u=null,t&&t.value===n||c(e)}))};t.on("keydown",function(e){var t=e.keyCode;91===t||15<t&&19>t||37<=t&&40>=t||l(e,this,this.value)}),i.hasEvent("paste")&&t.on("paste cut",l)}t.on("change",c),Ji[o]&&r.$$hasNativeValidators&&o===n.type&&t.on("keydown wheel mousedown",function(e){if(!u){var t=this.validity,n=t.badInput,r=t.typeMismatch;u=a.defer(function(){u=null,t.badInput===n&&t.typeMismatch===r||c(e)})}}),r.$render=function(){var e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==e&&t.val(e)}}function Rn(e,t){return function(n,i){var a,o;if(y(n))return n;if(C(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),Xi.test(n))return new Date(n);if(e.lastIndex=0,a=e.exec(n))return a.shift(),o=i?{yyyy:i.getFullYear(),MM:i.getMonth()+1,dd:i.getDate(),HH:i.getHours(),mm:i.getMinutes(),ss:i.getSeconds(),sss:i.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(a,function(e,n){n<t.length&&(o[t[n]]=+e)}),new Date(o.yyyy,o.MM-1,o.dd,o.HH,o.mm,o.ss||0,1e3*o.sss||0)}return NaN}}function Gn(e,t,n,r){return function(i,a,o,s,u,c,l){function p(e){return e&&!(e.getTime&&e.getTime()!==e.getTime())}function d(e){return g(e)&&!y(e)?n(e)||void 0:e}Bn(i,a,o,s),Ln(i,a,o,s,u,c);var f,D=s&&s.$options&&s.$options.timezone;if(s.$$parserName=e,s.$parsers.push(function(e){return s.$isEmpty(e)?null:t.test(e)?(e=n(e,f),D&&(e=O(e,D)),e):void 0}),s.$formatters.push(function(e){if(e&&!y(e))throw Sa("datefmt",e);return p(e)?((f=e)&&D&&(f=O(f,D,!0)),l("date")(e,r,D)):(f=null,"")}),g(o.min)||o.ngMin){var h;s.$validators.min=function(e){return!p(e)||W(h)||n(e)>=h},o.$observe("min",function(e){h=d(e),s.$validate()})}if(g(o.max)||o.ngMax){var v;s.$validators.max=function(e){return!p(e)||W(v)||n(e)<=v},o.$observe("max",function(e){v=d(e),s.$validate()})}}}function Bn(e,t,n,r){(r.$$hasNativeValidators=v(t[0].validity))&&r.$parsers.push(function(e){var n=t.prop("validity")||{};return n.badInput||n.typeMismatch?void 0:e})}function Hn(e,t,n,r,i){if(g(r)){if(e=e(r),!e.constant)throw Sa("constexpr",n,r);return e(t)}return i}function Xn(e,t){return e="ngClass"+e,["$animate",function(n){function i(e,t){var n=[],r=0;e:for(;r<e.length;r++){for(var i=e[r],a=0;a<t.length;a++)if(i==t[a])continue e;n.push(i)}return n}function a(e){var t=[];return ar(e)?(r(e,function(e){t=t.concat(a(e))}),t):C(e)?e.split(" "):v(e)?(r(e,function(e,n){e&&(t=t.concat(n.split(" ")))}),t):e}return{restrict:"AC",link:function(o,s,u){function c(e){e=l(e,1),u.$addClass(e)}function l(e,t){var n=s.data("$classCounts")||se(),i=[];return r(e,function(e){(0<t||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(0<t)&&i.push(e))}),s.data("$classCounts",n),i.join(" ")}function p(e,t){var r=i(t,e),a=i(e,t),r=l(r,1),a=l(a,-1);r&&r.length&&n.addClass(s,r),a&&a.length&&n.removeClass(s,a)}function d(e){if(!0===t||(1&o.$index)===t){var n=a(e||[]);if(f){if(!L(e,f)){var r=a(f);p(r,n)}}else c(n)}f=ar(e)?e.map(function(e){return V(e)}):V(e)}var f;o.$watch(u[e],d,!0),u.$observe("class",function(t){d(o.$eval(u[e]))}),"ngClass"!==e&&o.$watch("$index",function(n,r){var i=1&n;if(i!==(1&r)){var s=a(o.$eval(u[e]));i===t?c(s):(i=l(s,-1),u.$removeClass(i))}})}}}]}function Nn(e){function t(e,t){t&&!a[e]?(u.addClass(i,e),a[e]=!0):!t&&a[e]&&(u.removeClass(i,e),a[e]=!1)}function n(e,n){e=e?"-"+ee(e,"-"):"",t(Wa+e,!0===n),t(ga+e,!1===n)}var r=e.ctrl,i=e.$element,a={},o=e.set,s=e.unset,u=e.$animate;a[ga]=!(a[Wa]=i.hasClass(Wa)),r.$setValidity=function(e,i,a){W(i)?(r.$pending||(r.$pending={}),o(r.$pending,e,a)):(r.$pending&&s(r.$pending,e,a),On(r.$pending)&&(r.$pending=void 0)),E(i)?i?(s(r.$error,e,a),o(r.$$success,e,a)):(o(r.$error,e,a),s(r.$$success,e,a)):(s(r.$error,e,a),s(r.$$success,e,a)),r.$pending?(t(Ca,!0),r.$valid=r.$invalid=void 0,n("",null)):(t(Ca,!1),r.$valid=On(r.$error),r.$invalid=!r.$valid,n("",r.$valid)),i=r.$pending&&r.$pending[e]?void 0:!r.$error[e]&&(!!r.$$success[e]||null),n(e,i),r.$$parentForm.$setValidity(e,i,r)}}function On(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var In,jn,zn,qn,Kn=/^\/(.+)\/([a-z]*)$/,Un=Object.prototype.hasOwnProperty,Jn=function(e){return C(e)?e.toLowerCase():e},_n=function(e){return C(e)?e.toUpperCase():e},Yn=[].slice,Zn=[].splice,Qn=[].push,er=Object.prototype.toString,tr=Object.getPrototypeOf,nr=t("ng"),rr=e.angular||(e.angular={}),ir=0;In=e.document.documentMode,d.$inject=[],f.$inject=[];var ar=Array.isArray,or=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,sr=function(e){return C(e)?e.trim():e},ur=function(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},cr=function(){if(!g(cr.rules)){var t=e.document.querySelector("[ng-csp]")||e.document.querySelector("[data-ng-csp]");if(t){var n=t.getAttribute("ng-csp")||t.getAttribute("data-ng-csp");cr.rules={noUnsafeEval:!n||-1!==n.indexOf("no-unsafe-eval"),noInlineStyle:!n||-1!==n.indexOf("no-inline-style")}}else{t=cr;try{new Function(""),n=!1}catch(r){n=!0}t.rules={noUnsafeEval:n,noInlineStyle:!1}}}return cr.rules},lr=function(){if(g(lr.name_))return lr.name_;var t,n,r,i,a=dr.length;for(n=0;n<a;++n)if(r=dr[n],t=e.document.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return lr.name_=i},pr=/:/g,dr=["ng-","data-ng-","ng:","x-ng-"],fr=/[A-Z]/g,Dr=!1,hr=3,Wr={full:"1.5.6",major:1,minor:5,dot:6,codeName:"arrow-stringification"};De.expando="ng339";var gr=De.cache={},vr=1;De._data=function(e){return this.cache[e[this.expando]]||{}};var mr=/([\:\-\_]+(.))/g,Cr=/^moz([A-Z])/,Sr={mouseleave:"mouseout",mouseenter:"mouseover"},yr=t("jqLite"),br=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,$r=/<|&#?\w+;/,Ar=/<([\w:-]+)/,xr=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Er={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Er.optgroup=Er.option,Er.tbody=Er.tfoot=Er.colgroup=Er.caption=Er.thead,Er.th=Er.td;var Tr=e.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))},Fr=De.prototype={ready:function(t){function n(){r||(r=!0,t())}var r=!1;"complete"===e.document.readyState?e.setTimeout(n):(this.on("DOMContentLoaded",n),De(e).on("load",n))},toString:function(){var e=[];return r(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return jn(0<=e?this[e]:this[this.length+e])},length:0,push:Qn,sort:[].sort,splice:[].splice},kr={};r("multiple selected checked disabled readOnly required open".split(" "),function(e){kr[Jn(e)]=e});var Mr={};r("input select option textarea button form details".split(" "),function(e){Mr[e]=!0});var Pr={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};r({data:Ce,removeData:ve,hasData:function(e){for(var t in gr[e.ng339])return!0;return!1},cleanData:function(e){for(var t=0,n=e.length;t<n;t++)ve(e[t])}},function(e,t){De[t]=e}),r({data:Ce,inheritedData:xe,scope:function(e){return jn.data(e,"$scope")||xe(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return jn.data(e,"$isolateScope")||jn.data(e,"$isolateScopeNoTemplate")},controller:Ae,injector:function(e){return xe(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:Se,css:function(e,t,n){return t=le(t),g(n)?void(e.style[t]=n):e.style[t]},attr:function(e,t,n){var r=e.nodeType;if(r!==hr&&2!==r&&8!==r)if(r=Jn(t),kr[r]){if(!g(n))return e[t]||(e.attributes.getNamedItem(t)||d).specified?r:void 0;n?(e[t]=!0,e.setAttribute(t,r)):(e[t]=!1,e.removeAttribute(r))}else if(g(n))e.setAttribute(t,n);else if(e.getAttribute)return e=e.getAttribute(t,2),null===e?void 0:e},prop:function(e,t,n){return g(n)?void(e[t]=n):e[t]},text:function(){function e(e,t){if(W(t)){var n=e.nodeType;return 1===n||n===hr?e.textContent:""}e.textContent=t}return e.$dv="",e}(),val:function(e,t){if(W(t)){if(e.multiple&&"select"===M(e)){var n=[];return r(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){return W(t)?e.innerHTML:(We(e,!0),void(e.innerHTML=t))},empty:Ee},function(e,t){De.prototype[t]=function(t,n){var r,i,a=this.length;if(e!==Ee&&W(2==e.length&&e!==Se&&e!==Ae?t:n)){if(v(t)){for(r=0;r<a;r++)if(e===Ce)e(this[r],t);else for(i in t)e(this[r],i,t[i]);return this}for(r=e.$dv,a=W(r)?Math.min(a,1):a,i=0;i<a;i++){var o=e(this[i],t,n);r=r?r+o:o}return r}for(r=0;r<a;r++)e(this[r],t,n);return this}}),r({removeData:ve,on:function(e,t,n,r){if(g(r))throw yr("onargs");if(pe(e)){r=me(e,!0);var i=r.events,a=r.handle;a||(a=r.handle=Me(e,i)),r=0<=t.indexOf(" ")?t.split(" "):[t];for(var o=r.length,s=function(t,r,o){var s=i[t];s||(s=i[t]=[],s.specialHandlerWrapper=r,"$destroy"===t||o||e.addEventListener(t,a,!1)),s.push(n)};o--;)t=r[o],Sr[t]?(s(Sr[t],we),s(t,void 0,!0)):s(t)}},off:ge,one:function(e,t,n){e=jn(e),e.on(t,function r(){e.off(t,n),e.off(t,r)}),e.on(t,n)},replaceWith:function(e,t){var n,i=e.parentNode;We(e),r(new De(t),function(t){n?i.insertBefore(t,n.nextSibling):i.replaceChild(t,e),n=t})},children:function(e){var t=[];return r(e.childNodes,function(e){1===e.nodeType&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(1===n||11===n){t=new De(t);for(var n=0,r=t.length;n<r;n++)e.appendChild(t[n])}},prepend:function(e,t){if(1===e.nodeType){var n=e.firstChild;r(new De(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){fe(e,jn(t).eq(0).clone()[0])},remove:Te,detach:function(e){Te(e,!0)},after:function(e,t){var n=e,r=e.parentNode;t=new De(t);for(var i=0,a=t.length;i<a;i++){var o=t[i];r.insertBefore(o,n.nextSibling),n=o}},addClass:be,removeClass:ye,toggleClass:function(e,t,n){t&&r(t.split(" "),function(t){var r=n;W(r)&&(r=!Se(e,t)),(r?be:ye)(e,t)})},parent:function(e){return(e=e.parentNode)&&11!==e.nodeType?e:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:he,triggerHandler:function(e,t,n){var i,a,o=t.type||t,s=me(e);(s=(s=s&&s.events)&&s[o])&&(i={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:d,type:o,target:e},t.type&&(i=u(i,t)),t=V(s),a=n?[i].concat(n):[i],r(t,function(t){i.isImmediatePropagationStopped()||t.apply(e,a)}))}},function(e,t){De.prototype[t]=function(t,n,r){for(var i,a=0,o=this.length;a<o;a++)W(i)?(i=e(this[a],t,n,r),g(i)&&(i=jn(i))):$e(i,e(this[a],t,n,r));return g(i)?i:this},De.prototype.bind=De.prototype.on,De.prototype.unbind=De.prototype.off}),Re.prototype={put:function(e,t){this[Le(e,this.nextUid)]=t},get:function(e){return this[Le(e,this.nextUid)]},remove:function(e){var t=this[e=Le(e,this.nextUid)];return delete this[e],t}};var wr=[function(){this.$get=[function(){return Re}]}],Vr=/^([^\(]+?)=>/,Lr=/^[^\(]*\(\s*([^\)]*)\)/m,Rr=/,/,Gr=/^\s*(_?)(\S+?)\1\s*$/,Br=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Hr=t("$injector");He.$$annotate=function(e,t,n){var i;if("function"==typeof e){if(!(i=e.$inject)){if(i=[],e.length){if(t)throw C(n)&&n||(n=e.name||Be(e)),Hr("strictdi",n);t=Ge(e),r(t[1].split(Rr),function(e){e.replace(Gr,function(e,t,n){i.push(n)})})}e.$inject=i}}else ar(e)?(t=e.length-1,re(e[t],"fn"),i=e.slice(0,t)):re(e,"fn",!0);return i};var Xr=t("$animate"),Nr=function(){this.$get=d},Or=function(){var e=new Re,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,i){function a(e,t,n){var i=!1;return t&&(t=C(t)?t.split(" "):ar(t)?t:[],r(t,function(t){t&&(i=!0,e[t]=n)})),i}function o(){r(t,function(t){var n=e.get(t);if(n){var i=Oe(t.attr("class")),a="",o="";r(n,function(e,t){e!==!!i[t]&&(e?a+=(a.length?" ":"")+t:o+=(o.length?" ":"")+t)}),r(t,function(e){a&&be(e,a),o&&ye(e,o)}),e.remove(t)}}),t.length=0}return{enabled:d,on:d,off:d,pin:d,push:function(r,s,u,c){return c&&c(),u=u||{},u.from&&r.css(u.from),u.to&&r.css(u.to),(u.addClass||u.removeClass)&&(s=u.addClass,c=u.removeClass,u=e.get(r)||{},s=a(u,s,!0),c=a(u,c,!1),(s||c)&&(e.put(r,u),t.push(r),1===t.length&&i.$$postDigest(o))),r=new n,r.complete(),r}}}]},Ir=["$provide",function(e){var t=this;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Xr("notcsel",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,r)},this.classNameFilter=function(e){if(1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null)&&/(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString()))throw Xr("nongcls","ng-animate");return this.$$classNameFilter},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var r;e:{for(r=0;r<n.length;r++){var i=n[r];if(1===i.nodeType){r=i;break e}}r=void 0}!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.end&&e.end()},enter:function(n,r,i,a){return r=r&&jn(r),i=i&&jn(i),r=r||i.parent(),t(n,r,i),e.push(n,"enter",Ie(a))},move:function(n,r,i,a){return r=r&&jn(r),i=i&&jn(i),r=r||i.parent(),t(n,r,i),e.push(n,"move",Ie(a))},leave:function(t,n){return e.push(t,"leave",Ie(n),function(){t.remove()})},addClass:function(t,n,r){return r=Ie(r),r.addClass=Ne(r.addclass,n),e.push(t,"addClass",r)},removeClass:function(t,n,r){return r=Ie(r),r.removeClass=Ne(r.removeClass,n),e.push(t,"removeClass",r)},setClass:function(t,n,r,i){return i=Ie(i),i.addClass=Ne(i.addClass,n),i.removeClass=Ne(i.removeClass,r),e.push(t,"setClass",i)},animate:function(t,n,r,i,a){return a=Ie(a),a.from=a.from?u(a.from,n):n,a.to=a.to?u(a.to,r):r,a.tempClasses=Ne(a.tempClasses,i||"ng-inline-animate"),e.push(t,"animate",a)}}}]}],jr=function(){this.$get=["$$rAF",function(e){function t(t){n.push(t),1<n.length||e(function(){for(var e=0;e<n.length;e++)n[e]();n=[]})}var n=[];return function(){var e=!1;return t(function(){e=!0}),function(n){e?n():t(n)}}}]},zr=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$document","$timeout",function(e,t,n,i,a){function o(e){this.setHost(e);var t=n();this._doneCallbacks=[],this._tick=function(e){var n=i[0];n&&n.hidden?a(e,0,!1):t(e)},this._state=0}return o.chain=function(e,t){function n(){r===e.length?t(!0):e[r](function(e){!1===e?t(!1):(r++,n())})}var r=0;n()},o.all=function(e,t){function n(n){a=a&&n,++i===e.length&&t(a)}var i=0,a=!0;r(e,function(e){e.done(n)})},o.prototype={setHost:function(e){this.host=e||{}},done:function(e){2===this._state?e():this._doneCallbacks.push(e)},progress:d,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){!1===t?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;0===t._state&&(t._state=1,t._tick(function(){t._resolve(e)}))},_resolve:function(e){2!==this._state&&(r(this._doneCallbacks,function(t){t(e)}),this._doneCallbacks.length=0,this._state=2)}},o}]},qr=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(e,t,n){return function(t,r){function i(){return e(function(){a.addClass&&(t.addClass(a.addClass),a.addClass=null),a.removeClass&&(t.removeClass(a.removeClass),a.removeClass=null),a.to&&(t.css(a.to),a.to=null),o||s.complete(),o=!0}),s}var a=r||{};a.$$prepared||(a=w(a)),a.cleanupStyles&&(a.from=a.to=null),a.from&&(t.css(a.from),a.from=null);var o,s=new n;return{start:i,end:i}}}]},Kr=t("$compile"),Ur=new function(){};Ue.$inject=["$provide","$$sanitizeUriProvider"],Je.prototype.isFirstChange=function(){return this.previousValue===Ur};var Jr=/^((?:x|data)[\:\-_])/i,_r=t("$controller"),Yr=/^(\S+)(\s+as\s+([\w$]+))?$/,Zr=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof jn&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},Qr="application/json",ei={"Content-Type":Qr+";charset=utf-8"},ti=/^\[|^\{(?!\{)/,ni={"[":/]$/,"{":/}$/},ri=/^\)\]\}',?\n/,ii=t("$http"),ai=function(e){return function(){throw ii("legacy",e)}},oi=rr.$interpolateMinErr=t("$interpolate");oi.throwNoconcat=function(e){throw oi("noconcat",e)},oi.interr=function(e,t){return oi("interr",e,t.toString())};var si=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ui={http:80,https:443,ftp:21},ci=t("$location"),li={$$html5:!1,$$replace:!1,absUrl:At("$$absUrl"),url:function(e){if(W(e))return this.$$url;var t=si.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:At("$$protocol"),host:At("$$host"),port:At("$$port"),path:xt("$$path",function(e){return e=null!==e?e.toString():"","/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(C(e)||S(e))e=e.toString(),this.$$search=z(e);else{if(!v(e))throw ci("isrcharg");e=w(e,{}),r(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:W(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:xt("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};r([$t,bt,yt],function(e){e.prototype=Object.create(li),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==yt||!this.$$html5)throw ci("nostate");return this.$$state=W(t)?null:t,this}});var pi=t("$parse"),di=Function.prototype.call,fi=Function.prototype.apply,Di=Function.prototype.bind,hi=se();r("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){hi[e]=!0});var Wi={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},gi=function(e){this.options=e};gi.prototype={constructor:gi,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;)if(e=this.text.charAt(this.index),'"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{var t=e+this.peek(),n=t+this.peek(2),r=hi[t],i=hi[n];hi[e]||r||i?(e=i?n:r?t:e,this.tokens.push({index:this.index,text:e,operator:!0}),this.index+=e.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){return e=e||1,this.index+e<this.text.length&&this.text.charAt(this.index+e)},isNumber:function(e){return"0"<=e&&"9">=e&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\x0B"===e||" "===e;
},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&"z">=e||"A"<=e&&"Z">=e||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),r=t.charCodeAt(0);return 55296<=n&&56319>=n&&56320<=r&&57343>=r?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){throw n=n||this.index,t=g(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n,pi("lexerr",e,t,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=Jn(this.text.charAt(this.index));if("."==n||this.isNumber(n))e+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))e+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var t=this.peekMultichar();if(!this.isIdentifierContinue(t))break;this.index+=t.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",r=e,i=!1;this.index<this.text.length;){var a=this.text.charAt(this.index),r=r+a;if(i)"u"===a?(i=this.text.substring(this.index+1,this.index+5),i.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+i+"]"),this.index+=4,n+=String.fromCharCode(parseInt(i,16))):n+=Wi[a]||a,i=!1;else if("\\"===a)i=!0;else{if(a===e)return this.index++,void this.tokens.push({index:t,text:r,constant:!0,value:n});n+=a}this.index++}this.throwError("Unterminated quote",t)}};var vi=function(e,t){this.lexer=e,this.options=t};vi.Program="Program",vi.ExpressionStatement="ExpressionStatement",vi.AssignmentExpression="AssignmentExpression",vi.ConditionalExpression="ConditionalExpression",vi.LogicalExpression="LogicalExpression",vi.BinaryExpression="BinaryExpression",vi.UnaryExpression="UnaryExpression",vi.CallExpression="CallExpression",vi.MemberExpression="MemberExpression",vi.Identifier="Identifier",vi.Literal="Literal",vi.ArrayExpression="ArrayExpression",vi.Property="Property",vi.ObjectExpression="ObjectExpression",vi.ThisExpression="ThisExpression",vi.LocalsExpression="LocalsExpression",vi.NGValueParameter="NGValueParameter",vi.prototype={ast:function(e){return this.text=e,this.tokens=this.lexer.lex(e),e=this.program(),0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),e},program:function(){for(var e=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:vi.Program,body:e}},expressionStatement:function(){return{type:vi.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();return this.expect("=")&&(e={type:vi.AssignmentExpression,left:e,right:this.assignment(),operator:"="}),e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:vi.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:vi.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:vi.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:vi.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:vi.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:vi.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:vi.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:vi.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e;this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?e=w(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?e={type:vi.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());for(var t;t=this.expect("(","[",".");)"("===t.text?(e={type:vi.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:vi.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:vi.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){e=[e];for(var t={type:vi.CallExpression,callee:this.identifier(),arguments:e,filter:!0};this.expect(":");)e.push(this.expression());return t},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)do e.push(this.expression());while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:vi.Identifier,name:e.text}},constant:function(){return{type:vi.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:vi.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:vi.Property,kind:"init"},this.peek().constant?(e.key=this.constant(),e.computed=!1,this.consume(":"),e.value=this.expression()):this.peek().identifier?(e.key=this.identifier(),e.computed=!1,this.peek(":")?(this.consume(":"),e.value=this.expression()):e.value=e.key):this.peek("[")?(this.consume("["),e.key=this.expression(),this.consume("]"),e.computed=!0,this.consume(":"),e.value=this.expression()):this.throwError("invalid key",this.peek()),t.push(e)}while(this.expect(","));return this.consume("}"),{type:vi.ObjectExpression,properties:t}},throwError:function(e,t){throw pi("syntax",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw pi("ueoe",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw pi("ueoe",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){e=this.tokens[e];var a=e.text;if(a===t||a===n||a===r||a===i||!(t||n||r||i))return e}return!1},expect:function(e,t,n,r){return!!(e=this.peek(e,t,n,r))&&(this.tokens.shift(),e)},selfReferential:{"this":{type:vi.ThisExpression},$locals:{type:vi.LocalsExpression}}},Nt.prototype={compile:function(e,t){var n=this,i=this.astBuilder.ast(e);this.state={nextId:0,filters:{},expensiveChecks:t,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Rt(i,n.$filter);var a,o="";return this.stage="assign",(a=Ht(i))&&(this.state.computing="assign",o=this.nextId(),this.recurse(a,o),this.return_(o),o="fn.assign="+this.generateFunction("assign","s,v,l")),a=Gt(i.body),n.stage="inputs",r(a,function(e,t){var r="fn"+t;n.state[r]={vars:[],body:[],own:{}},n.state.computing=r;var i=n.nextId();n.recurse(e,i),n.return_(i),n.state.inputs.push(r),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(i),o='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+o+this.watchFns()+"return fn;",o=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",o)(this.$filter,Ft,Mt,Pt,kt,wt,Vt,Lt,e),this.state=this.stage=void 0,o.literal=Xt(i),o.constant=i.constant,o},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return r(t,function(t){e.push("var "+t+"="+n.generateFunction(t,"s"))}),t.length&&e.push("fn.inputs=["+t.join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return r(this.state.filters,function(n,r){e.push(n+"=$filter("+t.escape(r)+")")}),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,n,i,a,o){var s,u,c,l,p,f=this;if(i=i||d,!o&&g(e.watchId))t=t||this.nextId(),this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,n,i,a,!0));else switch(e.type){case vi.Program:r(e.body,function(t,n){f.recurse(t.expression,void 0,void 0,function(e){u=e}),n!==e.body.length-1?f.current().body.push(u,";"):f.return_(u)});break;case vi.Literal:l=this.escape(e.value),this.assign(t,l),i(l);break;case vi.UnaryExpression:this.recurse(e.argument,void 0,void 0,function(e){u=e}),l=e.operator+"("+this.ifDefined(u,0)+")",this.assign(t,l),i(l);break;case vi.BinaryExpression:this.recurse(e.left,void 0,void 0,function(e){s=e}),this.recurse(e.right,void 0,void 0,function(e){u=e}),l="+"===e.operator?this.plus(s,u):"-"===e.operator?this.ifDefined(s,0)+e.operator+this.ifDefined(u,0):"("+s+")"+e.operator+"("+u+")",this.assign(t,l),i(l);break;case vi.LogicalExpression:t=t||this.nextId(),f.recurse(e.left,t),f.if_("&&"===e.operator?t:f.not(t),f.lazyRecurse(e.right,t)),i(t);break;case vi.ConditionalExpression:t=t||this.nextId(),f.recurse(e.test,t),f.if_(t,f.lazyRecurse(e.alternate,t),f.lazyRecurse(e.consequent,t)),i(t);break;case vi.Identifier:t=t||this.nextId(),n&&(n.context="inputs"===f.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),n.computed=!1,n.name=e.name),Ft(e.name),f.if_("inputs"===f.stage||f.not(f.getHasOwnProperty("l",e.name)),function(){f.if_("inputs"===f.stage||"s",function(){a&&1!==a&&f.if_(f.not(f.nonComputedMember("s",e.name)),f.lazyAssign(f.nonComputedMember("s",e.name),"{}")),f.assign(t,f.nonComputedMember("s",e.name))})},t&&f.lazyAssign(t,f.nonComputedMember("l",e.name))),(f.state.expensiveChecks||It(e.name))&&f.addEnsureSafeObject(t),i(t);break;case vi.MemberExpression:s=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),f.recurse(e.object,s,void 0,function(){f.if_(f.notNull(s),function(){a&&1!==a&&f.addEnsureSafeAssignContext(s),e.computed?(u=f.nextId(),f.recurse(e.property,u),f.getStringValue(u),f.addEnsureSafeMemberName(u),a&&1!==a&&f.if_(f.not(f.computedMember(s,u)),f.lazyAssign(f.computedMember(s,u),"{}")),l=f.ensureSafeObject(f.computedMember(s,u)),f.assign(t,l),n&&(n.computed=!0,n.name=u)):(Ft(e.property.name),a&&1!==a&&f.if_(f.not(f.nonComputedMember(s,e.property.name)),f.lazyAssign(f.nonComputedMember(s,e.property.name),"{}")),l=f.nonComputedMember(s,e.property.name),(f.state.expensiveChecks||It(e.property.name))&&(l=f.ensureSafeObject(l)),f.assign(t,l),n&&(n.computed=!1,n.name=e.property.name))},function(){f.assign(t,"undefined")}),i(t)},!!a);break;case vi.CallExpression:t=t||this.nextId(),e.filter?(u=f.filter(e.callee.name),c=[],r(e.arguments,function(e){var t=f.nextId();f.recurse(e,t),c.push(t)}),l=u+"("+c.join(",")+")",f.assign(t,l),i(t)):(u=f.nextId(),s={},c=[],f.recurse(e.callee,u,s,function(){f.if_(f.notNull(u),function(){f.addEnsureSafeFunction(u),r(e.arguments,function(e){f.recurse(e,f.nextId(),void 0,function(e){c.push(f.ensureSafeObject(e))})}),s.name?(f.state.expensiveChecks||f.addEnsureSafeObject(s.context),l=f.member(s.context,s.name,s.computed)+"("+c.join(",")+")"):l=u+"("+c.join(",")+")",l=f.ensureSafeObject(l),f.assign(t,l)},function(){f.assign(t,"undefined")}),i(t)}));break;case vi.AssignmentExpression:if(u=this.nextId(),s={},!Bt(e.left))throw pi("lval");this.recurse(e.left,void 0,s,function(){f.if_(f.notNull(s.context),function(){f.recurse(e.right,u),f.addEnsureSafeObject(f.member(s.context,s.name,s.computed)),f.addEnsureSafeAssignContext(s.context),l=f.member(s.context,s.name,s.computed)+e.operator+u,f.assign(t,l),i(t||l)})},1);break;case vi.ArrayExpression:c=[],r(e.elements,function(e){f.recurse(e,f.nextId(),void 0,function(e){c.push(e)})}),l="["+c.join(",")+"]",this.assign(t,l),i(l);break;case vi.ObjectExpression:c=[],p=!1,r(e.properties,function(e){e.computed&&(p=!0)}),p?(t=t||this.nextId(),this.assign(t,"{}"),r(e.properties,function(e){e.computed?(s=f.nextId(),f.recurse(e.key,s)):s=e.key.type===vi.Identifier?e.key.name:""+e.key.value,u=f.nextId(),f.recurse(e.value,u),f.assign(f.member(t,s,e.computed),u)})):(r(e.properties,function(t){f.recurse(t.value,e.constant?void 0:f.nextId(),void 0,function(e){c.push(f.escape(t.key.type===vi.Identifier?t.key.name:""+t.key.value)+":"+e)})}),l="{"+c.join(",")+"}",this.assign(t,l)),i(t||l);break;case vi.ThisExpression:this.assign(t,"s"),i("s");break;case vi.LocalsExpression:this.assign(t,"l"),i("l");break;case vi.NGValueParameter:this.assign(t,"v"),i("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){var n=/[^$_a-zA-Z0-9]/g;return/[$_a-zA-Z][$_a-zA-Z0-9]*/.test(t)?e+"."+t:e+'["'+t.replace(n,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},addEnsureSafeFunction:function(e){this.current().body.push(this.ensureSafeFunction(e),";")},addEnsureSafeAssignContext:function(e){this.current().body.push(this.ensureSafeAssignContext(e),";")},ensureSafeObject:function(e){return"ensureSafeObject("+e+",text)"},ensureSafeMemberName:function(e){return"ensureSafeMemberName("+e+",text)"},ensureSafeFunction:function(e){return"ensureSafeFunction("+e+",text)"},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},ensureSafeAssignContext:function(e){return"ensureSafeAssignContext("+e+",text)"},lazyRecurse:function(e,t,n,r,i,a){var o=this;return function(){o.recurse(e,t,n,r,i,a)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(C(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(S(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if("undefined"==typeof e)return"undefined";throw pi("esc")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},Ot.prototype={compile:function(e,t){var n=this,i=this.astBuilder.ast(e);this.expression=e,this.expensiveChecks=t,Rt(i,n.$filter);var a,o;(a=Ht(i))&&(o=this.recurse(a)),a=Gt(i.body);var s;a&&(s=[],r(a,function(e,t){var r=n.recurse(e);e.input=r,s.push(r),e.watchId=t}));var u=[];return r(i.body,function(e){u.push(n.recurse(e.expression))}),a=0===i.body.length?d:1===i.body.length?u[0]:function(e,t){var n;return r(u,function(r){n=r(e,t)}),n},o&&(a.assign=function(e,t,n){return o(e,n,t)}),s&&(a.inputs=s),a.literal=Xt(i),a.constant=i.constant,a},recurse:function(e,t,n){var i,a,o,s=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case vi.Literal:return this.value(e.value,t);case vi.UnaryExpression:return a=this.recurse(e.argument),this["unary"+e.operator](a,t);case vi.BinaryExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case vi.LogicalExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case vi.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case vi.Identifier:return Ft(e.name,s.expression),s.identifier(e.name,s.expensiveChecks||It(e.name),t,n,s.expression);case vi.MemberExpression:return i=this.recurse(e.object,!1,!!n),e.computed||(Ft(e.property.name,s.expression),a=e.property.name),e.computed&&(a=this.recurse(e.property)),e.computed?this.computedMember(i,a,t,n,s.expression):this.nonComputedMember(i,a,s.expensiveChecks,t,n,s.expression);case vi.CallExpression:return o=[],r(e.arguments,function(e){o.push(s.recurse(e))}),e.filter&&(a=this.$filter(e.callee.name)),e.filter||(a=this.recurse(e.callee,!0)),e.filter?function(e,n,r,i){for(var s=[],u=0;u<o.length;++u)s.push(o[u](e,n,r,i));return e=a.apply(void 0,s,i),t?{context:void 0,name:void 0,value:e}:e}:function(e,n,r,i){var u,c=a(e,n,r,i);if(null!=c.value){Mt(c.context,s.expression),Pt(c.value,s.expression),u=[];for(var l=0;l<o.length;++l)u.push(Mt(o[l](e,n,r,i),s.expression));u=Mt(c.value.apply(c.context,u),s.expression)}return t?{value:u}:u};case vi.AssignmentExpression:return i=this.recurse(e.left,!0,1),a=this.recurse(e.right),function(e,n,r,o){var u=i(e,n,r,o);return e=a(e,n,r,o),Mt(u.value,s.expression),wt(u.context),u.context[u.name]=e,t?{value:e}:e};case vi.ArrayExpression:return o=[],r(e.elements,function(e){o.push(s.recurse(e))}),function(e,n,r,i){for(var a=[],s=0;s<o.length;++s)a.push(o[s](e,n,r,i));return t?{value:a}:a};case vi.ObjectExpression:return o=[],r(e.properties,function(e){e.computed?o.push({key:s.recurse(e.key),computed:!0,value:s.recurse(e.value)}):o.push({key:e.key.type===vi.Identifier?e.key.name:""+e.key.value,computed:!1,value:s.recurse(e.value)})}),function(e,n,r,i){for(var a={},s=0;s<o.length;++s)o[s].computed?a[o[s].key(e,n,r,i)]=o[s].value(e,n,r,i):a[o[s].key]=o[s].value(e,n,r,i);return t?{value:a}:a};case vi.ThisExpression:return function(e){return t?{value:e}:e};case vi.LocalsExpression:return function(e,n){return t?{value:n}:n};case vi.NGValueParameter:return function(e,n,r){return t?{value:r}:r}}},"unary+":function(e,t){return function(n,r,i,a){return n=e(n,r,i,a),n=g(n)?+n:0,t?{value:n}:n}},"unary-":function(e,t){return function(n,r,i,a){return n=e(n,r,i,a),n=g(n)?-n:0,t?{value:n}:n}},"unary!":function(e,t){return function(n,r,i,a){return n=!e(n,r,i,a),t?{value:n}:n}},"binary+":function(e,t,n){return function(r,i,a,o){var s=e(r,i,a,o);return r=t(r,i,a,o),s=Lt(s,r),n?{value:s}:s}},"binary-":function(e,t,n){return function(r,i,a,o){var s=e(r,i,a,o);return r=t(r,i,a,o),s=(g(s)?s:0)-(g(r)?r:0),n?{value:s}:s}},"binary*":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)*t(r,i,a,o),n?{value:r}:r}},"binary/":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)/t(r,i,a,o),n?{value:r}:r}},"binary%":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)%t(r,i,a,o),n?{value:r}:r}},"binary===":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)===t(r,i,a,o),n?{value:r}:r}},"binary!==":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)!==t(r,i,a,o),n?{value:r}:r}},"binary==":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)==t(r,i,a,o),n?{value:r}:r}},"binary!=":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)!=t(r,i,a,o),n?{value:r}:r}},"binary<":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)<t(r,i,a,o),n?{value:r}:r}},"binary>":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)>t(r,i,a,o),n?{value:r}:r}},"binary<=":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)<=t(r,i,a,o),n?{value:r}:r}},"binary>=":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)>=t(r,i,a,o),n?{value:r}:r}},"binary&&":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)&&t(r,i,a,o),n?{value:r}:r}},"binary||":function(e,t,n){return function(r,i,a,o){return r=e(r,i,a,o)||t(r,i,a,o),n?{value:r}:r}},"ternary?:":function(e,t,n,r){return function(i,a,o,s){return i=e(i,a,o,s)?t(i,a,o,s):n(i,a,o,s),r?{value:i}:i}},value:function(e,t){return function(){return t?{context:void 0,name:void 0,value:e}:e}},identifier:function(e,t,n,r,i){return function(a,o,s,u){return a=o&&e in o?o:a,r&&1!==r&&a&&!a[e]&&(a[e]={}),o=a?a[e]:void 0,t&&Mt(o,i),n?{context:a,name:e,value:o}:o}},computedMember:function(e,t,n,r,i){return function(a,o,s,u){var c,l,p=e(a,o,s,u);return null!=p&&(c=t(a,o,s,u),c+="",Ft(c,i),r&&1!==r&&(wt(p),p&&!p[c]&&(p[c]={})),l=p[c],Mt(l,i)),n?{context:p,name:c,value:l}:l}},nonComputedMember:function(e,t,n,r,i,a){return function(o,s,u,c){return o=e(o,s,u,c),i&&1!==i&&(wt(o),o&&!o[t]&&(o[t]={})),s=null!=o?o[t]:void 0,(n||It(t))&&Mt(s,a),r?{context:o,name:t,value:s}:s}},inputs:function(e,t){return function(n,r,i,a){return a?a[t]:e(n,r,i)}}};var mi=function(e,t,n){this.lexer=e,this.$filter=t,this.options=n,this.ast=new vi(e,n),this.astCompiler=n.csp?new Ot(this.ast,t):new Nt(this.ast,t)};mi.prototype={constructor:mi,parse:function(e){return this.astCompiler.compile(e,this.options.expensiveChecks)}};var Ci=Object.prototype.valueOf,Si=t("$sce"),yi={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},bi=t("$compile"),$i=e.document.createElement("a"),Ai=sn(e.location.href);ln.$inject=["$document"],dn.$inject=["$provide"];var xi=22,Ei=".",Ti="0";gn.$inject=["$locale"],vn.$inject=["$locale"];var Fi={yyyy:bn("FullYear",4,0,!1,!0),yy:bn("FullYear",2,0,!0,!0),y:bn("FullYear",1,0,!1,!0),MMMM:$n("Month"),MMM:$n("Month",!0),MM:bn("Month",2,1),M:bn("Month",1,1),LLLL:$n("Month",!1,!0),dd:bn("Date",2),d:bn("Date",1),HH:bn("Hours",2),H:bn("Hours",1),hh:bn("Hours",2,-12),h:bn("Hours",1,-12),mm:bn("Minutes",2),m:bn("Minutes",1),ss:bn("Seconds",2),s:bn("Seconds",1),sss:bn("Milliseconds",3),EEEE:$n("Day"),EEE:$n("Day",!0),a:function(e,t){return 12>e.getHours()?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){return e=-1*n,e=(0<=e?"+":"")+(yn(Math[0<e?"floor":"ceil"](e/60),2)+yn(Math.abs(e%60),2))},ww:xn(2),w:xn(1),G:En,GG:En,GGG:En,GGGG:function(e,t){return 0>=e.getFullYear()?t.ERANAMES[0]:t.ERANAMES[1]}},ki=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,Mi=/^\-?\d+$/;Tn.$inject=["$locale"];var Pi=D(Jn),wi=D(_n);Mn.$inject=["$parse"];var Vi=D({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===er.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),Li={};r(kr,function(e,t){function n(e,n,i){e.$watch(i[r],function(e){i.$set(t,!!e)})}if("multiple"!=e){var r=_e("ng-"+t),i=n;"checked"===e&&(i=function(e,t,i){i.ngModel!==i[r]&&n(e,t,i)}),Li[r]=function(){return{restrict:"A",priority:100,link:i}}}}),r(Pr,function(e,t){Li[t]=function(){return{priority:100,link:function(e,n,r){return"ngPattern"===t&&"/"==r.ngPattern.charAt(0)&&(n=r.ngPattern.match(Kn))?void r.$set("ngPattern",new RegExp(n[1],n[2])):void e.$watch(r[t],function(e){r.$set(t,e)})}}}}),r(["src","srcset","href"],function(e){var t=_e("ng-"+e);Li[t]=function(){return{priority:99,link:function(n,r,i){var a=e,o=e;"href"===e&&"[object SVGAnimatedString]"===er.call(r.prop("href"))&&(o="xlinkHref",i.$attr[o]="xlink:href",a=null),i.$observe(t,function(t){t?(i.$set(o,t),In&&a&&r.prop(a,i[o])):"href"===e&&i.$set(o,null)})}}}});var Ri={$addControl:d,$$renameControl:function(e,t){e.$name=t},$removeControl:d,$setValidity:d,$setDirty:d,$setPristine:d,$setSubmitted:d};wn.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Gi=function(e){return["$timeout","$parse",function(t,n){function r(e){return""===e?n('this[""]').assign:n(e).assign||d}return{name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:wn,compile:function(n,i){n.addClass(va).addClass(Wa);var a=i.name?"name":!(!e||!i.ngForm)&&"ngForm";return{pre:function(e,n,i,o){var s=o[0];if(!("action"in i)){var c=function(t){e.$apply(function(){s.$commitViewValue(),s.$setSubmitted()}),t.preventDefault()};n[0].addEventListener("submit",c,!1),n.on("$destroy",function(){t(function(){n[0].removeEventListener("submit",c,!1)},0,!1)})}(o[1]||s.$$parentForm).$addControl(s);var l=a?r(s.$name):d;a&&(l(e,s),i.$observe(a,function(t){s.$name!==t&&(l(e,void 0),s.$$parentForm.$$renameControl(s,t),(l=r(s.$name))(e,s))})),n.on("$destroy",function(){s.$$parentForm.$removeControl(s),l(e,void 0),u(s,Ri)})}}}}}]},Bi=Gi(),Hi=Gi(!0),Xi=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Ni=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Oi=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ii=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,ji=/^(\d{4,})-(\d{2})-(\d{2})$/,zi=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,qi=/^(\d{4,})-W(\d\d)$/,Ki=/^(\d{4,})-(\d\d)$/,Ui=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ji=se();r(["date","datetime-local","month","time","week"],function(e){Ji[e]=!0});var _i={text:function(e,t,n,r,i,a){Ln(e,t,n,r,i,a),Vn(r)},date:Gn("date",ji,Rn(ji,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Gn("datetimelocal",zi,Rn(zi,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:Gn("time",Ui,Rn(Ui,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Gn("week",qi,function(e,t){if(y(e))return e;if(C(e)){qi.lastIndex=0;var n=qi.exec(e);if(n){var r=+n[1],i=+n[2],a=n=0,o=0,s=0,u=An(r),i=7*(i-1);return t&&(n=t.getHours(),a=t.getMinutes(),o=t.getSeconds(),s=t.getMilliseconds()),new Date(r,0,u.getDate()+i,n,a,o,s)}}return NaN},"yyyy-Www"),month:Gn("month",Ki,Rn(Ki,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,r,i,a){if(Bn(e,t,n,r),Ln(e,t,n,r,i,a),r.$$parserName="number",r.$parsers.push(function(e){return r.$isEmpty(e)?null:Ii.test(e)?parseFloat(e):void 0}),r.$formatters.push(function(e){if(!r.$isEmpty(e)){if(!S(e))throw Sa("numfmt",e);e=e.toString()}return e}),g(n.min)||n.ngMin){var o;r.$validators.min=function(e){return r.$isEmpty(e)||W(o)||e>=o},n.$observe("min",function(e){g(e)&&!S(e)&&(e=parseFloat(e,10)),o=S(e)&&!isNaN(e)?e:void 0,r.$validate()})}if(g(n.max)||n.ngMax){var s;r.$validators.max=function(e){return r.$isEmpty(e)||W(s)||e<=s},n.$observe("max",function(e){g(e)&&!S(e)&&(e=parseFloat(e,10)),s=S(e)&&!isNaN(e)?e:void 0,r.$validate()})}},url:function(e,t,n,r,i,a){Ln(e,t,n,r,i,a),Vn(r),r.$$parserName="url",r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||Ni.test(n)}},email:function(e,t,n,r,i,a){Ln(e,t,n,r,i,a),Vn(r),r.$$parserName="email",r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||Oi.test(n)}},radio:function(e,t,n,r){W(n.name)&&t.attr("name",++ir),t.on("click",function(e){t[0].checked&&r.$setViewValue(n.value,e&&e.type)}),r.$render=function(){t[0].checked=n.value==r.$viewValue},n.$observe("value",r.$render)},checkbox:function(e,t,n,r,i,a,o,s){var u=Hn(s,e,"ngTrueValue",n.ngTrueValue,!0),c=Hn(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("click",function(e){r.$setViewValue(t[0].checked,e&&e.type)}),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push(function(e){return L(e,u)}),r.$parsers.push(function(e){return e?u:c})},hidden:d,button:d,submit:d,reset:d,file:d},Yi=["$browser","$sniffer","$filter","$parse",function(e,t,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,a,o,s){s[0]&&(_i[Jn(o.type)]||_i.text)(i,a,o,s[0],t,e,n,r)}}}}],Zi=/^(true|false|\d+)$/,Qi=function(){return{restrict:"A",priority:100,compile:function(e,t){return Zi.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}},ea=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,r){e.$$addBindingInfo(n,r.ngBind),n=n[0],t.$watch(r.ngBind,function(e){n.textContent=W(e)?"":e})}}}}],ta=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,r,i){n=e(r.attr(i.$attr.ngBindTemplate)),t.$$addBindingInfo(r,n.expressions),r=r[0],i.$observe("ngBindTemplate",function(e){r.textContent=W(e)?"":e})}}}}],na=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(r,i){var a=t(i.ngBindHtml),o=t(i.ngBindHtml,function(t){return e.valueOf(t)});return n.$$addBindingClass(r),function(t,r,i){n.$$addBindingInfo(r,i.ngBindHtml),t.$watch(o,function(){var n=a(t);r.html(e.getTrustedHtml(n)||"")})}}}}],ra=D({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),ia=Xn("",!0),aa=Xn("Odd",0),oa=Xn("Even",1),sa=Pn({compile:function(e,t){t.$set("ngCloak",void 0),e.removeClass("ng-cloak")}}),ua=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ca={},la={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=_e("ng-"+e);ca[t]=["$parse","$rootScope",function(n,r){return{restrict:"A",compile:function(i,a){var o=n(a[t],null,!0);return function(t,n){n.on(e,function(n){var i=function(){o(t,{$event:n})};la[e]&&r.$$phase?t.$evalAsync(i):t.$apply(i)})}}}}]});var pa=["$animate","$compile",function(e,t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,a,o){var s,u,c;n.$watch(i.ngIf,function(n){n?u||o(function(n,a){u=a,n[n.length++]=t.$$createComment("end ngIf",i.ngIf),s={clone:n},e.enter(n,r.parent(),r)}):(c&&(c.remove(),c=null),u&&(u.$destroy(),u=null),s&&(c=oe(s.clone),e.leave(c).then(function(){c=null}),s=null))})}}}],da=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:rr.noop,compile:function(r,i){var a=i.ngInclude||i.src,o=i.onload||"",s=i.autoscroll;return function(r,i,u,c,l){var p,d,f,D=0,h=function(){d&&(d.remove(),d=null),p&&(p.$destroy(),p=null),f&&(n.leave(f).then(function(){d=null}),d=f,f=null)};r.$watch(a,function(a){var u=function(){!g(s)||s&&!r.$eval(s)||t()},d=++D;a?(e(a,!0).then(function(e){if(!r.$$destroyed&&d===D){var t=r.$new();c.template=e,e=l(t,function(e){h(),n.enter(e,null,i).then(u);
}),p=t,f=e,p.$emit("$includeContentLoaded",a),r.$eval(o)}},function(){r.$$destroyed||d!==D||(h(),r.$emit("$includeContentError",a))}),r.$emit("$includeContentRequested",a)):(h(),c.template=null)})}}}}],fa=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,a){er.call(r[0]).match(/SVG/)?(r.empty(),t(de(a.template,e.document).childNodes)(n,function(e){r.append(e)},{futureParentElement:r})):(r.html(a.template),t(r.contents())(n))}}}],Da=Pn({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),ha=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,i){var a=t.attr(n.$attr.ngList)||", ",o="false"!==n.ngTrim,s=o?sr(a):a;i.$parsers.push(function(e){if(!W(e)){var t=[];return e&&r(e.split(s),function(e){e&&t.push(o?sr(e):e)}),t}}),i.$formatters.push(function(e){if(ar(e))return e.join(a)}),i.$isEmpty=function(e){return!e||!e.length}}}},Wa="ng-valid",ga="ng-invalid",va="ng-pristine",ma="ng-dirty",Ca="ng-pending",Sa=t("ngModel"),ya=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(e,t,n,i,a,o,s,u,c,l){this.$modelValue=this.$viewValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=l(n.name||"",!1)(e),this.$$parentForm=Ri;var p,f=a(n.ngModel),D=f.assign,h=f,v=D,m=null,C=this;this.$$setOptions=function(e){if((C.$options=e)&&e.getterSetter){var t=a(n.ngModel+"()"),r=a(n.ngModel+"($$$p)");h=function(e){var n=f(e);return b(n)&&(n=t(e)),n},v=function(e,t){b(f(e))?r(e,{$$$p:t}):D(e,t)}}else if(!f.assign)throw Sa("nonassign",n.ngModel,I(i))},this.$render=d,this.$isEmpty=function(e){return W(e)||""===e||null===e||e!==e},this.$$updateEmptyClasses=function(e){C.$isEmpty(e)?(o.removeClass(i,"ng-not-empty"),o.addClass(i,"ng-empty")):(o.removeClass(i,"ng-empty"),o.addClass(i,"ng-not-empty"))};var y=0;Nn({ctrl:this,$element:i,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:o}),this.$setPristine=function(){C.$dirty=!1,C.$pristine=!0,o.removeClass(i,ma),o.addClass(i,va)},this.$setDirty=function(){C.$dirty=!0,C.$pristine=!1,o.removeClass(i,va),o.addClass(i,ma),C.$$parentForm.$setDirty()},this.$setUntouched=function(){C.$touched=!1,C.$untouched=!0,o.setClass(i,"ng-untouched","ng-touched")},this.$setTouched=function(){C.$touched=!0,C.$untouched=!1,o.setClass(i,"ng-touched","ng-untouched")},this.$rollbackViewValue=function(){s.cancel(m),C.$viewValue=C.$$lastCommittedViewValue,C.$render()},this.$validate=function(){if(!S(C.$modelValue)||!isNaN(C.$modelValue)){var e=C.$$rawModelValue,t=C.$valid,n=C.$modelValue,r=C.$options&&C.$options.allowInvalid;C.$$runValidators(e,C.$$lastCommittedViewValue,function(i){r||t===i||(C.$modelValue=i?e:void 0,C.$modelValue!==n&&C.$$writeModelToScope())})}},this.$$runValidators=function(e,t,n){function i(){var n=!0;return r(C.$validators,function(r,i){var a=r(e,t);n=n&&a,o(i,a)}),!!n||(r(C.$asyncValidators,function(e,t){o(t,null)}),!1)}function a(){var n=[],i=!0;r(C.$asyncValidators,function(r,a){var s=r(e,t);if(!s||!b(s.then))throw Sa("nopromise",s);o(a,void 0),n.push(s.then(function(){o(a,!0)},function(){i=!1,o(a,!1)}))}),n.length?c.all(n).then(function(){s(i)},d):s(!0)}function o(e,t){u===y&&C.$setValidity(e,t)}function s(e){u===y&&n(e)}y++;var u=y;(function(){var e=C.$$parserName||"parse";return W(p)?(o(e,null),!0):(p||(r(C.$validators,function(e,t){o(t,null)}),r(C.$asyncValidators,function(e,t){o(t,null)})),o(e,p),p)})()&&i()?a():s(!1)},this.$commitViewValue=function(){var e=C.$viewValue;s.cancel(m),(C.$$lastCommittedViewValue!==e||""===e&&C.$$hasNativeValidators)&&(C.$$updateEmptyClasses(e),C.$$lastCommittedViewValue=e,C.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){var t=C.$$lastCommittedViewValue;if(p=!W(t)||void 0)for(var n=0;n<C.$parsers.length;n++)if(t=C.$parsers[n](t),W(t)){p=!1;break}S(C.$modelValue)&&isNaN(C.$modelValue)&&(C.$modelValue=h(e));var r=C.$modelValue,i=C.$options&&C.$options.allowInvalid;C.$$rawModelValue=t,i&&(C.$modelValue=t,C.$modelValue!==r&&C.$$writeModelToScope()),C.$$runValidators(t,C.$$lastCommittedViewValue,function(e){i||(C.$modelValue=e?t:void 0,C.$modelValue!==r&&C.$$writeModelToScope())})},this.$$writeModelToScope=function(){v(e,C.$modelValue),r(C.$viewChangeListeners,function(e){try{e()}catch(n){t(n)}})},this.$setViewValue=function(e,t){C.$viewValue=e,C.$options&&!C.$options.updateOnDefault||C.$$debounceViewValueCommit(t)},this.$$debounceViewValueCommit=function(t){var n=0,r=C.$options;r&&g(r.debounce)&&(r=r.debounce,S(r)?n=r:S(r[t])?n=r[t]:S(r["default"])&&(n=r["default"])),s.cancel(m),n?m=s(function(){C.$commitViewValue()},n):u.$$phase?C.$commitViewValue():e.$apply(function(){C.$commitViewValue()})},e.$watch(function(){var t=h(e);if(t!==C.$modelValue&&(C.$modelValue===C.$modelValue||t===t)){C.$modelValue=C.$$rawModelValue=t,p=void 0;for(var n=C.$formatters,r=n.length,i=t;r--;)i=n[r](i);C.$viewValue!==i&&(C.$$updateEmptyClasses(i),C.$viewValue=C.$$lastCommittedViewValue=i,C.$render(),C.$$runValidators(t,i,d))}return t})}],ba=["$rootScope",function(e){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ya,priority:1,compile:function(t){return t.addClass(va).addClass("ng-untouched").addClass(Wa),{pre:function(e,t,n,r){var i=r[0];t=r[1]||i.$$parentForm,i.$$setOptions(r[2]&&r[2].$options),t.$addControl(i),n.$observe("name",function(e){i.$name!==e&&i.$$parentForm.$$renameControl(i,e)}),e.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(t,n,r,i){var a=i[0];a.$options&&a.$options.updateOn&&n.on(a.$options.updateOn,function(e){a.$$debounceViewValueCommit(e&&e.type)}),n.on("blur",function(){a.$touched||(e.$$phase?t.$evalAsync(a.$setTouched):t.$apply(a.$setTouched))})}}}}}],$a=/(\s+|^)default(\s+|$)/,Aa=function(){return{restrict:"A",controller:["$scope","$attrs",function(e,t){var n=this;this.$options=w(e.$eval(t.ngModelOptions)),g(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=sr(this.$options.updateOn.replace($a,function(){return n.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},xa=Pn({terminal:!0,priority:1e3}),Ea=t("ngOptions"),Ta=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Fa=["$compile","$document","$parse",function(t,i,a){function o(e,t,r){function i(e,t,n,r,i){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=i}function o(e){var t;if(!c&&n(e))t=e;else{t=[];for(var r in e)e.hasOwnProperty(r)&&"$"!==r.charAt(0)&&t.push(r)}return t}var s=e.match(Ta);if(!s)throw Ea("iexp",e,I(t));var u=s[5]||s[7],c=s[6];e=/ as /.test(s[0])&&s[1];var l=s[9];t=a(s[2]?s[1]:u);var p=e&&a(e)||t,d=l&&a(l),f=l?function(e,t){return d(r,t)}:function(e){return Le(e)},D=function(e,t){return f(e,C(e,t))},h=a(s[2]||s[1]),W=a(s[3]||""),g=a(s[4]||""),v=a(s[8]),m={},C=c?function(e,t){return m[c]=t,m[u]=e,m}:function(e){return m[u]=e,m};return{trackBy:l,getTrackByValue:D,getWatchables:a(v,function(e){var t=[];e=e||[];for(var n=o(e),i=n.length,a=0;a<i;a++){var u=e===n?a:n[a],c=e[u],u=C(c,u),c=f(c,u);t.push(c),(s[2]||s[1])&&(c=h(r,u),t.push(c)),s[4]&&(u=g(r,u),t.push(u))}return t}),getOptions:function(){for(var e=[],t={},n=v(r)||[],a=o(n),s=a.length,u=0;u<s;u++){var c=n===a?u:a[u],d=C(n[c],c),m=p(r,d),c=f(m,d),S=h(r,d),y=W(r,d),d=g(r,d),m=new i(c,m,S,y,d);e.push(m),t[c]=m}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[D(e)]},getViewValueFromOption:function(e){return l?rr.copy(e.viewValue):e.viewValue}}}}}var s=e.document.createElement("option"),u=e.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=d},post:function(e,n,a,c){function l(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label),e.value!==t.value&&(t.value=e.selectValue)}function p(){var e=S&&f.readValue();if(S)for(var t=S.items.length-1;0<=t;t--){var r=S.items[t];Te(r.group?r.element.parentNode:r.element)}S=y.getOptions();var i={};m&&n.prepend(d),S.items.forEach(function(e){var t;if(g(e.group)){t=i[e.group],t||(t=u.cloneNode(!1),b.appendChild(t),t.label=e.group,i[e.group]=t);var n=s.cloneNode(!1)}else t=b,n=s.cloneNode(!1);t.appendChild(n),l(e,n)}),n[0].appendChild(b),D.$render(),D.$isEmpty(e)||(t=f.readValue(),(y.trackBy||h?L(e,t):e===t)||(D.$setViewValue(t),D.$render()))}var d,f=c[0],D=c[1],h=a.multiple;c=0;for(var W=n.children(),v=W.length;c<v;c++)if(""===W[c].value){d=W.eq(c);break}var m=!!d,C=jn(s.cloneNode(!1));C.val("?");var S,y=o(a.ngOptions,n,e),b=i[0].createDocumentFragment();h?(D.$isEmpty=function(e){return!e||0===e.length},f.writeValue=function(e){S.items.forEach(function(e){e.element.selected=!1}),e&&e.forEach(function(e){(e=S.getOptionFromViewValue(e))&&(e.element.selected=!0)})},f.readValue=function(){var e=n.val()||[],t=[];return r(e,function(e){(e=S.selectValueMap[e])&&!e.disabled&&t.push(S.getViewValueFromOption(e))}),t},y.trackBy&&e.$watchCollection(function(){if(ar(D.$viewValue))return D.$viewValue.map(function(e){return y.getTrackByValue(e)})},function(){D.$render()})):(f.writeValue=function(e){var t=S.getOptionFromViewValue(e);t?(n[0].value!==t.selectValue&&(C.remove(),m||d.remove(),n[0].value=t.selectValue,t.element.selected=!0),t.element.setAttribute("selected","selected")):null===e||m?(C.remove(),m||n.prepend(d),n.val(""),d.prop("selected",!0),d.attr("selected",!0)):(m||d.remove(),n.prepend(C),n.val("?"),C.prop("selected",!0),C.attr("selected",!0))},f.readValue=function(){var e=S.selectValueMap[n.val()];return e&&!e.disabled?(m||d.remove(),C.remove(),S.getViewValueFromOption(e)):null},y.trackBy&&e.$watch(function(){return y.getTrackByValue(D.$viewValue)},function(){D.$render()})),m?(d.remove(),t(d)(e),d.removeClass("ng-scope")):d=jn(s.cloneNode(!1)),n.empty(),p(),e.$watchCollection(y.getWatchables,p)}}}}],ka=["$locale","$interpolate","$log",function(e,t,n){var i=/{}/g,a=/^when(Minus)?(.+)$/;return{link:function(o,s,u){function c(e){s.text(e||"")}var l,p=u.count,f=u.$attr.when&&s.attr(u.$attr.when),D=u.offset||0,h=o.$eval(f)||{},g={},v=t.startSymbol(),m=t.endSymbol(),C=v+p+"-"+D+m,y=rr.noop;r(u,function(e,t){var n=a.exec(t);n&&(n=(n[1]?"-":"")+Jn(n[2]),h[n]=s.attr(u.$attr[t]))}),r(h,function(e,n){g[n]=t(e.replace(i,C))}),o.$watch(p,function(t){var r=parseFloat(t),i=isNaN(r);i||r in h||(r=e.pluralCat(r-D)),r===l||i&&S(l)&&isNaN(l)||(y(),i=g[r],W(i)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+f),y=d,c()):y=o.$watch(i,c),l=r)})}}}],Ma=["$parse","$animate","$compile",function(e,i,a){var o=t("ngRepeat"),s=function(e,t,n,r,i,a,o){e[n]=r,i&&(e[i]=a),e.$index=t,e.$first=0===t,e.$last=t===o-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0===(1&t))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(t,u){var c=u.ngRepeat,l=a.$$createComment("end ngRepeat",c),p=c.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw o("iexp",c);var d=p[1],f=p[2],D=p[3],h=p[4],p=d.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!p)throw o("iidexp",d);var W=p[3]||p[1],g=p[2];if(D&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(D)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(D)))throw o("badident",D);var v,m,C,S,y={$id:Le};return h?v=e(h):(C=function(e,t){return Le(t)},S=function(e){return e}),function(e,t,a,u,p){v&&(m=function(t,n,r){return g&&(y[g]=t),y[W]=n,y.$index=r,v(e,y)});var d=se();e.$watchCollection(f,function(a){var u,f,h,v,y,b,$,A,x,E,T=t[0],F=se();if(D&&(e[D]=a),n(a))A=a,f=m||C;else for(E in f=m||S,A=[],a)Un.call(a,E)&&"$"!==E.charAt(0)&&A.push(E);for(v=A.length,E=Array(v),u=0;u<v;u++)if(y=a===A?u:A[u],b=a[y],$=f(y,b,u),d[$])x=d[$],delete d[$],F[$]=x,E[u]=x;else{if(F[$])throw r(E,function(e){e&&e.scope&&(d[e.id]=e)}),o("dupes",c,$,b);E[u]={id:$,scope:void 0,clone:void 0},F[$]=!0}for(h in d){if(x=d[h],$=oe(x.clone),i.leave($),$[0].parentNode)for(u=0,f=$.length;u<f;u++)$[u].$$NG_REMOVED=!0;x.scope.$destroy()}for(u=0;u<v;u++)if(y=a===A?u:A[u],b=a[y],x=E[u],x.scope){h=T;do h=h.nextSibling;while(h&&h.$$NG_REMOVED);x.clone[0]!=h&&i.move(oe(x.clone),null,T),T=x.clone[x.clone.length-1],s(x.scope,u,W,b,g,y,v)}else p(function(e,t){x.scope=t;var n=l.cloneNode(!1);e[e.length++]=n,i.enter(e,null,T),T=n,x.clone=e,F[x.id]=x,s(x.scope,u,W,b,g,y,v)});d=F})}}}}],Pa=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngShow,function(t){e[t?"removeClass":"addClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],wa=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngHide,function(t){e[t?"addClass":"removeClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Va=Pn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&r(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),La=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,a,o){var s=[],u=[],c=[],l=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(a.ngSwitch||a.on,function(n){var i,a;for(i=0,a=c.length;i<a;++i)e.cancel(c[i]);for(i=c.length=0,a=l.length;i<a;++i){var d=oe(u[i].clone);l[i].$destroy(),(c[i]=e.leave(d)).then(p(c,i))}u.length=0,l.length=0,(s=o.cases["!"+n]||o.cases["?"])&&r(s,function(n){n.transclude(function(r,i){l.push(i);var a=n.element;r[r.length++]=t.$$createComment("end ngSwitchWhen"),u.push({clone:r}),e.enter(r,a.parent(),a)})})})}}}],Ra=Pn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),Ga=Pn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),Ba=t("ngTransclude"),Ha=Pn({restrict:"EAC",link:function(e,t,n,r,i){if(n.ngTransclude===n.$attr.ngTransclude&&(n.ngTransclude=""),!i)throw Ba("orphan",I(t));i(function(e){e.length&&(t.empty(),t.append(e))},null,n.ngTransclude||n.ngTranscludeSlot)}}),Xa=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){"text/ng-template"==n.type&&e.put(n.id,t[0].text)}}}],Na={$setViewValue:d,$render:d},Oa=["$element","$scope",function(t,n){var r=this,i=new Re;r.ngModelCtrl=Na,r.unknownOption=jn(e.document.createElement("option")),r.renderUnknownOption=function(e){e="? "+Le(e)+" ?",r.unknownOption.val(e),t.prepend(r.unknownOption),t.val(e)},n.$on("$destroy",function(){r.renderUnknownOption=d}),r.removeUnknownOption=function(){r.unknownOption.parent()&&r.unknownOption.remove()},r.readValue=function(){return r.removeUnknownOption(),t.val()},r.writeValue=function(e){r.hasOption(e)?(r.removeUnknownOption(),t.val(e),""===e&&r.emptyOption.prop("selected",!0)):null==e&&r.emptyOption?(r.removeUnknownOption(),t.val("")):r.renderUnknownOption(e)},r.addOption=function(e,t){if(8!==t[0].nodeType){ie(e,'"option value"'),""===e&&(r.emptyOption=t);var n=i.get(e)||0;i.put(e,n+1),r.ngModelCtrl.$render(),t[0].hasAttribute("selected")&&(t[0].selected=!0)}},r.removeOption=function(e){var t=i.get(e);t&&(1===t?(i.remove(e),""===e&&(r.emptyOption=void 0)):i.put(e,t-1))},r.hasOption=function(e){return!!i.get(e)},r.registerOption=function(e,t,n,i,a){if(i){var o;n.$observe("value",function(e){g(o)&&r.removeOption(o),o=e,r.addOption(e,t)})}else a?e.$watch(a,function(e,i){n.$set("value",e),i!==e&&r.removeOption(i),r.addOption(e,t)}):r.addOption(n.value,t);t.on("$destroy",function(){r.removeOption(n.value),r.ngModelCtrl.$render()})}}],Ia=function(){return{restrict:"E",require:["select","?ngModel"],controller:Oa,priority:1,link:{pre:function(e,t,n,i){var a=i[1];if(a){var o=i[0];if(o.ngModelCtrl=a,t.on("change",function(){e.$apply(function(){a.$setViewValue(o.readValue())})}),n.multiple){o.readValue=function(){var e=[];return r(t.find("option"),function(t){t.selected&&e.push(t.value)}),e},o.writeValue=function(e){var n=new Re(e);r(t.find("option"),function(e){e.selected=g(n.get(e.value))})};var s,u=NaN;e.$watch(function(){u!==a.$viewValue||L(s,a.$viewValue)||(s=V(a.$viewValue),a.$render()),u=a.$viewValue}),a.$isEmpty=function(e){return!e||0===e.length}}}},post:function(e,t,n,r){var i=r[1];if(i){var a=r[0];i.$render=function(){a.writeValue(i.$viewValue)}}}}}},ja=["$interpolate",function(e){return{restrict:"E",priority:100,compile:function(t,n){if(g(n.value))var r=e(n.value,!0);else{var i=e(t.text(),!0);i||n.$set("value",t.text())}return function(e,t,n){var a=t.parent();(a=a.data("$selectController")||a.parent().data("$selectController"))&&a.registerOption(e,t,n,r,i)}}}}],za=D({restrict:"E",terminal:!1}),qa=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){r&&(n.required=!0,r.$validators.required=function(e,t){return!n.required||!r.$isEmpty(t)},n.$observe("required",function(){r.$validate()}))}}},Ka=function(){return{restrict:"A",require:"?ngModel",link:function(e,n,r,i){if(i){var a,o=r.ngPattern||r.pattern;r.$observe("pattern",function(e){if(C(e)&&0<e.length&&(e=new RegExp("^"+e+"$")),e&&!e.test)throw t("ngPattern")("noregexp",o,e,I(n));a=e||void 0,i.$validate()}),i.$validators.pattern=function(e,t){return i.$isEmpty(t)||W(a)||a.test(t)}}}}},Ua=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=-1;n.$observe("maxlength",function(e){e=l(e),i=isNaN(e)?-1:e,r.$validate()}),r.$validators.maxlength=function(e,t){return 0>i||r.$isEmpty(t)||t.length<=i}}}}},Ja=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=0;n.$observe("minlength",function(e){i=l(e)||0,r.$validate()}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=i}}}}};e.angular.bootstrap?e.console&&console.log("WARNING: Tried to load angular more than once."):(te(),ce(rr),rr.module("ngLocale",[],["$provide",function(e){function t(e){e+="";var t=e.indexOf(".");return-1==t?0:e.length-t-1}e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(e,n){var r=0|e,i=n;return void 0===i&&(i=Math.min(t(e),3)),Math.pow(10,i),1==r&&0==i?"one":"other"}})}]),jn(e.document).ready(function(){_(e.document,Y)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),function(e,t){"use strict";function n(e,n,r){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(i,a,o,s,u){function c(){f&&(r.cancel(f),f=null),p&&(p.$destroy(),p=null),d&&(f=r.leave(d),f.then(function(){f=null}),d=null)}function l(){var o=e.current&&e.current.locals;if(t.isDefined(o&&o.$template)){var o=i.$new(),s=e.current;d=u(o,function(e){r.enter(e,null,d||a).then(function(){!t.isDefined(D)||D&&!i.$eval(D)||n()}),c()}),p=s.scope=o,p.$emit("$viewContentLoaded"),p.$eval(h)}else c()}var p,d,f,D=o.autoscroll,h=o.onload||"";i.$on("$routeChangeSuccess",l),l()}}}function r(e,t,n){return{restrict:"ECA",priority:-400,link:function(r,i){var a=n.current,o=a.locals;i.html(o.$template);var s=e(i.contents());if(a.controller){o.$scope=r;var u=t(a.controller,o);a.controllerAs&&(r[a.controllerAs]=u),i.data("$ngControllerController",u),i.children().data("$ngControllerController",u)}r[a.resolveAs||"$resolve"]=o,s(r)}}}var i=t.module("ngRoute",["ng"]).provider("$route",function(){function e(e,n){return t.extend(Object.create(e),n)}function n(e,t){var n=t.caseInsensitiveMatch,r={originalPath:e,regexp:e},i=r.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(e,t,n,r){return e="?"===r||"*?"===r?"?":null,r="*"===r||"*?"===r?"*":null,i.push({name:n,optional:!!e}),t=t||"",""+(e?"":t)+"(?:"+(e?t:"")+(r&&"(.+?)"||"([^/]+)")+(e||"")+")"+(e||"")}).replace(/([\/$\*])/g,"\\$1"),r.regexp=new RegExp("^"+e+"$",n?"i":""),r}var r={};this.when=function(e,i){var a=t.copy(i);if(t.isUndefined(a.reloadOnSearch)&&(a.reloadOnSearch=!0),t.isUndefined(a.caseInsensitiveMatch)&&(a.caseInsensitiveMatch=this.caseInsensitiveMatch),r[e]=t.extend(a,e&&n(e,a)),e){var o="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";r[o]=t.extend({redirectTo:e},n(o,a))}return this},this.caseInsensitiveMatch=!1,this.otherwise=function(e){return"string"==typeof e&&(e={redirectTo:e}),this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(n,i,o,s,u,c,l){function p(e){var r=C.current;(v=(g=h())&&r&&g.$$route===r.$$route&&t.equals(g.pathParams,r.pathParams)&&!g.reloadOnSearch&&!m)||!r&&!g||n.$broadcast("$routeChangeStart",g,r).defaultPrevented&&e&&e.preventDefault()}function d(){var e=C.current,r=g;v?(e.params=r.params,t.copy(e.params,o),n.$broadcast("$routeUpdate",e)):(r||e)&&(m=!1,(C.current=r)&&r.redirectTo&&(t.isString(r.redirectTo)?i.path(W(r.redirectTo,r.params)).search(r.params).replace():i.url(r.redirectTo(r.pathParams,i.path(),i.search())).replace()),s.when(r).then(f).then(function(i){r==C.current&&(r&&(r.locals=i,t.copy(r.params,o)),n.$broadcast("$routeChangeSuccess",r,e))},function(t){r==C.current&&n.$broadcast("$routeChangeError",r,e,t)}))}function f(e){if(e){var n=t.extend({},e.resolve);return t.forEach(n,function(e,r){n[r]=t.isString(e)?u.get(e):u.invoke(e,null,null,r)}),e=D(e),t.isDefined(e)&&(n.$template=e),s.all(n)}}function D(e){var n,r;return t.isDefined(n=e.template)?t.isFunction(n)&&(n=n(e.params)):t.isDefined(r=e.templateUrl)&&(t.isFunction(r)&&(r=r(e.params)),t.isDefined(r)&&(e.loadedTemplateUrl=l.valueOf(r),n=c(r))),n}function h(){var n,a;return t.forEach(r,function(r,o){var s;if(s=!a){var u=i.path();s=r.keys;var c={};if(r.regexp)if(u=r.regexp.exec(u)){for(var l=1,p=u.length;l<p;++l){var d=s[l-1],f=u[l];d&&f&&(c[d.name]=f)}s=c}else s=null;else s=null;s=n=s}s&&(a=e(r,{params:t.extend({},i.search(),n),pathParams:n}),a.$$route=r)}),a||r[null]&&e(r[null],{params:{},pathParams:{}})}function W(e,n){var r=[];return t.forEach((e||"").split(":"),function(e,t){if(0===t)r.push(e);else{var i=e.match(/(\w+)(?:[?*])?(.*)/),a=i[1];r.push(n[a]),r.push(i[2]||""),delete n[a]}}),r.join("")}var g,v,m=!1,C={routes:r,reload:function(){m=!0;var e={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0,m=!1}};n.$evalAsync(function(){p(e),e.defaultPrevented||d()})},updateParams:function(e){if(!this.current||!this.current.$$route)throw a("norout");e=t.extend({},this.current.params,e),i.path(W(this.current.$$route.originalPath,e)),i.search(e)}};return n.$on("$locationChangeStart",p),n.$on("$locationChangeSuccess",d),C}]}),a=t.$$minErr("ngRoute");i.provider("$routeParams",function(){this.$get=function(){return{}}}),i.directive("ngView",n),i.directive("ngView",r),n.$inject=["$route","$anchorScroll","$animate"],r.$inject=["$compile","$controller","$route"]}(window,window.angular),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(e){"use strict";var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1||t[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.alert");i||n.data("bs.alert",i=new r(this)),"string"==typeof t&&i[t].call(n)})}var n='[data-dismiss="alert"]',r=function(t){e(t).on("click",n,this.close)};r.VERSION="3.3.6",r.TRANSITION_DURATION=150,r.prototype.close=function(t){function n(){o.detach().trigger("closed.bs.alert").remove()}var i=e(this),a=i.attr("data-target");a||(a=i.attr("href"),a=a&&a.replace(/.*(?=#[^\s]*$)/,""));var o=e(a);t&&t.preventDefault(),o.length||(o=i.closest(".alert")),o.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),e.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n())};var i=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=r,e.fn.alert.noConflict=function(){return e.fn.alert=i,this},e(document).on("click.bs.alert.data-api",n,r.prototype.close)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.button"),a="object"==typeof t&&t;i||r.data("bs.button",i=new n(this,a)),"toggle"==t?i.toggle():t&&i.setState(t)})}var n=function(t,r){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.3.6",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",a=r.data();t+="Text",null==a.resetText&&r.data("resetText",r[i]()),setTimeout(e.proxy(function(){r[i](null==a[t]?this.options[t]:a[t]),"loadingText"==t?(this.isLoading=!0,r.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var r=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=r,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=e(n.target);r.hasClass("btn")||(r=r.closest(".btn")),t.call(r,"toggle"),e(n.target).is('input[type="radio"]')||e(n.target).is('input[type="checkbox"]')||n.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.carousel"),a=e.extend({},n.DEFAULTS,r.data(),"object"==typeof t&&t),o="string"==typeof t?t:a.slide;i||r.data("bs.carousel",i=new n(this,a)),"number"==typeof t?i.to(t):o?i[o]():a.interval&&i.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.6",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t),r="prev"==e&&0===n||"next"==e&&n==this.$items.length-1;if(r&&!this.options.wrap)return t;var i="prev"==e?-1:1,a=(n+i)%this.$items.length;return this.$items.eq(a)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));return e>this.$items.length-1||0>e?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){return this.sliding?void 0:this.slide("next")},n.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},n.prototype.slide=function(t,r){var i=this.$element.find(".item.active"),a=r||this.getItemForDirection(t,i),o=this.interval,s="next"==t?"left":"right",u=this;if(a.hasClass("active"))return this.sliding=!1;var c=a[0],l=e.Event("slide.bs.carousel",{relatedTarget:c,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,o&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=e(this.$indicators.children()[this.getItemIndex(a)]);p&&p.addClass("active")}var d=e.Event("slid.bs.carousel",{relatedTarget:c,direction:s});return e.support.transition&&this.$element.hasClass("slide")?(a.addClass(t),a[0].offsetWidth,i.addClass(s),a.addClass(s),i.one("bsTransitionEnd",function(){a.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(d)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(i.removeClass("active"),a.addClass("active"),this.sliding=!1,this.$element.trigger(d)),o&&this.cycle(),this}};var r=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=r,this};var i=function(n){var r,i=e(this),a=e(i.attr("data-target")||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""));if(a.hasClass("carousel")){var o=e.extend({},a.data(),i.data()),s=i.attr("data-slide-to");s&&(o.interval=!1),t.call(a,o),s&&a.data("bs.carousel").to(s),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",i).on("click.bs.carousel.data-api","[data-slide-to]",i),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(jQuery),+function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&e(n);return r&&r.length?r:t.parent()}function n(n){n&&3===n.which||(e(i).remove(),
e(a).each(function(){var r=e(this),i=t(r),a={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(i[0],n.target)||(i.trigger(n=e.Event("hide.bs.dropdown",a)),n.isDefaultPrevented()||(r.attr("aria-expanded","false"),i.removeClass("open").trigger(e.Event("hidden.bs.dropdown",a)))))}))}function r(t){return this.each(function(){var n=e(this),r=n.data("bs.dropdown");r||n.data("bs.dropdown",r=new o(this)),"string"==typeof t&&r[t].call(n)})}var i=".dropdown-backdrop",a='[data-toggle="dropdown"]',o=function(t){e(t).on("click.bs.dropdown",this.toggle)};o.VERSION="3.3.6",o.prototype.toggle=function(r){var i=e(this);if(!i.is(".disabled, :disabled")){var a=t(i),o=a.hasClass("open");if(n(),!o){"ontouchstart"in document.documentElement&&!a.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var s={relatedTarget:this};if(a.trigger(r=e.Event("show.bs.dropdown",s)),r.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),a.toggleClass("open").trigger(e.Event("shown.bs.dropdown",s))}return!1}},o.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var r=e(this);if(n.preventDefault(),n.stopPropagation(),!r.is(".disabled, :disabled")){var i=t(r),o=i.hasClass("open");if(!o&&27!=n.which||o&&27==n.which)return 27==n.which&&i.find(a).trigger("focus"),r.trigger("click");var s=" li:not(.disabled):visible a",u=i.find(".dropdown-menu"+s);if(u.length){var c=u.index(n.target);38==n.which&&c>0&&c--,40==n.which&&c<u.length-1&&c++,~c||(c=0),u.eq(c).trigger("focus")}}}};var s=e.fn.dropdown;e.fn.dropdown=r,e.fn.dropdown.Constructor=o,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",a,o.prototype.toggle).on("keydown.bs.dropdown.data-api",a,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),+function(e){"use strict";function t(t,r){return this.each(function(){var i=e(this),a=i.data("bs.modal"),o=e.extend({},n.DEFAULTS,i.data(),"object"==typeof t&&t);a||i.data("bs.modal",a=new n(this,o)),"string"==typeof t?a[t](r):o.show&&a.show(r)})}var n=function(t,n){this.options=n,this.$body=e(document.body),this.$element=e(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,e.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.6",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)},n.prototype.show=function(t){var r=this,i=e.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(i),this.isShown||i.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',e.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){r.$element.one("mouseup.dismiss.bs.modal",function(t){e(t.target).is(r.$element)&&(r.ignoreBackdropClick=!0)})}),this.backdrop(function(){var i=e.support.transition&&r.$element.hasClass("fade");r.$element.parent().length||r.$element.appendTo(r.$body),r.$element.show().scrollTop(0),r.adjustDialog(),i&&r.$element[0].offsetWidth,r.$element.addClass("in"),r.enforceFocus();var a=e.Event("shown.bs.modal",{relatedTarget:t});i?r.$dialog.one("bsTransitionEnd",function(){r.$element.trigger("focus").trigger(a)}).emulateTransitionEnd(n.TRANSITION_DURATION):r.$element.trigger("focus").trigger(a)}))},n.prototype.hide=function(t){t&&t.preventDefault(),t=e.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),e(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",e.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){e(document).off("focusin.bs.modal").on("focusin.bs.modal",e.proxy(function(e){this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",e.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?e(window).on("resize.bs.modal",e.proxy(this.handleUpdate,this)):e(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var e=this;this.$element.hide(),this.backdrop(function(){e.$body.removeClass("modal-open"),e.resetAdjustments(),e.resetScrollbar(),e.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(t){var r=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var a=e.support.transition&&i;if(this.$backdrop=e(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",e.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),a&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;a?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var o=function(){r.removeBackdrop(),t&&t()};e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",o).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):o()}else t&&t()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth<e,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",e+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var e=document.createElement("div");e.className="modal-scrollbar-measure",this.$body.append(e);var t=e.offsetWidth-e.clientWidth;return this.$body[0].removeChild(e),t};var r=e.fn.modal;e.fn.modal=t,e.fn.modal.Constructor=n,e.fn.modal.noConflict=function(){return e.fn.modal=r,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var r=e(this),i=r.attr("href"),a=e(r.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),o=a.data("bs.modal")?"toggle":e.extend({remote:!/#/.test(i)&&i},a.data(),r.data());r.is("a")&&n.preventDefault(),a.one("show.bs.modal",function(e){e.isDefaultPrevented()||a.one("hidden.bs.modal",function(){r.is(":visible")&&r.trigger("focus")})}),t.call(a,o,this)})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.tooltip"),a="object"==typeof t&&t;(i||!/destroy|hide/.test(t))&&(i||r.data("bs.tooltip",i=new n(this,a)),"string"==typeof t&&i[t]())})}var n=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};n.VERSION="3.3.6",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,r){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var i=this.options.trigger.split(" "),a=i.length;a--;){var o=i[a];if("click"==o)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=o){var s="hover"==o?"mouseenter":"focusin",u="hover"==o?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,r){n[e]!=r&&(t[e]=r)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),n.isInStateTrue()?void 0:(clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide())},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var r=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!r)return;var i=this,a=this.tip(),o=this.getUID(this.type);this.setContent(),a.attr("id",o),this.$element.attr("aria-describedby",o),this.options.animation&&a.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(s);c&&(s=s.replace(u,"")||"top"),a.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?a.appendTo(this.options.container):a.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),p=a[0].offsetWidth,d=a[0].offsetHeight;if(c){var f=s,D=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>D.bottom?"top":"top"==s&&l.top-d<D.top?"bottom":"right"==s&&l.right+p>D.width?"left":"left"==s&&l.left-p<D.left?"right":s,a.removeClass(f).addClass(s)}var h=this.getCalculatedOffset(s,l,p,d);this.applyPlacement(h,s);var W=function(){var e=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==e&&i.leave(i)};e.support.transition&&this.$tip.hasClass("fade")?a.one("bsTransitionEnd",W).emulateTransitionEnd(n.TRANSITION_DURATION):W()}},n.prototype.applyPlacement=function(t,n){var r=this.tip(),i=r[0].offsetWidth,a=r[0].offsetHeight,o=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10);isNaN(o)&&(o=0),isNaN(s)&&(s=0),t.top+=o,t.left+=s,e.offset.setOffset(r[0],e.extend({using:function(e){r.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),r.addClass("in");var u=r[0].offsetWidth,c=r[0].offsetHeight;"top"==n&&c!=a&&(t.top=t.top+a-c);var l=this.getViewportAdjustedDelta(n,t,u,c);l.left?t.left+=l.left:t.top+=l.top;var p=/top|bottom/.test(n),d=p?2*l.left-i+u:2*l.top-a+c,f=p?"offsetWidth":"offsetHeight";r.offset(t),this.replaceArrow(d,r[0][f],p)},n.prototype.replaceArrow=function(e,t,n){this.arrow().css(n?"left":"top",50*(1-e/t)+"%").css(n?"top":"left","")},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},n.prototype.hide=function(t){function r(){"in"!=i.hoverState&&a.detach(),i.$element.removeAttr("aria-describedby").trigger("hidden.bs."+i.type),t&&t()}var i=this,a=e(this.$tip),o=e.Event("hide.bs."+this.type);return this.$element.trigger(o),o.isDefaultPrevented()?void 0:(a.removeClass("in"),e.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),this.hoverState=null,this)},n.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},n.prototype.hasContent=function(){return this.getTitle()},n.prototype.getPosition=function(t){t=t||this.$element;var n=t[0],r="BODY"==n.tagName,i=n.getBoundingClientRect();null==i.width&&(i=e.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var a=r?{top:0,left:0}:t.offset(),o={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},s=r?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},i,o,s,a)},n.prototype.getCalculatedOffset=function(e,t,n,r){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-n/2}:"top"==e?{top:t.top-r,left:t.left+t.width/2-n/2}:"left"==e?{top:t.top+t.height/2-r/2,left:t.left-n}:{top:t.top+t.height/2-r/2,left:t.left+t.width}},n.prototype.getViewportAdjustedDelta=function(e,t,n,r){var i={top:0,left:0};if(!this.$viewport)return i;var a=this.options.viewport&&this.options.viewport.padding||0,o=this.getPosition(this.$viewport);if(/right|left/.test(e)){var s=t.top-a-o.scroll,u=t.top+a-o.scroll+r;s<o.top?i.top=o.top-s:u>o.top+o.height&&(i.top=o.top+o.height-u)}else{var c=t.left-a,l=t.left+a+n;c<o.left?i.left=o.left-c:l>o.right&&(i.left=o.left+o.width-l)}return i},n.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},n.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&(n=e(t.currentTarget).data("bs."+this.type),n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null})};var r=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=r,this}}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.popover"),a="object"==typeof t&&t;(i||!/destroy|hide/.test(t))&&(i||r.data("bs.popover",i=new n(this,a)),"string"==typeof t&&i[t]())})}var n=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.6",n.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=r,this}}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.tab");i||r.data("bs.tab",i=new n(this)),"string"==typeof t&&i[t]()})}var n=function(t){this.element=e(t)};n.VERSION="3.3.6",n.TRANSITION_DURATION=150,n.prototype.show=function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.data("target");if(r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var i=n.find(".active:last a"),a=e.Event("hide.bs.tab",{relatedTarget:t[0]}),o=e.Event("show.bs.tab",{relatedTarget:i[0]});if(i.trigger(a),t.trigger(o),!o.isDefaultPrevented()&&!a.isDefaultPrevented()){var s=e(r);this.activate(t.closest("li"),n),this.activate(s,s.parent(),function(){i.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:i[0]})})}}},n.prototype.activate=function(t,r,i){function a(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}var o=r.find("> .active"),s=i&&e.support.transition&&(o.length&&o.hasClass("fade")||!!r.find("> .fade").length);o.length&&s?o.one("bsTransitionEnd",a).emulateTransitionEnd(n.TRANSITION_DURATION):a(),o.removeClass("in")};var r=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=r,this};var i=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.affix"),a="object"==typeof t&&t;i||r.data("bs.affix",i=new n(this,a)),"string"==typeof t&&i[t]()})}var n=function(t,r){this.options=e.extend({},n.DEFAULTS,r),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.6",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(e,t,n,r){var i=this.$target.scrollTop(),a=this.$element.offset(),o=this.$target.height();if(null!=n&&"top"==this.affixed)return n>i&&"top";if("bottom"==this.affixed)return null!=n?!(i+this.unpin<=a.top)&&"bottom":!(e-r>=i+o)&&"bottom";var s=null==this.affixed,u=s?i:a.top,c=s?o:t;return null!=n&&n>=i?"top":null!=r&&u+c>=e-r&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),r=this.options.offset,i=r.top,a=r.bottom,o=Math.max(e(document).height(),e(document.body).height());"object"!=typeof r&&(a=i=r),"function"==typeof i&&(i=r.top(this.$element)),"function"==typeof a&&(a=r.bottom(this.$element));var s=this.getState(o,t,i,a);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),c=e.Event(u+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:o-t-a})}};var r=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=r,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),r=n.data();r.offset=r.offset||{},null!=r.offsetBottom&&(r.offset.bottom=r.offsetBottom),null!=r.offsetTop&&(r.offset.top=r.offsetTop),t.call(n,r)})})}(jQuery),+function(e){"use strict";function t(t){var n,r=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(r)}function n(t){return this.each(function(){var n=e(this),i=n.data("bs.collapse"),a=e.extend({},r.DEFAULTS,n.data(),"object"==typeof t&&t);!i&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),i||n.data("bs.collapse",i=new r(this,a)),"string"==typeof t&&i[t]()})}var r=function(t,n){this.$element=e(t),this.options=e.extend({},r.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};r.VERSION="3.3.6",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(t=i.data("bs.collapse"),t&&t.transitioning))){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){i&&i.length&&(n.call(i,"hide"),t||i.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return s.call(this);var u=e.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][u])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION):i.call(this)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,r){var i=e(r);this.addAriaAndCollapsedClass(t(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var i=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=r,e.fn.collapse.noConflict=function(){return e.fn.collapse=i,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(r){var i=e(this);i.attr("data-target")||r.preventDefault();var a=t(i),o=a.data("bs.collapse"),s=o?"toggle":i.data();n.call(a,s)})}(jQuery),+function(e){"use strict";function t(n,r){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=e(this),i=r.data("bs.scrollspy"),a="object"==typeof n&&n;i||r.data("bs.scrollspy",i=new t(this,a)),"string"==typeof n&&i[n]()})}t.VERSION="3.3.6",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),i=t.data("target")||t.attr("href"),a=/^#./.test(i)&&e(i);return a&&a.length&&a.is(":visible")&&[[a[n]().top+r,i]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),r=this.options.offset+n-this.$scrollElement.height(),i=this.offsets,a=this.targets,o=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=r)return o!=(e=a[a.length-1])&&this.activate(e);if(o&&t<i[0])return this.activeTarget=null,this.clear();for(e=i.length;e--;)o!=a[e]&&t>=i[e]&&(void 0===i[e+1]||t<i[e+1])&&this.activate(a[e])},t.prototype.activate=function(t){this.activeTarget=t,this.clear();var n=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',r=e(n).parents("li").addClass("active");r.parent(".dropdown-menu").length&&(r=r.closest("li.dropdown").addClass("active")),r.trigger("activate.bs.scrollspy")},t.prototype.clear=function(){e(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var r=e.fn.scrollspy;e.fn.scrollspy=n,e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=r,this},e(window).on("load.bs.scrollspy.data-api",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);n.call(t,t.data())})})}(jQuery),+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,r=this;e(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||e(r).trigger(e.support.transition.end)};return setTimeout(i,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),Raven.context(function(){angular.module("fuelCalculator",["ngRoute"]).config(["$routeProvider",function(e){e.when("/vehicle-comparison",{templateUrl:"views/comparison.html",controller:"ComparisonCtrl",controllerAs:"vm"}).when("/cost-and-distance",{templateUrl:"views/cost-and-distance.html",controller:"CostAndDistanceCtrl",controllerAs:"vm"}).when("/tank",{templateUrl:"views/tank.html",controller:"TankCtrl",controllerAs:"vm"}).when("/water/cost-and-volume",{templateUrl:"views/water-cost-and-volume.html",controller:"WaterCostAndVolumeCtrl",controllerAs:"vm"}).when("/water/comparison",{templateUrl:"views/water-comparison.html",controller:"WaterComparisonCtrl",controllerAs:"vm"}).when("/electricity/comparison",{templateUrl:"views/electricity-comparison.html",controller:"ElectricityComparisonCtrl",controllerAs:"vm"}).when("/electricity/consumption-and-cost",{templateUrl:"views/electricity-consumption-and-cost.html",controller:"ElectricityConsumptionAndCostCtrl",controllerAs:"vm"}).when("/comparison",{redirectTo:"/vehicle-comparison"}).when("/cost",{redirectTo:"/cost-and-distance"}).when("/distance",{redirectTo:"/cost-and-distance"}).when("/tank-volume",{redirectTo:"/tank"}).otherwise({redirectTo:"/cost-and-distance"})}]).run(["$rootScope","$location","$window",function(e,t,n){var r=null;e.$on("$routeChangeSuccess",function(e,i,a){var o=t.path();n.ga&&o!==r&&n.ga("send","pageview",{page:o}),r=o})}])}),angular.module("fuelCalculator").service("locationService",["$location",function(e){function t(){return"/electricity/consumption-and-cost"===e.path()||"/electricity/comparison"===e.path()}function n(){return"/water/cost-and-volume"===e.path()||"/water/comparison"===e.path()}this.isFuelPage=function(){return!t()&&!n()},this.isElectricityPage=t,this.isWaterPage=n}]),angular.module("fuelCalculator").service("validationService",[function(){function e(e,t){return function(n){return e.indexOf(n)>=0?n:t}}this.getValidWaterMeasure=e(["cost","volume"],"cost"),this.getValidWaterPeriod=e(["month","three-months","year"],"month"),this.getValidCounterRadius=e(["12","19","40","50","60"],"19")}]),angular.module("fuelCalculator").service("settingsService",["$window",function(e){this.vehicleOption=function(t){return t?void e.localStorage.setItem("vehicleOption",t):e.localStorage.getItem("vehicleOption")||"vehicle"},this.manufacturer=function(t){return t?void e.localStorage.setItem("manufacturer",t):e.localStorage.getItem("manufacturer")||"Toyota"},this.model=function(t){return t?void e.localStorage.setItem("model",t):e.localStorage.getItem("model")||"Hilux"},this.year=function(t){return t?void e.localStorage.setItem("year",parseInt(t)||2015):parseInt(e.localStorage.getItem("year"))||2015;
},this.fuelType=function(t){return t?void e.localStorage.setItem("fuelType",t):e.localStorage.getItem("fuelType")||"91"},this.tankCostOrVolume=function(t){return t?void e.localStorage.setItem("tankVolume",parseFloat(t)||65):parseFloat(e.localStorage.getItem("tankVolume"))||65},this.averageOrEfficiency=function(t){return t?void e.localStorage.setItem("consumption",parseFloat(t)||8):parseFloat(e.localStorage.getItem("consumption"))||8},this.alertsRead=function(t){return t?void e.localStorage.setItem("alertsRead",!!t):!!e.localStorage.getItem("alertsRead")}}]),angular.module("fuelCalculator").service("vehicleService",[function(){function e(e,t){var n=!1,r=null;return Object.keys(e).forEach(function(e){n||(e===t?(r=e,n=!0):(null===r||e<r)&&(r=e))}),r}var t={1984:{BMW:{"3 Series":8,"6 Series":6,"5 Series":6,"7 Series":6},Chevrolet:{Corvette:6,Camaro:6,"Cavalier Convertible":9,Chevette:14,Cavalier:9,Celebrity:9,"Citation II":7,"Monte Carlo":6,"Impala/Caprice":6,"Cavalier Wagon":9,"Celebrity Wagon":9,"Caprice Wagon":6,"S10 Pickup 2WD":7,"C10 Pickup 2WD":6,"C20 Pickup 2WD":8,"El Camino Pickup 2WD":6,"K10 Pickup 4WD":7,"K20 Pickup 4WD":7,"T10 (S10) Pickup 4WD":6,"G10/20 Van 2WD":8,"G30 Van 2WD":6,"G10/20 Sport Van 2WD":8,"G30 Sport Van 2WD":4,"Suburban C10 2WD":6,"S10 Blazer 2WD":7,"S10 Utility Body 2WD":7,"K5/K10 Blazer 4WD":6,"Suburban K10 4WD":6,"T10 (S10) Blazer 4WD":6,"S10 Cab Chassis 2WD":6},Dodge:{600:8,Charger:9,Colt:10,Conquest:7,Daytona:8,"600 Convertible":8,Omni:9,Aries:8,Diplomat:6,"Colt Vista":9,"Aries Wagon":8,"Rampage Pickup 2WD":9,"Ram 50 Pickup 2WD":8,"Power Ram 50 Pickup 4WD":7,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":5,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":5,"B350 Van 2WD":5,"B150/B250 Wagon 2WD":5,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Ram Van 2WD":8,"AW100/AW150 Ramcharger 4WD":4,"D250 Pickup Cab Chassis 2WD":4},Ford:{EXP:9,Laser:11,Mustang:6,Escort:13,Tempo:9,Thunderbird:6,LTD:6,"LTD Crown Victoria":6,"Escort Wagon":13,"LTD Wagon":7,"LTD Crown Victoria Wagon":6,"Courier Pickup 2WD":9,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":6,"F150 Pickup 2WD":6,"F250 Pickup 2WD":6,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"E150 Club Wagon 2WD":4,"Bronco II 4WD":6,"Bronco 4WD":4,"F250 Pickup Cab Chassis 2WD":5,"Ranger Pickup Cab Chassis 2WD":7},GMC:{"S15 Pickup 2WD":7,"Caballero Pickup 2WD":6,"C15 Pickup 2WD":6,"C25 Pickup 2WD":8,"K15 Pickup 4WD":7,"K25 Pickup 4WD":7,"T15 (S15) Pickup 4WD":6,"Vandura G15/25 2WD":8,"Vandura G35 2WD":6,"G15/25 Rally 2WD":8,"G35 Rally 2WD":4,"C15 Suburban 2WD":6,"S15 Jimmy 2WD":7,"S15 Utility Body 2WD":7,"K15 Jimmy 4WD":6,"K15 Suburban 4WD":6,"T15 (S15) Jimmy 4WD":6,"S15 Cab Chassis 2WD":6},Honda:{"Civic CRX":12,Accord:10,Civic:11,Prelude:9,"Civic Wagon":11},Jeep:{"Scrambler Pickup 4WD":7,"J-10 Pickup 4WD":4,"Cherokee/Wagoneer 4WD":6,"CJ7 4WD":7,"Grand Wagoneer 4WD":4,"CJ8 4WD":7},Mazda:{626:13,"RX-7":6,GLC:11,"GLC Wagon":9,"B2000/B2200 Pickup 2WD":11},"Mercedes-Benz":{"380SL":6,"190 D 2.2/190 E 2.3":8,"300D/300CD":9,"300SD/380SE":6,"500SEC":5,"500SEL":5,"300TD":9},Mercury:{Capri:6,Cougar:6,Lynx:13,Topaz:9,Marquis:6,"Grand Marquis":6,"Lynx Wagon":13,"Marquis Wagon":7,"Grand Marquis Wagon":6},Nissan:{"300ZX":7,Maxima:8,"Pulsar/Pulsar-NX":11,Sentra:14,"200SX":10,"300ZX 2x2":7,Stanza:10,"Maxima Wagon":8,"Sentra Wagon":14,"Pickup 2WD":10,"Pickup 4WD":7,"Pickup Cab Chassis":6},Toyota:{Starlet:14,Celica:9,"Celica Supra":7,"Corolla Sport":11,Cressida:7,Tercel:11,Camry:11,Corolla:14,"Cressida Wagon":8,"Tercel Wagon":11,"Tercel Wagon 4WD":10,"Truck 2WD":11,"Truck 4WD":7,"Cargo Van 2WD":9,"Van 2WD":9,"Land Cruiser Wagon 4WD":4,"4Runner 4WD":7,"Cab Chassis 2WD":6}},1985:{BMW:{"5 Series":6,"7 Series":6,"3 Series":8,"6 Series":6},Chevrolet:{"Suburban C10 2WD":6,"S10 Blazer 2WD":7,"K10 Blazer 4WD":6,"Suburban K10 4WD":6,"T10 (S10) Blazer 4WD":6,"S10 Cab Chassis 2WD":6,Camaro:6,"Cavalier Convertible":7,Chevette:14,Cavalier:7,Celebrity:10,"Citation II":7,"Monte Carlo":6,"Impala/Caprice":8,"Cavalier Wagon":7,"Celebrity Wagon":10,"Caprice Wagon":8,"S10 Pickup 2WD":6,"C10 Pickup 2WD":8,"C20 Pickup 2WD":7,"El Camino Pickup 2WD":6,"K10 Pickup 4WD":7,"T10 (S10) Pickup 4WD":6,"Astro 2WD (cargo)":7,"G10/20 Van 2WD":8,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":7,"G30 Sport Van 2WD":4,Nova:11,Corvette:6,Sprint:17,Spectrum:14,"K20 Pickup 4WD":6,"G30 Van 2WD":6},Dodge:{600:8,Charger:9,"B150/B250 Wagon 2WD":5,"B350 Wagon 2WD":4,Colt:13,"AD100/AD150 Ramcharger 2WD":5,"Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":7,Conquest:7,"D250 Cab Chassis 2WD":4,Daytona:9,"600 Convertible":8,Omni:7,Aries:8,Diplomat:5,Lancer:7,"Colt Vista":9,"Aries Wagon":8,"Power Ram 50 Pickup 4WD":8,"D100/D150 Pickup 2WD":3,"D250 Pickup 2WD":3,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"Ram 50 Pickup 2WD":9,"W100/W150 Pickup 4WD":3,"W250 Pickup 4WD":3},Ford:{"E150 Club Wagon":4,"Bronco II 4WD":6,"Bronco 4WD":5,"Ranger Pickup Cab Chassis":6,EXP:9,Mustang:6,Laser:11,Escort:15,Tempo:9,Thunderbird:6,LTD:6,"Escort Wagon":13,"LTD Wagon":7,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":4,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"LTD Crown Victoria":5,"LTD Crown Victoria Wagon":6},GMC:{"G15/25 Rally 2WD":6,"G35 Rally 2WD":4,"Safari 2WD (passenger)":6,"C15 Suburban 2WD":6,"S15 Jimmy 2WD":7,"K15 Jimmy 4WD":6,"K15 Suburban 4WD":6,"T15 (S15) Jimmy 4WD":6,"S15 Cab Chassis 2WD":6,"S15 Pickup 2WD":6,"Caballero Pickup 2WD":6,"C15 Pickup 2WD":8,"C25 Pickup 2WD":7,"K15 Pickup 4WD":7,"T15 (S15) Pickup 4WD":6,"G15/25 Vandura 2WD":6,"Safari 2WD (cargo)":7,"K25 Pickup 4WD":6,"Vandura G15/25 2WD":8,"Vandura G35 2WD":6},Honda:{"Civic CRX":11,"Civic CRX HF":17,Accord:9,Civic:11,Prelude:9,"Civic Wagon":11,"Civic Wagon 4WD":10},Jeep:{"Cherokee/Wagoneer":6,CJ7:6,"Grand Wagoneer":6,Scrambler:6,"J-10 Pickup Truck":4,"J-20 Pickup Truck":4},Mazda:{626:13,"RX-7":6,GLC:11,"GLC Wagon":9},"Mercedes-Benz":{190:7,"500SL":6,"500SEC":5,"500SE":6,"500SEL":5,"380SL":6,"300D/300CD":8,"300SD":8,"380SE":6,"300TD":8},Mercury:{Capri:6,Cougar:6,Lynx:13,Topaz:8,Marquis:6,"Lynx Wagon":13,"Marquis Wagon":7,"Grand Marquis":6,"Grand Marquis Wagon":6},Nissan:{"Truck Cab Chassis 2WD":6,"300ZX":6,"Pulsar/Pulsar-NX":11,Sentra:16,"200SX":8,"300ZX 2x2":7,Maxima:7,Stanza:10,"Sentra Wagon":11,"Truck 2WD":11,"Truck 4WD":7,"Maxima Wagon":6},Toyota:{"Van 2WD":9,"Land Cruiser Wagon 4WD":4,"4Runner 4WD":8,"Cab Chassis 2WD":6,"Corolla Sport":10,Tercel:11,Corolla:14,"Tercel Wagon 2WD":11,"Tercel Wagon 4WD":10,"Truck 2WD":11,"Truck 4WD":10,Celica:9,"Celica Supra":8,MR2:10,Camry:11,Cressida:8,"Cressida Wagon":7,"1-Ton Truck 2WD":8,"Cargo Van 2WD":9}},1986:{BMW:{"3 Series":8,"6 Series":6,"5 Series":6,"7 Series":6},Chevrolet:{Corvette:6,"Corvette Convertible":6,Sprint:16,"Sprint ER":19,Camaro:6,"Cavalier Convertible":7,"Chevette CS":14,Spectrum:14,"Sprint Plus":16,Cavalier:7,Nova:11,Celebrity:7,"Monte Carlo":6,Caprice:5,"Cavalier Wagon":7,"Celebrity Wagon":7,"Caprice Wagon":6,"S10 Pickup 2WD":6,"C10 Pickup 2WD":6,"C20 Pickup 2WD":7,"El Camino Pickup 2WD":6,"K10 Pickup 4WD":7,"K20 Pickup 4WD":6,"T10 (S10) Pickup 4WD":6,"Astro 2WD (cargo)":7,"G10/20 Van 2WD":8,"G30 Van 2WD":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":7,"G30 Sport Van 2WD":4,"Suburban C10 2WD":7,"S10 Blazer 2WD":6,"K10 Blazer 4WD":6,"Suburban K10 4WD":6,"T10 (S10) Blazer 4WD":6,"S10 Cab Chassis 2WD":6},Dodge:{600:9,Charger:8,Colt:9,Conquest:7,Daytona:9,"600 Convertible":9,Omni:8,"GLH-S":7,Aries:9,Diplomat:5,Lancer:9,"Colt Vista":9,"Aries Wagon":9,"Ram 50 Pickup 2WD":8,"Power Ram50 4WD":7,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":7,"D250 Cab Chassis 2WD":4},Ford:{EXP:9,Laser:10,Mustang:6,Escort:13,"Escort FS":14,Tempo:9,Thunderbird:7,LTD:7,Taurus:8,"LTD Crown Victoria":5,"Escort Wagon":13,"LTD Wagon":7,"Taurus Wagon":7,"LTD Crown Victoria Wagon":7,"Courier Pickup 2WD":8,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":7,"F150 Pickup 2WD":6,"F250 Pickup 2WD":5,"F150 Pickup 4WD":5,"F250 Pickup 4WD":5,"Aerostar Van":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"E150 Club Wagon":5,"Bronco II 2WD":7,"Bronco II 4WD":7,"Bronco 4WD":5,"Ranger Pickup Cab Chassis":6},GMC:{"S15 Pickup 2WD":6,"Caballero Pickup 2WD":6,"C15 Pickup 2WD":6,"C25 Pickup 2WD":7,"K15 Pickup 4WD":7,"K25 Pickup 4WD":6,"T15 (S15) Pickup 4WD":6,"G15/25 Vandura 2WD":8,"G35 Vandura 2WD":6,"Safari 2WD (cargo)":7,"G15/25 Rally 2WD":7,"G35 Rally 2WD":4,"Safari 2WD (passenger)":6,"C15 Suburban 2WD":7,"S15 Jimmy 2WD":6,"K15 Jimmy 4WD":6,"K15 Suburban 4WD":6,"T15 (S15) Jimmy 4WD":6,"S15 Cab Chassis 2WD":6},Honda:{"Civic CRX":11,"Civic CRX HF":16,Accord:9,Civic:11,Prelude:9,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{"Pony Excel":11},Jeep:{Scrambler:6,"Comanche 2WD":6,"Comanche 4WD":6,"J-10 Pickup Truck":4,"J-20 Pickup Truck":4,"Cherokee/Wagoneer 2WD":6,"Cherokee/Wagoneer 4WD":6,CJ7:6,"Grand Wagoneer":4},Mazda:{323:10,626:8,"RX-7":6,"GLC Wagon":9,B2000:8},"Mercedes-Benz":{190:11,"560SL":5,"300E":7,"560SEC":5,"420SEL":6,"560SEL":5,"300SDL":9},Mercury:{Capri:6,Cougar:7,Lynx:13,Topaz:9,Marquis:7,Sable:8,"Grand Marquis":7,"Lynx Wagon":13,"Marquis Wagon":7,"Sable Wagon":7,"Grand Marquis Wagon":7},Nissan:{"300ZX":7,"Pulsar NX":11,Sentra:16,"200SX":8,"300ZX 2x2":7,Maxima:7,Stanza:10,"Maxima Wagon":7,"Sentra Wagon":11,"Stanza Wagon 2WD":9,"Truck 2WD":11,"Truck 2WD (new Version)":6,"Truck 4WD":7,"Truck 4WD (new Version)":6,"Stanza Wagon 4WD":8,"Truck Cab Chassis 2WD":6},Toyota:{MR2:10,Celica:9,"Celica Supra":7,"Corolla Sport":10,Supra:6,Tercel:11,Camry:10,Corolla:11,Cressida:7,"Tercel Wagon 2WD":11,"Tercel Wagon 4WD":10,"Cressida Wagon":7,"Truck 2WD":8,"1-Ton Truck 2WD":9,"Truck 4WD":8,"Cargo Van 2WD":8,"Van 2WD":8,"4Runner 4WD":8,"Cab/Chassis":6,"Land Cruiser Wagon 4WD":4}},1987:{BMW:{"3 Series":8,"6 Series":4,"5 Series":6,"7 Series":6},Chevrolet:{Camaro:6,"V10 (K10) Suburban 4WD":6,Corvette:6,"Corvette Convertible":6,"Sprint ER":19,"Turbo Sprint":13,"Cavalier Convertible":7,"Chevette CS":10,Spectrum:13,"Spectrum Turbo":10,Sprint:15,Beretta:7,Cavalier:7,Corsica:7,Nova:11,Celebrity:7,"Monte Carlo":6,Caprice:6,"Cavalier Wagon":7,"Celebrity Wagon":7,"Caprice Wagon":6,"S10 Pickup 2WD":7,"El Camino Pickup 2WD":6,"R10 Pickup 2WD":8,"R20 (C20) Pickup 2WD":7,"T10 (S10) Pickup 4WD":6,"V10 (K10) Pickup 4WD":7,"V20 Pickup 4WD":7,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":8,"G30 Van 2WD":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":7,"G30 Sport Van 2WD":5,"R10 Suburban 2WD":7,"S10 Blazer 2WD":6,"T10 (S10) Blazer 4WD":6,"V10 (K10) Blazer 4WD":6,"S10 Cab Chassis 2WD":6},Dodge:{600:8,Charger:7,Colt:9,Daytona:8,"Lancer Convertible":8,"Charger GLH-S":7,Omni:7,Shadow:6,Aries:8,Diplomat:5,Lancer:7,"Colt Vista":9,"Aries Wagon":8,"Ram 50 Pickup 2WD":8,"Dakota Pickup 2WD":7,"D100/D150 Pickup 2WD":5,"D250 Pickup 2WD":5,"Dakota Pickup 4WD":6,"Power Ram50 4WD":7,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Grand Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":8,Raider:6,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{Courier:8,"Ranger Pickup 2WD":7,"Courier Pickup 4WD":6,"F150 Pickup 2WD":5,EXP:9,Mustang:6,Escort:13,Laser:10,Tempo:8,"Tempo AWD":8,Thunderbird:7,Taurus:7,"LTD Crown Victoria":5,"Escort Wagon":10,"Taurus Wagon":7,"Taurus Wagon 3.0 A/C":7,"LTD Crown Victoria Wagon":7,"Ranger Pickup 4WD":7,"F250 Pickup 2WD":5,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"Aerostar Van":7,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"E150 Club Wagon":4,"Bronco II 2WD":7,"Bronco II 4WD":7,"Bronco 4WD":4},GMC:{"V15 Suburban 4WD":6,"S15 Pickup 2WD":7,"Caballero Pickup 2WD":6,"R15 Pickup 2WD":8,"R25 Pickup 2WD":7,"T15 (S15) Pickup 4WD":6,"V15 Pickup 4WD":7,"V25 Pickup 4WD":7,"G15/25 Vandura 2WD":8,"G35 Vandura 2WD":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":7,"G35 Rally 2WD":5,"Safari 2WD (passenger)":6,"R15 Suburban 2WD":7,"S15 Jimmy 2WD":6,"T15 (S15) Jimmy 4WD":6,"V15 Jimmy 4WD":6,"S15 Cab Chassis 2WD":6},Honda:{"Civic CRX":11,"Civic CRX HF":16,Civic:11,Prelude:9,Accord:9,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{Excel:11},Jeep:{"Comanche 2WD":7,"Comanche 4WD":6,"J-10 Pickup Truck 4WD":4,"J-20 Pickup Truck 4WD":4,"Cherokee 2WD":7,"Cherokee/Wagoneer 4WD":7,"Grand Wagoneer 4WD":4,"Wrangler 4WD":6},Mazda:{323:10,626:8,"B2000/B2200/B2600":8,"B2600 4x4":6,"RX-7":6,"323 Wagon":10},"Mercedes-Benz":{"560SL":5,"190D 2.5":11,"190D 2.5 Turbo":10,"190E 2.3":8,"190E 2.3-16":7,"190E 2.6":7,"260E":7,"300D":9,"300E":7,"560SEC":5,"300SDL":8,"420SEL":6,"560SEL":5,"300TD":9},Mercury:{Cougar:7,Lynx:13,Topaz:8,"Topaz AWD":8,Sable:7,"Grand Marquis":7,"Lynx Wagon":10,"Sable Wagon":7,"Sable Wagon 3.0 A/C":7,"Grand Marquis Wagon":7},Nissan:{"300ZX":7,"Pulsar NX":10,"Sentra Coupe":10,"Sentra Honeybee":12,"200SX":7,"300ZX 2x2":7,Maxima:7,Sentra:10,Stanza:9,"Maxima Wagon":7,"Sentra Wagon":10,"Sentra Wagon 4WD":9,"Stanza Wagon 2WD":8,"Truck 2WD":6,"Truck 4WD":6,"Van(cargo)":7,"Van (passenger)":7,"Pathfinder 4WD":6,"Stanza Wagon 4WD":7,"Truck Cab Chassis 2WD":5},Toyota:{MR2:10,"Celica Convertible":10,Celica:9,"Corolla FX":9,"Corolla Sport":10,Supra:7,Tercel:11,Camry:10,Corolla:11,Cressida:7,"Camry Wagon":10,"Tercel Wagon 2WD":11,"Tercel Wagon 4WD":10,"Cressida Wagon":7,"Truck 2WD":9,"1-Ton Truck 2WD":9,"Truck 4WD":8,"Cargo Van 2WD":8,"Cargo Van 4WD":8,"Van 2WD":8,"Van 4WD":8,"Land Cruiser Wagon 4WD":4,"4Runner 4WD":8,"Cab/Chassis 2WD":6}},1988:{BMW:{"3 Series":8,"6 Series":4,"5 Series":4,"7 Series":6,"750 Series":5},Chevrolet:{Corvette:6,"Corvette Convertible":6,"Sprint Metro":19,"Turbo Sprint":13,Camaro:6,"Cavalier Convertible":8,Spectrum:13,"Spectrum Turbo":10,Sprint:15,Beretta:7,Cavalier:8,Corsica:7,Nova:9,Celebrity:8,"Monte Carlo":6,Caprice:5,"Cavalier Wagon":8,"Celebrity Wagon":7,"Caprice Wagon":6,"S10 Pickup 2WD":7,"C10 Pickup 2WD":8,"C20 Pickup 2WD":8,"K10 Pickup 4WD":7,"K20 Pickup 4WD":7,"T10 (S10) Pickup 4WD":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":8,"G30 Van 2WD":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":7,"G30 Sport Van 2WD":5,"R10 Suburban 2WD":6,"S10 Blazer 2WD":7,"T10 (S10) Blazer 4WD":6,"V10 Blazer 4WD":6,"V10 Suburban 4WD":6,"S10 Cab Chassis 2WD":6},Dodge:{600:9,Colt:9,Daytona:8,Omni:9,Shadow:9,Aries:9,Diplomat:5,Dynasty:7,Lancer:8,"Colt Vista":9,"Colt Wagon":11,"Aries Wagon":9,"Ram 50 Pickup 2WD":8,"Dakota Pickup 2WD":6,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":6,"Power Ram50 4WD":7,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Grand Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":8,Raider:6,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{Tempo:9,"Taurus Wagon V6 A/C":6,"F150 Pickup 4WD":5,"F250 Pickup 4WD":4,"Bronco 4WD":4,EXP:10,Festiva:14,Mustang:6,Escort:10,Laser:10,"Tempo AWD":7,Thunderbird:7,Taurus:7,"LTD Crown Victoria":5,"Escort Wagon":10,"Taurus Wagon":7,"LTD Crown Victoria Wagon":6,Courier:8,"Ranger Pickup 2WD":7,"Courier Pickup 4WD":6,"Ranger Pickup 4WD":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"Aerostar Van":7,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"E150 Club Wagon":4,"Bronco II 2WD":7,"Bronco II 4WD":7},GMC:{"S15 Pickup 2WD":7,"C15 Pickup 2WD":8,"C25 Pickup 2WD":8,"K15 Pickup 4WD":7,"K25 Pickup 4WD":7,"T15 (S15) Pickup 4WD":6,"G15/25 Vandura 2WD":8,"G35 Vandura 2WD":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":7,"G35 Rally 2WD":5,"Safari 2WD (passenger)":6,"R15 Suburban 2WD":6,"S15 Jimmy 2WD":7,"T15 (S15) Jimmy 4WD":6,"V15 Jimmy 4WD":6,"V15 Suburban 4WD":6,"S15 Cab Chassis 2WD":6},Honda:{"Civic CRX":11,"Civic CRX HF":16,Civic:12,Prelude:9,Accord:9,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{Excel:10},Jeep:{"Comanche 2WD":7,"Comanche 4WD":7,"J-10 Pickup Truck 4WD":4,"J-20 Pickup Truck 4WD":4,"Cherokee 2WD":7,"Cherokee/Wagoneer 4WD":7,"Grand Wagoneer 4WD":4,"Wrangler 4WD":6},Mazda:{323:10,929:7,"RX-7":6,"626/MX-6":8,"323 Wagon":10,"B2200/B2600":7,"B2600 4x4":6},"Mercedes-Benz":{"560SL":5,"190D 2.5":11,"190E 2.3":8,"190E 2.6":7,"300CE":7,"260E":7,"300E":6,"300SE":6,"560SEC":5,"300SEL":6,"420SEL":6,"560SEL":5,"300TE":6},Mercury:{Topaz:9,"Sable Wagon V6 A/C":6,Cougar:7,"Topaz AWD":7,Tracer:10,Sable:7,"Grand Marquis":6,"Tracer Wagon":10,"Sable Wagon":8,"Grand Marquis Wagon":6},Nissan:{"300ZX":6,"Pulsar NX":9,"Sentra Coupe":11,"200SX":7,"300ZX 2x2":6,Maxima:7,Sentra:11,Stanza:8,"Maxima Wagon":7,"Sentra Wagon":10,"Sentra Wagon 4WD":9,"Stanza Wagon 2WD":8,"Truck 2WD":6,"Truck 4WD":6,"Van (cargo)":7,"Van (passenger)":7,"Pathfinder 4WD":6,"Stanza Wagon 4WD":8,"Truck Cab Chassis 2WD":6},Toyota:{MR2:9,"Celica Convertible":10,Celica:8,Corolla:9,"Corolla FX":9,Supra:7,Tercel:11,"Tercel EZ":13,Camry:7,Cressida:7,"Camry Wagon":7,"Corolla All-Trac Wagon":9,"Corolla Wagon":11,"Tercel Wagon":10,"Truck 2WD":9,"1-Ton Truck 2WD":7,"Truck 4WD":6,"Van 2WD (cargo)":8,"Van 4WD (cargo)":8,"Van 2WD (passenger)":8,"Van 4WD (passenger)":8,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6,"Cab/Chassis 2WD":6}},1989:{BMW:{M3:6,M6:4,"325i Convertible":7,"325i/325is":7,"325ix":6,"635csi":6,"525i":7,"535i":6,"735i":6,"735il":6,"750il":5},Chevrolet:{Corvette:6,"Corvette Convertible":6,Camaro:6,"Cavalier Convertible":7,Sprint:16,"Turbo Sprint":13,Beretta:7,Cavalier:7,Celebrity:8,Corsica:7,Caprice:6,"Cavalier Wagon":7,"Celebrity Wagon":8,"Caprice Wagon":6,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":7,"C2500 Pickup 2WD":7,"K1500 Pickup 4WD":7,"K2500 Pickup 4WD":6,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":8,"G30 Van 2WD":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":7,"G30 Sport Van 2WD":5,"R1500 Suburban 2WD":6,"S10 Blazer 2WD":7,"S10 Blazer 4WD":6,"Blazer V1500 4WD":6,"Suburban V1500 4WD":6,"S10 Cab Chassis 2WD":7},Dodge:{600:9,Colt:9,Daytona:8,"Shadow Convertible":9,Omni:10,Shadow:9,CSX:8,Aries:9,Diplomat:5,Dynasty:7,Lancer:9,Spirit:7,"Colt Vista":8,"Colt Wagon":11,"Ram 50 Pickup 2WD":8,"Dakota Pickup 2WD":5,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":6,"Power Ram50 4WD":7,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Grand Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":7,"Colt Wagon 4WD":9,Raider:6,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":7,"Bronco II 2WD":7,Festiva:11,Mustang:6,Escort:9,Laser:10,Probe:9,Tempo:8,"Tempo AWD":7,Taurus:7,Thunderbird:6,"LTD Crown Victoria":5,"Escort Wagon":10,"Taurus Wagon":7,"Taurus Wagon V6 A/C":7,"LTD Crown Victoria/Country Squire Wagon":6,Courier:8,"F150 Pickup 2WD":5,"F250 Pickup 2WD":4,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"Aerostar Van":7,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"E150 Club Wagon":4,"Bronco II 4WD":6,"Bronco 4WD":4},GMC:{"S15 Pickup 2WD":7,"Sierra 1500 2WD":7,"C2500 Sierra 2WD":7,"Sierra 1500 4WD":7,"K2500 Sierra 4WD":6,"S15 Pickup 4WD":6,"G15/25 Vandura 2WD":8,"G35 Vandura 2WD":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":7,"G35 Rally 2WD":5,"Safari 2WD (passenger)":6,"R1500 Suburban 2WD":6,"S15 Jimmy 2WD":7,"S15 Jimmy 4WD":6,"Jimmy V1500 4WD":6,"Suburban V1500 4WD":6},Honda:{"Civic CRX":10,"Civic CRX HF":16,Civic:10,Prelude:9,Accord:9,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{Excel:10,Sonata:7},Jeep:{"Comanche Pickup 2WD":6,"Comanche Pickup 4WD":6,"Cherokee 2WD":6,"Cherokee/Wagoneer 4WD":6,"Grand Wagoneer 4WD":4,"Wagoneer Limited 4WD":6,"Wrangler 4WD":6},Mazda:{323:10,929:7,"RX-7":6,"626/MX-6":8,"323 Wagon":10,"B2200/B2600":8,"B2600i 4x4":7,MPV:7,"MPV 4WD":6},"Mercedes-Benz":{"560SL":5,"190D 2.5":10,"190E 2.6":7,"300CE":7,"260E":8,"300E":7,"300SE":6,"560SEC":5,"300SEL":6,"420SEL":6,"560SEL":5,"300TE":6},Mercury:{Topaz:8,"Topaz AWD":7,Tracer:10,Cougar:6,Sable:7,"Grand Marquis":6,"Tracer Wagon":10,"Sable Wagon":7,"Sable Wagon V6 A/C":7,"Grand Marquis Wagon":6},Nissan:{"300ZX":6,"Pulsar NX":9,"Sentra Coupe":10,"240SX":8,"300ZX 2x2":6,Sentra:10,Stanza:8,Maxima:8,"Sentra Wagon":10,"Sentra Wagon 4WD":9,"Truck 2WD":6,"Truck 4WD":6,"Pathfinder 2WD":6,"Pathfinder 4WD":6,"Truck Cab Chassis 2WD":6},Toyota:{MR2:10,"Celica Convertible":10,Celica:8,Corolla:10,Supra:7,Tercel:11,Camry:7,Cressida:7,"Camry Wagon":7,"Corolla All-Trac Wagon":9,"Corolla Wagon":11,"Truck 2WD":7,"1-Ton Truck 2WD":7,"Truck 4WD":6,"Van 2WD (cargo)":8,"Van 4WD (cargo)":8,"Van 2WD (passenger)":8,"Van 4WD (passenger)":8,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6,"Cab/Chassis 2WD":5}},1990:{BMW:{M3:6,"325i Convertible":7,"325i/325is":7,"325ix":6,"525i":7,"535i":6,"735i":6,"735il":6,"750il":5},Chevrolet:{"Twin-Turbo Corvette":6,Corvette:6,Camaro:6,Sprint:16,"Turbo Sprint":13,Beretta:7,Cavalier:7,Corsica:7,Lumina:7,Caprice:6,"Cavalier Wagon":7,"Celebrity Wagon":7,"Caprice Wagon":6,"S10 Pickup 2WD":6,"C1500 Pickup 2WD":4,"C2500 Pickup 2WD":7,"K1500 Pickup 4WD":6,"K2500 Pickup 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":7,"G30 Van 2WD":5,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":6,"G30 Sport Van 2WD":5,"Lumina/APV Minivan 2WD":7,"R1500 Suburban 2WD":6,"S10 Blazer 2WD":6,"S10 Blazer 4WD":6,"Blazer V1500 4WD":6,"Suburban V1500 4WD":6,"S10 Cab Chassis 2WD":7},Dodge:{Colt:9,Daytona:7,Omni:9,Shadow:9,Dynasty:7,Spirit:7,Monaco:6,"Colt Vista":9,"Colt Wagon":10,"Ram 50 Pickup 2WD":7,"Dakota Pickup 2WD":6,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":6,"Power Ram 50 4WD":6,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Grand Caravan/Ram Van 2WD":7,"AW100/AW150 Ramcharger 4WD":4,"Colt Vista 4WD":7,"Colt Wagon 4WD":9,"Raider 4WD":6,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{"Ranger Pickup 2WD":6,"F150 Pickup 2WD":5,"F250 Pickup 2WD":4,"E250 Econoline 2WD":4,Festiva:13,Mustang:6,Escort:10,Probe:7,Tempo:8,"Tempo AWD":7,Taurus:7,"Taurus SHO":7,Thunderbird:6,"LTD Crown Victoria":5,"Escort Wagon":10,"Taurus Wagon":7,"Taurus Wagon V6 A/C":7,"LTD Crown Victoria Wagon":6,"Ranger Pickup 4WD":6,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"Aerostar Van":6,"Aerostar Van AWD":6,"E150 Econoline 2WD":4,"Aerostar Wagon":6,"Aerostar Wagon AWD":6,"E150 Club Wagon":4,"Bronco II 2WD":7,"Bronco II 4WD":6,"Bronco 4WD":4},GMC:{"Safari 2WD (passenger)":6,"S15 Pickup 2WD":6,"Sierra 1500 2WD":7,"C2500 Sierra 2WD":7,"Sierra 1500 4WD":6,"K2500 Sierra 4WD":6,"S15 Pickup 4WD":6,"G15/25 Vandura 2WD":7,"G35 Vandura 2WD":5,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":6,"G35 Rally 2WD":5,"Safari AWD (passenger)":6,"R1500 Suburban 2WD":6,"S15 Jimmy 2WD":6,"S15 Jimmy 4WD":6,"Jimmy V1500 4WD":6,"Suburban V1500 4WD":6},Honda:{"Civic CRX":10,"Civic CRX HF":15,Civic:10,Prelude:8,Accord:9,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{Excel:11,Sonata:7},Jeep:{"Comanche Pickup 2WD":6,"Comanche Pickup 4WD":6,"Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Wagoneer 4WD":4,"Wagoneer 4WD":6,"Wrangler 4WD":6},Lexus:{"ES 250":7,"LS 400":7},Mazda:{929:7,"RX-7":6,"MX-5 Miata":9,"323/323 Protege":9,"626/MX-6":8,"B2200/B2600i":7,"B2600i 4x4":7,MPV:7,"MPV 4x4":6},"Mercedes-Benz":{"420SE":5,"300SL":6,"500SL":5,"190E 2.6":7,"300CE":6,"300D 2.5 Turbo":10,"300E":7,"300E 2.6":7,"300E 4Matic":6,"300SE":6,"560SEC":5,"300SEL":6,"350SDL Turbo":8,"420SEL":6,"560SEL":5,"300TE":6,"300TE 4Matic":6},Mercury:{Topaz:8,"Topaz AWD":7,Cougar:6,Sable:7,"Grand Marquis":6,"Sable Wagon":7,"Sable Wagon V6 A/C":7,"Grand Marquis Wagon":6},Nissan:{"300ZX":7,"240SX":8,"Pulsar NX":9,Sentra:10,"Sentra Coupe":10,"300ZX 2x2":7,Stanza:8,Maxima:8,"Sentra Wagon":10,"Hardbody 2WD":7,"Hardbody 4WD":6,"Van (passenger)":7,Axxess:8,"Pathfinder 2WD":6,"Axxess AWD":7,"Pathfinder 4WD":6},Toyota:{"Celica Convertible":9,Celica:9,Corolla:9,Supra:6,Tercel:10,Camry:7,Cressida:7,"Camry Wagon":7,"Corolla All-Trac Wagon":8,"Corolla Wagon":10,"Truck 2WD":7,"1-Ton Truck 2WD":7,"Truck 4WD":6,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6,"Cab/Chassis 2WD":5}},1991:{BMW:{M3:6,"318is":7,"318is Convertible":8,"325i Convertible":6,"325i/325is":7,"325ix":6,"850i":5,"318i":7,M5:4,"525i":6,"535i":6,"325i":6,"325ic":6,"325is":6,"735i":6,"735il":5,"750il":5,"735i Luxury":5,"750i":5},Chevrolet:{"K1500 Pickup 4WD":6,"K2500 Pickup 4WD":6,"Twin-Turbo Corvette":6,Corvette:6,Camaro:6,Cavalier:7,"Cavalier Convertible":7,Sprint:16,Beretta:7,Corsica:7,Lumina:6,Caprice:6,"Cavalier Wagon":8,"Caprice Wagon":6,"S10 Pickup 2WD":6,"C1500 Pickup 2WD":4,"C2500 Pickup 2WD":7,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":6,"G30 Van 2WD":6,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":6,"G30 Sport Van 2WD":5,"Lumina/APV Minivan 2WD":7,"R1500 Suburban 2WD":6,"S10 Blazer 2WD":6,"S10 Blazer 4WD":6,"Blazer V1500 4WD":6,"Suburban V1500 4WD":6,"Postal Cab Chassis 2WD":6,"S10 Cab Chassis 2WD":7},Dodge:{Colt:11,Daytona:7,"Shadow Convertible":9,Stealth:7,Shadow:8,Dynasty:7,Spirit:8,Monaco:7,"Colt Vista":8,"Ram 50 Pickup 2WD":7,"Dakota Pickup 2WD":6,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":5,"Power Ram 50 4WD":6,"W100/W150 Pickup 4WD":3,"W250 Pickup 4WD":3,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"AD100/AD150 Ramcharger 2WD":4,"Caravan/Grand Caravan 2WD":7,"AW100/AW150 Ramcharger 4WD":3,"Caravan/Grand Caravan 4WD":6,"Colt Vista 4WD":7,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{Festiva:13,Mustang:6,Escort:11,"Escort FS":11,Probe:7,Tempo:8,"Tempo AWD":8,Taurus:7,"Taurus SHO":7,Thunderbird:7,"LTD Crown Victoria":5,"Escort Wagon":11,"Taurus Wagon":7,"LTD Crown Victoria Wagon":6,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":6,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"F150 Pickup 4WD":4,"F250 Pickup 4WD":4,"Aerostar Van":6,"Aerostar Van AWD":6,"E150 Econoline 2WD":4,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"Aerostar Wagon AWD":6,"E150 Club Wagon":4,"Explorer 2WD":7,"Bronco 4WD":4,"Explorer 4WD":6},GMC:{"Sierra 1500 4WD":6,"Sierra 2500 4WD":7,"Sonoma 2WD":6,"Sierra 1500 2WD":8,"C2500 Sierra 2WD":7,"K2500 Sierra 4WD":6,"Sonoma 4WD":6,"G15/25 Vandura 2WD":6,"G35 Vandura 2WD":6,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":6,"G35 Rally 2WD":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Jimmy Sonoma 2WD":6,"R1500 Suburban 2WD":6,"Jimmy Sonoma 4WD":6,"Jimmy V1500 4WD":6,"Suburban V1500 4WD":6},Honda:{"Civic CRX":10,"Civic CRX HF":15,Civic:10,Prelude:8,Accord:9,"Accord Wagon":8,"Civic Wagon":11,"Civic Wagon 4WD":9},Hyundai:{Excel:11,Scoupe:10,Sonata:7},Jeep:{"Comanche Pickup 2WD":6,"Comanche Pickup 4WD":6,"Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Wagoneer 4WD":4,"Wrangler 4WD":6},Lexus:{"ES 250":7,"LS 400":7},Mazda:{929:7,"RX-7":6,"MX-5 Miata":9,"323 Protege 4x4":9,"323/323 Protege":9,"626/MX-6":9,"B2200/B2600i":7,"B2600i 4x4":7,MPV:6,"MPV 4x4":6,Navajo:6},"Mercedes-Benz":{"500SL":6,"300SL":6,"190E":7,"230TE":8,"190E 2.3":8,"190E 2.6":7,"300CE":6,"200E":8,"230E":7,"300D 2.5 Turbo":10,"300E":6,"300E 2.6":7,"300E 4Matic":6,"300SE":6,"350SD Turbo":8,"560SEC":5,"300SEL":6,"260E":6,"420 SE":5,"350SDL Turbo":8,"420SEL":6,"560SEL":5,"230CE":8,"300TE":6,"300TE 4Matic":6},Mercury:{Capri:9,Topaz:8,"Topaz AWD":8,Tracer:11,Cougar:7,Sable:7,"Grand Marquis":6,"Tracer Wagon":11,"Sable Wagon":7,"Grand Marquis Wagon":6},Nissan:{"300ZX":7,"NX Coupe":9,"240SX":8,Sentra:9,"300ZX 2x2":7,Stanza:8,Maxima:8,"Truck 2WD":7,"Truck 4WD":6,Axxess:8,"Pathfinder 2WD":6,"Axxess AWD":7,"Pathfinder 4WD":6},Toyota:{MR2:8,"Celica Convertible":8,Celica:8,Corolla:10,Supra:7,Tercel:11,Camry:7,Cressida:7,"Camry Wagon":7,"Corolla All-Trac Wagon":8,"Corolla Wagon":10,"Truck 2WD":7,"1-Ton Truck 2WD":7,"Truck 4WD":6,Previa:7,"Previa All-Trac":7,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6,"Cab/Chassis 2WD":4}},1992:{BMW:{"318i/318iS":8,"325i/325iS":7,"525i":6,"525i Touring":6,"318i Convertible":8,"325i Convertible":6,"850i":5,M5:5,"535i":6,"735i":6,"735il":5,"750il":5},Chevrolet:{"C1500 Pickup 2WD":4,Corvette:6,Camaro:6,Cavalier:7,Sprint:16,Beretta:7,Corsica:7,Lumina:6,Caprice:6,"Cavalier Wagon":8,"Caprice Wagon":6,"S10 Pickup 2WD":6,"C2500 Pickup 2WD":7,"K1500 Pickup 4WD":7,"K2500 Pickup 4WD":7,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":6,"G30 Van 2WD":6,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"G10/20 Sport Van 2WD":6,"G30 Sport Van 2WD":5,"Lumina/APV Minivan 2WD":6,"Suburban 1500 2WD":5,"S10 Blazer 2WD":6,"Blazer 1500 4WD":5,"Suburban 1500 4WD":5,"S10 Blazer 4WD":6,"Coachbuilder Wagon":6,"Postal Cab Chassis 2WD":6},Dodge:{Viper:5,Colt:11,Daytona:7,"Shadow Convertible":7,Stealth:7,Shadow:8,Dynasty:7,Spirit:8,Monaco:7,"Ram 50 Pickup 2WD":7,"Dakota Pickup 2WD":5,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":5,"Power Ram 50 4WD":6,"W100/W150 Pickup 4WD":3,"W250 Pickup 4WD":3,"B150/B250 Van 2WD":4,"B350 Van 2WD":4,"B150/B250 Wagon 2WD":4,"B350 Wagon 2WD":4,"Caravan C/V/Grand Caravan 2WD":7,"Caravan/Grand Caravan 2WD":7,"Ramcharger 2WD":4,"Caravan C/V/Grand Caravan 4WD":6,"Caravan/Grand Caravan 4WD":6,"Ramcharger 4WD":3,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":4},Ford:{Festiva:13,Mustang:6,Escort:11,"Escort FS":11,Probe:7,Tempo:8,"Tempo FS":8,Taurus:7,"Taurus SHO":7,Thunderbird:6,"LTD Crown Victoria":7,"Escort Wagon":11,"Taurus Wagon":7,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"F150 Pickup 4WD":5,"Aerostar Van":6,"Aerostar Van AWD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"Aerostar Wagon AWD":6,"E150 Club Wagon":4,"Explorer 2WD":6,"Bronco 4WD":5,"Explorer 4WD":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":8,"C2500 Sierra 2WD":7,"Sierra 1500 4WD":7,"K2500 Sierra 4WD":7,"Sonoma 4WD":6,"G15/25 Vandura 2WD":6,"G35 Vandura 2WD":6,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"G15/25 Rally 2WD":6,"G35 Rally 2WD":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Suburban 1500 2WD":5,"Jimmy 2WD":6,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon 1500 4WD":5},Honda:{Civic:11,"Civic HB VX":15,Prelude:8,Accord:9,"Accord Wagon":8},Hyundai:{Excel:11,Scoupe:10,"J-Car/Elantra":8,Sonata:7},Jeep:{"Comanche Pickup 2WD":7,"Comanche Pickup 4WD":6,"Cherokee 2WD":7,"Cherokee 4WD":6,"Wrangler 4WD":6},Lexus:{"SC 300/SC 400":7,"ES 300":7,"LS 400":7},Mazda:{323:11,929:7,"MX-5 Miata":9,"RX-7":6,"MX-3":9,Protege:9,"626/MX-6":9,"B2200/B2600i":7,"B2600i 4x4":7,MPV:6,Navajo:6,"MPV 4x4":6,"Navajo 4x4":6},"Mercedes-Benz":{"300SL":6,"500SL":4,"560SL":4,"190E 2.3":8,"190E 2.6":7,"300CE":6,"500SEC":4,"560SEC":4,"300D 2.5 Turbo":10,"300E":7,"300E 2.6":8,"300E 4Matic":6,"400E":6,"500E":6,"500SE":4,"500SEL 5.6L":4,"560SE":4,"560SEL":4,"300SD":8,"300SE":6,"400SE":5,"500SEL 5.0L":5,"600SEL":4,"300TE":6,"300TE 4Matic":6},Mercury:{Capri:9,Topaz:8,Tracer:11,Cougar:6,Sable:7,"Grand Marquis":7,"Tracer Wagon":11,"Sable Wagon":7},Nissan:{"300ZX":7,NX:9,"240SX":8,Sentra:9,"300ZX 2x2":7,Stanza:8,Maxima:8,"Truck 2WD":7,"Truck 4WD":6,"Pathfinder Van (cargo)":6,Axxess:8,"Pathfinder 2WD":6,"Axxess AWD":7,"Pathfinder 4WD":6},Toyota:{MR2:8,"Celica Convertible":8,Paseo:10,Celica:8,Corolla:10,Supra:7,Tercel:11,Cressida:7,Camry:7,"Corolla All-Trac Wagon":8,"Corolla Wagon":10,"Camry Wagon":7,"Truck 2WD":7,"1-Ton Truck 2WD":7,"Truck 4WD":6,Previa:7,"Previa All-Trac":6,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":4,"4Runner 4WD":6,"Cab/Chassis 2WD":4}},1993:{
BMW:{"740i":6,"740il":6,"750il":5,"525i Touring":7,"318i/318is":8,"325i Convertible":6,"325i/325is":7,"850ci":5,"525i":7,M5:5,"535i":6},Chevrolet:{Lumina:6,Caprice:6,"Cavalier Wagon":8,"Caprice Wagon":6,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":7,"Pickup 2500 2WD":5,"K1500 Pickup 4WD":6,"Pickup 2500 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":6,"G30 Van 2WD":6,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"Sport Van G10/20 2WD":5,"Sport Van G30 2WD":5,"Lumina/APV Minivan 2WD":6,"Suburban 1500 2WD":5,"S10 Blazer 2WD":7,"Blazer 1500 4WD":5,"Suburban 1500 4WD":5,"S10 Blazer 4WD":6,"Coachbuilder Wagon":6,"Postal Cab Chassis 2WD":6,Sprint:16,"C2500 Pickup 2WD":7,"K2500 Pickup 4WD":7,"G10/20 Sport Van 2WD":6,Corvette:6,Camaro:6,Cavalier:7,Beretta:7,Corsica:8},Dodge:{Dynasty:8,Spirit:8,Intrepid:7,"Ram 50 Pickup 2WD":7,"Dakota Pickup 2WD":6,"D100/D150 Pickup 2WD":4,"D250 Pickup 2WD":4,"Dakota Pickup 4WD":5,"Power Ram 50 4WD":7,"W100/W150 Pickup 4WD":4,"W250 Pickup 4WD":4,"B150/B250 Van 2WD":5,"B350 Van 2WD":5,"B150/B250 Wagon 2WD":5,"B350 Wagon 2WD":4,"Caravan C/V/Grand Caravan 2WD":7,"Caravan/Grand Caravan 2WD":6,"Ramcharger 2WD":5,"Caravan/Grand Caravan 4WD":6,"Ramcharger 4WD":4,"Dakota Cab Chassis 2WD":5,"D250 Cab Chassis 2WD":5,Viper:5,Colt:10,Daytona:7,"Shadow Convertible":7,Stealth:7,Shadow:7},Ford:{Taurus:7,"Taurus SHO":7,Thunderbird:6,"LTD Crown Victoria":7,"Escort Wagon":11,"Taurus Wagon":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":7,"Aerostar Van":6,"Aerostar Van AWD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":4,"Aerostar Wagon":6,"Aerostar Wagon AWD":6,"E150 Club Wagon":4,"Explorer 2WD":7,"Bronco 4WD":5,"Explorer 4WD":6,"Crown Victoria Police":6,Festiva:13,Mustang:6,Probe:8,Escort:11,"Escort FS":11,Tempo:8},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":7,"Sierra 2500 2WD":7,"Sierra 1500 4WD":7,"Sierra 2500 4WD":7,"Sonoma 4WD":6,"Vandura G15/25 2WD":6,"Vandura G35 2WD":6,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"Rally G15/25 2WD":6,"Rally G35 2WD":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Suburban 1500 2WD":5,"Jimmy 2WD":7,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon 1500 4WD":5},Honda:{"Accord Wagon":9,Prelude:8,"Civic Del Sol":11,Civic:11,"Civic HB VX":16,Accord:9},Hyundai:{Sonata:7,Excel:11,Scoupe:10,Elantra:8},Jeep:{"Comanche Pickup 4WD":6,"Comanche Pickup 2WD":6,"Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":5,"Wrangler 4WD":6,"Grand Cherokee 2WD":6},Kia:{Sephia:10},Lexus:{"LS 400":7,GS300:7,"SC 300/SC 400":7,"ES 300":7},Mazda:{323:11,626:8,929:7,"B2200/B2600i":7,"B2600i 4x4":7,MPV:6,"MPV 4x4":6,Navajo:7,"Navajo 4x4":7,"MX-5 Miata":9,"RX-7":6,"MX-3":9,"MX-6":8,Protege:10},"Mercedes-Benz":{"300SD":8,"300SE":6,"400SEL":6,"500SEL":5,"300SL":6,"500SL":6,"600SL":5,"300CE":7,"300D 2.5 Turbo":10,"300E":7,"300E 2.8":7,"300E 4Matic":6,"500E":6,"500SEC":5,"600SEL/SEC":5,"300TE":7,"300TE 4Matic":6,"190E 2.3":8,"190E 2.6":7,"400E":7},Mercury:{Cougar:6,Sable:7,"Grand Marquis":7,"Tracer Wagon":11,"Sable Wagon":7,"Villager FWD Van":7,"Villager FWD Wagon":7,Capri:9,Topaz:8,Tracer:11},Nissan:{Maxima:8,"Truck 2WD":7,"Truck 4WD":6,"Pathfinder 2WD":6,Quest:7,"Pathfinder 4WD":6,"300ZX":7,NX:9,"240SX":8,Sentra:9,"300ZX 2x2":7,"Altima / Stanza":9},Toyota:{Corolla:10,Camry:7,"Corolla Wagon":10,"Camry Wagon":7,"T100 2WD":6,"Truck 4WD/T100 4WD":6,Previa:7,"Previa All-Trac":6,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6,"Cab/Chassis 2WD":4,Supra:6,"Truck 2WD/T100 2WD":6,MR2:8,"Celica Convertible":8,Paseo:10,Celica:8,Tercel:10}},1994:{BMW:{"318i Convertible":8,"325i Convertible":7,"318i/318is":8,"325i/325is":7,"850ci":5,"850csi":5,"525i":7,"530i":6,"540i":6,"740i":6,"740il":6,"750il":5,"525i Touring":7,"530i Touring":6,"840ci":6},Chevrolet:{Corvette:6,Camaro:6,Cavalier:7,Sprint:16,Beretta:7,Corsica:8,Lumina:6,"Caprice/Impala":6,"Cavalier Wagon":8,"Caprice/Impala Wagon":6,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":7,"Pickup 2500 2WD":7,"K1500 Pickup 4WD":6,"Pickup 2500 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":6,"G30 Van 2WD":5,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"Sport Van G10/20 2WD":6,"Sport Van G30 2WD":5,"Suburban 1500 2WD":5,"Lumina Minivan 2WD":6,"S10 Blazer 2WD":6,"Blazer 1500 4WD":6,"Suburban 1500 4WD":5,"S10 Blazer 4WD":6,"Coachbuilder Wagon":6,"Postal Cab Chassis 2WD":7},Dodge:{Viper:5,Colt:10,Stealth:7,Shadow:6,Spirit:7,Intrepid:7,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Ram 2500 Pickup 2WD":5,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Ram 2500 Pickup 4WD":5,"B150/B250 Van 2WD":5,"B350 Van 2WD":5,"B150/B250 Wagon 2WD":5,"B350 Wagon 2WD":4,"Caravan C/V/Grand Caravan 2WD":7,"Caravan/Grand Caravan 2WD":6,"Caravan/Grand Caravan 4WD":6,"Dakota Cab Chassis 2WD":5},Ford:{Aspire:13,Mustang:6,Probe:8,Escort:11,Tempo:8,Taurus:7,"Taurus SHO":7,Thunderbird:7,"Crown Victoria Police":6,"LTD Crown Victoria":7,"Escort Wagon":11,"Taurus Wagon":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"Lightning F150 2WD":5,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"Aerostar Van":6,"Aerostar Van AWD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"Aerostar Wagon":6,"Aerostar Wagon AWD":6,"E150 Club Wagon":5,"Explorer 2WD":7,"Bronco 4WD":5,"Explorer 4WD":6},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":7,"Sierra 2500 2WD":5,"Sierra 1500 4WD":6,"Sierra 2500 4WD":6,"Sonoma 4WD":6,"Vandura G15/25 2WD":6,"Vandura G35 2WD":5,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"Rally G15/25 2WD":6,"Rally G35 2WD":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Suburban 1500 2WD":5,"Jimmy 2WD":6,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon K1500 4WD":6},Honda:{"Civic Del Sol":10,Civic:11,"Civic HB VX":16,Prelude:8,Accord:9,"Accord Wagon":9,"Passport 2WD":6,"Passport 4WD":6},Hyundai:{Excel:10,Scoupe:10,Elantra:8,Precis:10,Sonata:7,"Sonata (Y-3)":7},Jeep:{"Cherokee 2WD":6,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":5,"Wrangler 4WD":6},Kia:{Sephia:10},Lexus:{"SC 300/SC 400":7,"ES 300":7,"GS 300":7,"LS 400":7},Mazda:{323:10,626:8,929:7,"MX-5 Miata":8,"RX-7":6,"MX-3":9,"MX-6":8,Protege:9,"B2300/B3000/B4000 Pickup 2WD":7,"B2300/B3000/B4000 Pickup 4WD":7,MPV:6,Navajo:6,"MPV 4x4":6,"Navajo 4x4":6},"Mercedes-Benz":{SL320:6,SL500:6,SL600:5,"E320 Convertible":7,"E320 Coupe":7,C220:8,C280:8,"E320 Sedan":7,E420:7,E500:6,"S500 Coupe":6,"S600 Coupe":5,S320:6,S350D:8,S420:6,"S500 Sedan":5,"S600 Sedan":5,"E320 Wagon":7},Mercury:{Capri:9,Topaz:8,Tracer:11,Cougar:7,Sable:7,"Grand Marquis":7,"Tracer Wagon":11,"Sable Wagon":7,"Villager FWD Van":6,"Villager FWD Wagon":6},Nissan:{"300ZX":7,Sentra:9,"300ZX 2x2":7,"Altima / Stanza":9,Maxima:8,"Truck 2WD":7,"Truck 4WD":6,"Pathfinder 2WD":6,Quest:7,"Pathfinder 4WD":6,"240SX":8},Toyota:{MR2:8,Paseo:10,Supra:6,Celica:9,Tercel:10,Corolla:10,Camry:7,"Corolla Wagon":10,"Camry Wagon":7,"T100 2WD":6,"Truck 2WD":6,"T100 4WD":6,"Truck 4WD":6,Previa:6,"Previa All-Trac":6,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6}},1995:{BMW:{"318i Convertible":8,"325i Convertible":7,M3:7,"318i/318is":8,"325i/325is":7,"840ci":6,"850ci":5,"850csi":4,"318ti":8,"525i":7,"530i":6,"540i":6,"740i":6,"740il":6,"750il":6,"525i Touring":7,"530i Touring":6},Chevrolet:{Corvette:6,Camaro:6,Beretta:8,Cavalier:8,Corsica:8,"Lumina/Monte Carlo":6,"Caprice/Impala":6,"Caprice/Impala Wagon":6,"S10 Pickup 2WD":6,"C1500 Pickup 2WD":6,"Pickup 2500 2WD":5,"K1500 Pickup 4WD":6,"Pickup 2500 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"G10/20 Van 2WD":6,"G30 Van 2WD":6,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"Sport Van G10/20 2WD":6,"Blazer 2WD":6,"Tahoe 1500 2WD":5,"Lumina Minivan 2WD":6,"Blazer 4WD":6,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":6,"Sport Van G10/20 2WD (passenger)":5,"G10/20 Van 2WD (cargo)":5,"G30 Van 2WD (cargo)":5,"Suburban 1500 2WD":5,"Sport Van G30 2WD (cargo)":5},Dodge:{Viper:5,Stealth:7,Avenger:8,Neon:11,Spirit:8,Stratus:8,Intrepid:7,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Ram 2500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":4,"Ram 2500 Pickup 4WD":5,"B1500/B2500 Van 2WD":5,"B3500 Van 2WD":5,"B1500/B2500 Wagon 2WD":5,"B3500 Wagon 2WD":4,"Caravan C/V/Grand Caravan 2WD":7,"Caravan/Grand Caravan 2WD":6,"Caravan/Grand Caravan 4WD":6,"Dakota Cab Chassis 2WD":5},Ford:{Aspire:13,Mustang:5,Probe:8,Contour:9,Escort:11,Taurus:7,"Taurus SHO":7,"Taurus FFV":7,Thunderbird:6,"Crown Victoria":6,"Crown Victoria Police":6,"Escort Wagon":11,"Taurus Wagon":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"Lightning F150 2WD":5,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"Aerostar Van":7,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"Aerostar Wagon AWD":6,"Aerostar Wagon":6,"E150 Club Wagon":5,"Explorer 2WD":7,"Windstar FWD Van":6,"Windstar FWD Wagon":6,"Bronco 4WD":5,"Explorer 4WD":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":6,"Sierra 2500 2WD":5,"Sierra 1500 4WD":6,"Sierra 2500 4WD":5,"Sonoma 4WD":6,"Vandura G15/25 2WD":6,"Vandura G35 2WD":6,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"Rally G15/25 2WD":6,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Yukon 1500 2WD":5,"Jimmy 2WD":6,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon 1500 4WD":6,"Vandura G15/25 2WD (cargo)":5,"Vandura G35 2WD (cargo)":5,"Suburban 1500 2WD":5,"Vandura 2500 2WD":5,"Rally G15/25 2WD (passenger)":5},Honda:{"Civic Del Sol":11,Civic:11,"Civic HB VX":16,Prelude:8,Accord:7,"Accord Wagon":9,Odyssey:8,"Passport 2WD":6,"Passport 4WD":6},Hyundai:{Scoupe:10,Accent:11,Elantra:8,Sonata:7},Jeep:{"Cherokee 2WD":6,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":5,"Wrangler 4WD":6},Kia:{Sephia:9,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 300/SC 400":7,"ES 300":8,"GS 300":7,"LS 400":7},Mazda:{323:11,626:8,929:7,"MX-5 Miata":9,"RX-7":6,"MX-3":9,"MX-6":8,Millenia:8,Protege:10,"B2300/B3000/B4000 Pickup 2WD":7,"B2300/B3000/B4000 Pickup 4WD":6,MPV:6,"MPV 4x4":6},"Mercedes-Benz":{SL320:6,SL500:6,SL600:5,"E320 Convertible":7,"E320 Coupe":8,C220:9,C280:8,C36:7,"E320 Sedan":8,E420:7,"S500 Coupe":6,"S600 Coupe":5,S320:6,S350:8,S420:6,"S500 Sedan":6,"S600 Sedan":5,"E320 Wagon":7,"E300 Diesel":10},Mercury:{Mystique:9,Tracer:11,Cougar:6,Sable:7,"Grand Marquis":6,"Tracer Wagon":11,"Sable Wagon":7,"Villager FWD Van":6,"Villager FWD Wagon":6},Nissan:{"300ZX":7,"240SX":8,"Sentra Classic":11,"Sentra/200SX":9,"300ZX 2x2":7,"Altima / Stanza":9,Maxima:8,"Truck 2WD":7,"Truck 4WD":6,"Pathfinder Van (cargo)":6,"Pathfinder 2WD":6,Quest:7,"Pathfinder 4WD":6},Toyota:{MR2:8,"Celica Convertible":8,Paseo:11,Supra:6,Celica:8,Tercel:11,Corolla:10,Camry:8,Avalon:8,"Corolla Wagon":10,"Camry Wagon":8,"Tacoma 2WD":7,"T100 2WD":7,"Truck 2WD":7,"Tacoma 4WD":6,"T100 4WD":6,"Truck 4WD":6,Previa:7,"Previa All-Trac":6,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"4Runner 4WD":6}},1996:{BMW:{"Z3 Roadster":9,"318i Convertible":9,"328i Convertible":8,M3:8,"318i/318is":9,"328i/328is":8,"840ci":6,"850ci":5,"318ti":9,"740il":6,"750il":6},Chevrolet:{Corvette:6,Camaro:6,Beretta:8,Cavalier:9,Corsica:8,"Lumina/Monte Carlo":6,"Caprice/Impala":6,"Caprice/Impala Wagon":6,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":6,"Pickup 2500 2WD":6,"K1500 Pickup 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"Van 1500/2500 2WD":5,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"Express 1500/2500 2WD":5,"Blazer 2WD":7,"Suburban 1500 2WD":5,"Tahoe 1500 2WD":5,"Lumina Minivan 2WD":7,"Blazer AWD":6,"Blazer 4WD":6,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":6},Dodge:{Viper:5,Stealth:7,Avenger:8,Neon:10,Stratus:8,Intrepid:7,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Ram 2500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":4,"Ram 2500 Pickup 4WD":5,"B1500/B2500 Van 2WD":5,"B3500 Van 2WD":5,"B1500/B2500 Wagon 2WD":5,"B3500 Wagon 2WD":4,"Caravan/Grand Caravan 2WD":6,"Caravan/Grand Caravan 4WD":6},Ford:{Aspire:11,Mustang:7,Probe:8,Contour:8,Escort:11,Taurus:7,"Taurus SHO":6,Thunderbird:6,"Crown Victoria":6,"Crown Victoria CNG":6,"Crown Victoria Police":6,"Escort Wagon":11,"Taurus Wagon":7,"F150 Pickup 2WD":5,F250:5,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"Aerostar Van":7,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"Aerostar Wagon AWD":6,"Aerostar Wagon":6,"E150 Club Wagon":5,"Explorer 2WD":5,"Windstar FWD Van":6,"Windstar FWD Wagon":6,"Bronco 4WD":5,"Explorer 4WD":5},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":6,"Sierra 2500 2WD":6,"Sierra 1500 4WD":6,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":5,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"Savana 1500/2500 2WD (passenger)":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Suburban 1500 2WD":5,"Yukon 1500 2WD":5,"Jimmy 2WD":7,"Jimmy AWD":6,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon 1500 4WD":6},Honda:{"Del Sol":11,Civic:12,"Civic HX":14,Prelude:8,Accord:7,"Accord Wagon":9,Odyssey:8,"Passport 2WD":6,"Passport 4WD":6},Hyundai:{Accent:10,"Accent (Sporty)":10,Elantra:9,Sonata:7,"Elantra Wagon":9},Jeep:{"Cherokee 2WD":7,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":5},Kia:{Sephia:9,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 300/SC 400":7,"ES 300":8,"GS 300":7,"LS 400":7,"LX 450":5},Mazda:{626:8,"MX-5 Miata":9,"MX-3":9,"MX-6":8,Millenia:8,Protege:10,"B2300/B3000/B4000 Pickup 2WD":7,"B2300/B3000/B4000 Pickup 4WD":6,MPV:6,"MPV 4x4":6},"Mercedes-Benz":{SL320:6,SL500:6,SL600:5,C220:9,C280:7,"C36 AMG":7,"E300 Diesel":10,E320:7,"S500 Coupe":6,"S600 Coupe":5,S320:6,S420:6,S500:6,S600:5},Mercury:{Mystique:8,Tracer:11,Cougar:6,Sable:8,"Grand Marquis":6,"Tracer Wagon":11,"Sable Wagon":7,"Villager FWD Van":7,"Villager FWD Wagon":7},Nissan:{"300ZX":7,"240SX":8,"Sentra/200SX":9,"300ZX 2x2":7,"Altima / Stanza":9,Maxima:8,"Truck 2WD":8,"Truck 4WD":6,"Pathfinder 2WD":6,Quest:7,"Pathfinder 4WD":6},Toyota:{"Celica Convertible":8,Paseo:11,Supra:7,Celica:8,Tercel:11,Corolla:11,Camry:8,Avalon:8,"Corolla Wagon":11,"Camry Wagon":8,"Tacoma 2WD":7,"T100 2WD":6,"Tacoma 4WD":6,"T100 4WD":6,Previa:7,"Previa All-Trac":6,"RAV4 2WD":9,"4Runner 2WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"4Runner 4WD":6}},1997:{BMW:{"Z3 Roadster":7,"318i Convertible":9,"328ic":8,M3:8,"318i/318is":9,"328i/328is":8,"840ci":6,"850ci":5,"318ti":9,"528i":8,"540i":6,"740il":6,"750il":6},Chevrolet:{Camaro:6,Cavalier:9,"Lumina/Monte Carlo":6,Malibu:8,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":6,"Pickup 2500 2WD":6,"K1500 Pickup 4WD":6,"S10 Pickup 4WD":6,"Astro AWD (cargo)":6,"Astro 2WD (cargo)":6,"Van 1500/2500 2WD":6,"Astro AWD (passenger)":6,"Astro 2WD (passenger)":6,"Express 1500/2500 2WD":5,"Blazer 2WD":7,"Suburban 1500 2WD":5,"Tahoe 1500 2WD":6,"Venture 2WD":7,"Blazer AWD":6,"Blazer 4WD":6,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":6,Corvette:7},Dodge:{Avenger:8,Neon:11,Stratus:8,Intrepid:6,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"B1500/B2500 Van 2WD":5,"B3500 Van 2WD":5,"B1500/B2500 Wagon 2WD":5,"B3500 Wagon 2WD":4,"Caravan/Grand Caravan 2WD":6,"Caravan/Grand Caravan 4WD":6},Ford:{Aspire:12,Mustang:6,Probe:8,Contour:8,Escort:10,Taurus:8,"Taurus SHO":6,Thunderbird:6,"Crown Victoria CNG":6,"Crown Victoria":6,"Escort Wagon":10,"Taurus Wagon":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"F250 Pickup 4WD":5,"Ranger Pickup 4WD":6,"Aerostar Van":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"Aerostar Wagon AWD":6,"Aerostar Wagon":6,"E150 Club Wagon":5,"Expedition 2WD":5,"Explorer 2WD":5,"Windstar FWD Van":6,"Windstar FWD Wagon":6,"Expedition 4WD":5,"Explorer 4WD":5,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":6,"Sierra 2500 2WD":6,"Sierra 1500 4WD":6,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":6,"Safari AWD (cargo)":6,"Safari 2WD (cargo)":6,"Savana 1500/2500 2WD (passenger)":5,"Safari AWD (passenger)":6,"Safari 2WD (passenger)":6,"Suburban 1500 2WD":5,"Yukon 1500 2WD":6,"Jimmy 2WD":7,"Jimmy AWD":6,"Jimmy 4WD":6,"Suburban 1500 4WD":5,"Yukon 1500 4WD":6},Honda:{"Del Sol":11,Civic:12,Accord:7,"Accord Wagon":9,Odyssey:8,"Passport 2WD":6,"Passport 4WD":6,"CR-V 4WD":8},Hyundai:{"Tiburon (Coupe)":8,"Accent (SOHC)":10,Elantra:9,Sonata:7,"Elantra Wagon":9},Jeep:{"Grand Cherokee 2WD":5,"Grand Cherokee 4WD":5,"Cherokee 2WD":6,"Cherokee 4WD":6,"Wrangler 4WD":6},Kia:{Sephia:9,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 300/SC 400":7,"ES 300":7,"GS 300":7,"LS 400":7,"LX 450":5},Mazda:{626:8,"MX-5 Miata":9,"MX-6":8,Millenia:8,Protege:10,"B2300/B3000/B4000 Pickup 2WD":7,"B2300/B3000/B4000 Pickup 4WD":6,MPV:6,"MPV 4x4":6},"Mercedes-Benz":{SL320:7,SL500:6,SL600:5,C230:9,C280:8,"C36 AMG":7,"S500 Coupe":6,"S600 Coupe":5,"E300 Diesel":10,E320:8,E420:7,S320:6,S420:6,S500:6,S600:5},Mercury:{Mystique:8,Tracer:10,Cougar:6,Sable:8,"Grand Marquis":6,"Tracer Wagon":10,"Sable Wagon":7,"Mountaineer 2WD":5,"Villager FWD Van":7,"Villager FWD Wagon":7,"Mountaineer 4WD":5},Nissan:{"240SX":8,"Sentra/200SX":9,"Altima / Stanza":9,Maxima:8,"Truck 2WD":8,"Truck 4WD":6,"Pathfinder 2WD":6,Quest:6,"Pathfinder 4WD":6},Toyota:{"Celica Convertible":8,Paseo:11,"Paseo Convertible":11,Supra:6,Celica:8,Corolla:11,Tercel:12,Camry:8,Avalon:8,"Tacoma 2WD":7,"T100 2WD":6,"Tacoma 4WD":6,"T100 4WD":6,Previa:7,"Previa All-Trac":6,"RAV4 2WD":9,"4Runner 2WD":6,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"4Runner 4WD":6}},1998:{BMW:{"M Roadster":8,"Z3 Roadster":7,"323i Convertible":8,"328i Convertible":7,"M3 Convertible":8,"318i/318is":9,"323is":8,"328i/328is":7,M3:8,"318ti":9,"528i":7,"540i":6,"740i":6,"740il":6,"750il":6},Chevrolet:{Corvette:7,Camaro:7,Cavalier:9,Metro:14,Prizm:11,"Lumina/Monte Carlo":7,Malibu:7,"S10 Pickup 2WD":7,"C1500 Pickup 2WD":5,"Pickup 2500 2WD":6,"K1500 Pickup 4WD":6,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"Astro AWD (cargo)":6,"Van 1500/2500 2WD":6,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":6,"Express 1500/2500 2WD":5,"Blazer 2WD":7,"Suburban 1500 2WD":5,"Tahoe 1500 2WD":5,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":9,"Venture FWD":7,"Blazer 4WD":6,"Blazer AWD":6,"Tahoe 1500 4WD":6,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":9,"S10 Electric":12},Dodge:{"Viper Convertible":5,"Viper Coupe":5,Avenger:7,Neon:11,Stratus:7,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"B1500 Van 2WD":5,"B2500 Van 2WD":5,"B1500 Wagon 2WD":5,"B2500 Wagon 2WD":5,"Caravan/Grand Caravan 2WD":6,"Caravan/Grand Caravan AWD":6,"Durango 4WD":5},Ford:{"Escort ZX2":9,Mustang:6,Contour:7,Escort:10,Taurus:7,"Taurus SHO":6,"Crown Victoria":6,"Escort Wagon":10,"Taurus Wagon":7,"F150 Pickup 2WD":6,"F250 Pickup 2WD":5,"F250 Pickup 2WD CNG":4,"Ranger Pickup 2WD":6,"F150 Pickup 4WD":5,"F250 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"E250 Econoline 2WD CNG":4,"E150 Club Wagon":5,"Expedition 2WD":5,"Explorer 2WD":5,"Windstar FWD Van":7,"Windstar FWD Wagon":7,"Expedition 4WD":5,"Explorer 4WD":5,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":5,"Sierra 2500 2WD":6,"Sierra 1500 4WD":6,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":6,"Safari 2WD (cargo)":6,"Safari AWD (cargo)":6,"Savana 1500/2500 2WD (passenger)":5,"Safari 2WD (passenger)":6,"Safari AWD (passenger)":6,"Suburban 1500 2WD":5,"Yukon 1500 2WD":5,"Jimmy 2WD":7,"Jimmy 4WD":6,"Jimmy AWD":6,"Yukon 1500 4WD":6},Honda:{Civic:11,"Civic CNG":10,"Civic HX":13,Prelude:9,Accord:8,Odyssey:8,"CR-V 2WD":8,"Passport 2WD":7,"CR-V 4WD":8,"Passport 4WD":7,"EV Plus":21},Hyundai:{Tiburon:9,Accent:11,Elantra:9,Sonata:6,"Elantra Wagon":9},Jeep:{"Cherokee 2WD":7,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":5,"Wrangler 4WD":6},Kia:{Sephia:9,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 300/SC 400":7,"ES 300":7,"GS 300/GS 400":6,"LS 400":7,"LX 470":5},Mazda:{626:8,Millenia:7,Protege:10,"B2500/B3000/B4000 2WD":6,"B2500/B3000/B4000 4WD":6,MPV:6,"MPV 4x4":6},"Mercedes-Benz":{SL500:6,SL600:5,CLK320:8,C230:9,C280:8,C43:7,CL500:6,CL600:5,"E300 Turbodiesel":10,"E320 Sedan":8,S320:6,S420:6,S500:6,S600:5,"E320 Wagon":8,ML320:6},Mercury:{Mystique:7,Tracer:10,Sable:7,"Grand Marquis":6,"Tracer Wagon":10,"Sable Wagon":7,"Mountaineer 2WD":5,"Villager FWD Van":7,"Villager FWD Wagon":7,"Mountaineer 4WD":5},Nissan:{"240SX":9,"Sentra/200SX":9,Altima:9,Maxima:8,"Frontier 2WD":9,"Frontier 4WD":7,"Pathfinder 2WD":6,Quest:7,"Pathfinder 4WD":6},Toyota:{"Celica Convertible":8,Paseo:11,"Paseo Convertible":11,Supra:6,Celica:8,Tercel:11,Corolla:11,Camry:8,Avalon:8,"Tacoma 2WD":7,"T100 2WD":6,"T100 4WD":6,"Tacoma 4WD":6,"4Runner 2WD":7,"RAV4 2WD":9,"RAV4 Soft Top 2WD":9,"Sienna 2WD":7,"4Runner 4WD":6,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":9,"RAV4 Soft Top 4WD":9}},1999:{BMW:{"M Coupe":7,"M Roadster":7,"Z3 Coupe":7,"Z3 Roadster":7,"323i Convertible":8,"328i Convertible":8,"M3 Convertible":7,"323is":8,"328is":8,M3:7,"318ti":9,"323i":8,"328i":8,"528i":8,"540i":6,"740i":6,"740il":6,"750il":5,"528i Touring":7,"540i Touring":6},Chevrolet:{Corvette:7,Camaro:7,Cavalier:9,Metro:14,Prizm:11,"Lumina/Monte Carlo":7,Malibu:7,"S10 Pickup 2WD":6,"C1500 Pickup 2WD":6,"Silverado 1500 2WD":6,"Silverado 2500 2WD":5,"K1500 Pickup 4WD":5,"Silverado 1500 4WD":6,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"Astro AWD (cargo)":6,"Van 1500/2500 2WD":5,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":6,"Express 1500/2500 2WD":5,"Venture FWD":7,"Blazer 2WD":6,"Suburban 1500 2WD":5,"Tahoe 1500 2WD":5,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":9,"Blazer 4WD":6,"Tahoe 1500 4WD":6,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":9},Dodge:{Avenger:7,Neon:10,Stratus:7,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"B1500 Van 2WD":5,"B2500 Van 2WD":5,"B1500 Wagon 2WD":5,"B2500 Wagon 2WD":5,"Caravan/Grand Caravan 2WD":16,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5,"Viper Convertible":4,"Viper Coupe":4},Ford:{"Escort ZX2":9,Mustang:6,Contour:7,Escort:10,Taurus:7,"Taurus SHO":6,"Crown Victoria CNG":6,"Crown Victoria":6,"Escort Wagon":10,"Taurus Wagon":7,"F150 Pickup 2WD":5,"F250 Pickup 2WD":5,"F250 Pickup 2WD CNG":4,"Ranger2WD FFV":6,"Ranger 2WD FFV":7,"Ranger Pickup 2WD":21,"F150 Pickup 4WD":5,"F250 Pickup 4WD":5,"Ranger 4WD FFV":7,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"E250 Econoline 2WD CNG":4,"E150 Club Wagon":5,"Windstar FWD Van":7,"Windstar FWD Wagon":6,"Expedition 2WD":5,"Explorer 2WD":6,"Expedition 4WD":5,"Explorer 4WD":6,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":6,"Sierra 2500 2WD":5,"Sierra 1500 4WD":5,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":5,"Safari 2WD (cargo)":6,"Safari AWD (cargo)":6,"Savana 1500/2500 2WD (passenger)":5,"Safari 2WD (passenger)":6,"Safari AWD (passenger)":6,"Suburban 1500 2WD":5,"Yukon 1500 2WD":5,"Jimmy 2WD":6,"Jimmy 4WD":6,"Yukon 1500 4WD":6,EV1:15},Honda:{Civic:10,"Civic HX":13,Prelude:9,Accord:8,Odyssey:7,"Passport 2WD":7,"Passport 4WD":7,"CR-V 2WD":9,"CR-V 4WD":8,"EV Plus":21},Hyundai:{Accent:10,Tiburon:9,Elantra:9,Sonata:8,"Elantra Wagon":9},Jeep:{"Cherokee 2WD":7,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":6,"Wrangler 4WD":6},Kia:{Sephia:9,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{SC:7,"ES 300":7,"GS 300/GS 400":7,"LS 400":7,"RX 300":7,"RX 300 4WD":7,"LX 470":5},Mazda:{626:8,"MX-5 Miata":9,Millenia:7,Protege:9,B2500:8,"B3000 FFV 2WD":7,B4000:6,"B3000 FFV 4WD":7},"Mercedes-Benz":{SL500:6,SL600:5,"SLK230 Kompressor":8,"CLK320 Cabriolet":7,CLK320:8,CLK430:7,"C230 Kompressor":8,C280:8,"C43 AMG":7,CL500:6,CL600:5,"E300 Turbodiesel":10,"E320 Sedan":8,"E320 Sedan 4Matic":8,E430:7,S320:6,S420:6,S500:6,S600:5,"E320 Wagon":8,"E320 Wagon 4Matic":7,ML320:6,ML430:6,"E55 AMG":6},Mercury:{Cougar:7,Mystique:7,Tracer:10,Sable:7,"Grand Marquis":6,"Tracer Wagon":10,"Sable Wagon":7,"Villager FWD Wagon":6,"Mountaineer 2WD":6,"Mountaineer 4WD":6},Nissan:{"Sentra/200SX":9,Altima:9,Maxima:8,"Frontier 2WD":9,"Frontier 4WD":7,"Frontier V6 4WD":6,Quest:6,"Pathfinder 2WD":6,"Pathfinder 4WD":6},Toyota:{"Celica Convertible":8,Paseo:12,"Paseo Convertible":12,Celica:8,Tercel:12,"Camry Solara":8,Corolla:11,Camry:8,Avalon:8,"Tacoma 2WD":7,"Tacoma 4WD":6,"Sienna 2WD":7,"4Runner 2WD":7,"RAV4 2WD":9,"RAV4 Soft Top 2WD":9,"4Runner 4WD":6,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"RAV4 Soft Top 4WD":9,"Camry CNG":9}},2000:{BMW:{"M Coupe":7,"Z3 Coupe":7,"Z3 Roadster":7,Z8:5,"323i Convertible":7,"M Roadster":7,"323ci":8,"328ci":8,"323i":8,"328i":8,"528i":8,"540i":6,M5:5,"740i/740i Sport":6,"740il/740il Protection":6,"750il/750il Protection":5,"323i Touring":8,"528i Sport Wagon":7,"540i Sport Wagon":6,X5:5},Chevrolet:{Corvette:7,Camaro:7,Cavalier:9,Metro:13,Prizm:11,"Lumina/Monte Carlo":7,Malibu:8,Impala:7,"S10 Pickup 2WD":7,"Silverado 1500 2WD":6,"Silverado 2500 2WD":5,"Silverado 1500 4WD":6,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"Astro AWD (cargo)":6,"Van 1500/2500 2WD":5,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":6,"Express 1500/2500 2WD":5,"Venture FWD":7,"Blazer 2WD":6,"Suburban 1500 2WD":5,"Tahoe 1500 2WD":6,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":9,"Blazer 4WD":6,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":5,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":9,"Cavalier (Bi-fuel CNG)":9},Dodge:{"Viper Convertible":5,"Viper Coupe":5,Avenger:7,Neon:10,Stratus:7,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"B1500 Van 2WD":5,"B2500 Van 2WD":5,"B1500 Wagon 2WD":5,"B2500 Wagon 2WD":5,"Caravan/Grand Caravan 2WD":7,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5},Ford:{"Escort ZX2":9,Mustang:5,Contour:8,Escort:10,Focus:9,"Crown Victoria":7,Taurus:7,"Focus Station Wagon":9,"Taurus Wagon":7,"F150 Pickup 2WD":6,"Lightning Pickup 2WD":5,"Ranger Pickup 2WD":25,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E250 Econoline 2WD":5,"E150 Club Wagon":5,"Postal Vehicle":6,"Windstar FWD Cargo Van":7,"Windstar FWD Wagon":6,"Expedition 2WD":5,"Explorer 2WD":6,"Expedition 4WD":5,"Explorer 4WD":6,"Crown Victoria CNG":6,"F150 Pickup 2WD CNG":5,"E250 Econoline 2WD CNG":5,"Ranger 2WD FFV":7,"Ranger 4WD FFV":6,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":7,"Sierra 1500 2WD":6,"Sierra 2500 2WD":5,"Sierra 1500 4WD":6,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":5,"Safari 2WD (cargo)":6,"Safari AWD (cargo)":6,"Savana 1500/2500 2WD (Passenger)":5,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":6,"Yukon 1500 2WD":5,"Yukon XL 1500 2WD":5,"Jimmy 2WD":6,"Jimmy 4WD":6,"Yukon 1500 4WD":5,"Yukon XL 1500 4WD":5},Honda:{Insight:21,S2000:8,Civic:9,"Civic HX":13,Prelude:9,Accord:8,Odyssey:7,"CR-V 2WD":9,"Passport 2WD":6,"CR-V 4WD":8,"Passport 4WD":6,"Civic CNG":10},Hyundai:{Tiburon:9,"Accent/Brio":10,Elantra:9,Sonata:8,"Elantra Wagon":9},Jeep:{"Cherokee 2WD":7,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":6,"Wrangler 4WD":6},Kia:{"Sephia/Spectra":9,"Sportage 2WD":8,"Sportage 4WD":8},Lexus:{SC:7,"ES 300":7,"GS 300/GS 400":7,"LS 400":7,"RX 300":7,"RX 300 4WD":7,"LX 470":5},Mazda:{626:8,"MX-5 Miata":9,Millenia:7,Protege:9,"2500 2WD":9,"B4000 2WD":7,"B4000 4WD":6,MPV:7,"B3000 FFV 2WD":7,"B3000 FFV 4WD":6},"Mercedes-Benz":{SL500:6,SL600:5,"SLK230 Kompressor":8,"CLK320 (Cabriolet)":7,"CLK430 (Cabriolet)":6,CLK320:8,CLK430:7,"C230 Kompressor":8,C280:8,"C43 AMG":7,CL500:6,E320:8,"E320 4Matic":8,E430:7,"E430 4Matic":7,"E55 AMG":6,S430:6,S500:6,"E320 (Wagon)":8,"E320 4Matic (Wagon)":7,ML320:6,ML430:6,ML55:5},Mercury:{Cougar:8,Mystique:8,Sable:7,"Grand Marquis":7,"Sable Wagon":7,"Villager FWD Wagon":6,"Mountaineer 2WD":6,"Mountaineer 4WD":6},Nissan:{Altima:9,Sentra:9,Maxima:8,"Frontier 2WD":9,"Frontier V6 2WD":6,"Frontier 4WD":7,"Frontier V6 4WD":6,Quest:6,"Pathfinder 2WD":6,"Xterra 2WD":7,"Xterra V6 2WD":6,"Pathfinder 4WD":6,"Xterra V6 4WD":6,"Altra EV":34},Toyota:{MR2:9,"Camry Solara Convertible":7,Celica:9,"Camry Solara":8,Corolla:11,Echo:12,Camry:8,Avalon:8,"Tacoma 2WD":7,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"4Runner 2WD":7,"RAV4 2WD":9,"RAV4 Soft Top 2WD":9,"4Runner 4WD":6,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"RAV4 Soft Top 4WD":9,"Camry CNG":8,"RAV4 EV":34}},2001:{BMW:{"M Coupe":6,"M Roadster":6,"Z3 Coupe":7,"Z3 Roadster":7,Z8:5,"325ci Convertible":7,"330ci Convertible":7,"M3 Convertible":6,"325ci":8,"330ci":7,M3:6,"325i":8,"325xi":7,"330i":7,"330xi":7,"525i":8,"530i":7,"540i":6,M5:5,"740i":6,"740il":6,"750il":5,"325i Sport Wagon":8,"325xi Sport Wagon":7,"525i Sport Wagon":7,"540i Sport Wagon":6,X5:5},Chevrolet:{Corvette:7,Camaro:7,Metro:11,Cavalier:8,Prizm:11,Lumina:8,Malibu:8,"Monte Carlo":7,Impala:7,"S10 Pickup 2WD":6,"Silverado 1500 2WD":6,"Silverado 1500 4WD":6,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"Astro AWD (cargo)":6,"Van 1500/2500 2WD":5,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":6,"Express 1500/2500 2WD":5,"Venture FWD":7,"Blazer 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":9,"Tracker LT 2WD":7,"Blazer 4WD":6,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":6,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":9,"Tracker LT 4WD":7,"Tracker ZR2 4WD":7,"Tracker ZR2 4WD Convertible":9,"Cavalier (Bi-fuel CNG)":9,"S10 Pickup 2WD FFV":8,"Impala Police":7},Dodge:{"Viper Convertible":4,"Viper Coupe":4,Neon:10,Stratus:7,"Stratus 4 Door":8,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"Ram Van 1500 2WD":5,"Ram Van 2500 2WD":5,"Ram Wagon 1500 2WD":5,"Ram Wagon 2500 2WD":5,"Caravan/Grand Caravan 2WD":7,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5,"Ram Van 2500 2WD CNG":5,"Ram Wagon 2500 2WD CNG":5},Ford:{"Escort ZX2":10,Mustang:6,Escort:10,Focus:9,"Crown Victoria":7,Taurus:7,"Focus Station Wagon":9,"Taurus Wagon":7,"Explorer Sport Trac 2WD":6,"F150 Pickup 2WD":5,"Ranger Pickup 2WD":26,"Explorer Sport Trac 4WD":6,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E250 Econoline 2WD":5,"E150 Club Wagon":5,"Windstar FWD Van":7,"Windstar FWD Wagon":7,"Escape 2WD":7,"Expedition 2WD":5,"Explorer 2WD":6,"Explorer Sport 2WD":7,"Explorer USPS 2WD":6,"Escape 4WD":7,"Expedition 4WD":5,"Explorer 4WD":6,"Explorer Sport 4WD":6,"Explorer USPS 4WD":6,"Crown Victoria CNG":6,"F150 CNG":5,"E250 CNG":5,"Taurus Wagon FFV":7,"Explorer USPS 4WD FFV":6,"F150 Dual-fuel 2WD (CNG)":4,"F150 Dual-fuel 4WD (CNG)":4,"F150 Dual-fuel 2WD (LPG)":5,"F150 Dual-fuel 4WD (LPG)":5,"Taurus FFV":7,"Explorer USPS 2WD FFV":6,"Explorer Sport 2WD FFV":6,"Explorer Sport 4WD FFV":6,"Ranger 2WD FFV":6,"Th!nk":31,"Explorer USPS Electric":19,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":6,"Sierra 1500 4WD":4,"Sonoma 4WD":6,"Savana 1500/2500 2WD (cargo)":5,"Safari 2WD (cargo)":6,"Safari AWD (cargo)":6,"Savana 1500/2500 2WD (Passenger)":5,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":6,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Jimmy 2WD":6,"Jimmy 4WD":6,"Yukon 1500 4WD":5,"Yukon XL 1500 4WD":5,"Sonoma 2WD (FFV)":8},Honda:{Insight:20,S2000:8,"Civic HX":13,Prelude:8,Civic:11,Accord:8,Odyssey:7,"CR-V 2WD":9,"Passport 2WD":6,"CR-V 4WD":8,"Passport 4WD":6,"Civic CNG":11},Hyundai:{Tiburon:9,"Accent/Brio":10,Elantra:9,Sonata:8,XG300:7,"Santa Fe 2WD":7,"Santa Fe 4WD":7},Jeep:{"Cherokee 2WD":7,"Grand Cherokee 2WD":6,"Cherokee 4WD":6,"Grand Cherokee 4WD":6,"Wrangler 4WD":6},Kia:{Rio:10,"Sephia/Spectra":9,Optima:8,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"IS 300":7,"ES 300":7,"GS 300/GS 430":7,"LS 430":7,"RX 300 4WD":7,"RX 300":7,"LX 470":5},Mazda:{626:8,"MX-5 Miata":9,Millenia:7,"Protege/Protege MPS":9,"B2300 2WD":9,"B2500 2WD":8,B3000:6,"B4000 2WD":7,"B3000 4WD":6,"B4000 4WD":6,MPV:7,"Tribute 2WD":7,"Tribute 4WD":7,"B3000 (FFV) Ethanol 2WD":6},"Mercedes-Benz":{SL500:6,SL600:5,"SLK230 Kompressor":8,SLK320:7,"CLK320 (Cabriolet)":8,"CLK430 (Cabriolet)":7,CLK320:8,CLK430:7,"CLK55 AMG":7,C240:7,C320:7,CL500:6,"CL55 AMG":6,CL600:6,E320:8,"E320 4Matic":8,E430:7,"E430 4Matic":7,"E55 AMG":6,S430:7,S500:6,"S55 AMG":6,S600:6,"E320 (Wagon)":7,"E320 4Matic (Wagon)":7,ML320:6,ML430:6,
"ML55 AMG":5},Mercury:{Cougar:8,Sable:7,"Grand Marquis":7,"Sable Wagon":7,"Villager FWD Wagon":6,"Mountaineer 2WD":6,"Mountaineer 4WD":6,"Sable (FFV)":7,"Sable Wagon (FFV)":7},Nissan:{Altima:9,Sentra:9,Maxima:8,"Frontier 2WD":9,"Frontier V6 2WD":6,"Frontier V6 4WD":6,Quest:6,"Pathfinder 2WD":6,"Xterra 2WD":7,"Xterra V6 2WD":6,"Pathfinder 4WD":6,"Xterra V6 4WD":6,"Hyper-Mini":36},Toyota:{MR2:9,"Camry Solara Convertible":7,Celica:9,"Camry Solara":7,Corolla:12,Echo:12,Prius:18,Camry:7,Avalon:8,"Tacoma 2WD":7,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"4Runner 2WD":7,"Highlander 2WD":7,"RAV4 2WD":9,"Sequoia 2WD":5,"4Runner 4WD":6,"Highlander 4WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":9,"Sequoia 4WD":5,"Camry CNG":8,"RAV4 EV":34}},2002:{BMW:{"Z3 Coupe":8,"Z3 Roadster":8,Z8:5,"325ci Convertible":7,"330ci Convertible":7,"M3 Convertible":6,"325ci":7,"330ci":8,M3:6,"325i":7,"325xi":7,"330i":8,"330xi":8,"525i":7,"530i":8,"540i":6,M5:5,"745i":7,"745li":7,"325i Sport Wagon":7,"325xi Sport Wagon":7,"525i Sport Wagon":7,"540i Sport Wagon":6,X5:5,"X5 4.6is":5},Chevrolet:{Corvette:7,Camaro:7,Cavalier:8,Prizm:11,Malibu:8,"Monte Carlo":7,Impala:7,"S10 Pickup 2WD":6,"Silverado 1500 2WD":6,"Silverado 1500 4WD":6,"S10 Pickup 4WD":5,"Astro 2WD (cargo)":6,"Astro AWD (cargo)":6,"Van 1500/2500 2WD":5,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":6,"Express 1500/2500 2WD":5,"Venture FWD":7,"Venture AWD":7,"Blazer 2WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":9,"Tracker LT 2WD":7,"TrailBlazer 2WD":6,"TrailBlazer Ext 2WD":6,"Blazer 4WD":5,"Avalanche 1500 4WD":5,"Suburban 1500 4WD":5,"Tahoe 1500 4WD":5,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":9,"Tracker LT 4WD":7,"Tracker ZR2 4WD":7,"Tracker ZR2 4WD Convertible":9,"TrailBlazer 4WD":6,"TrailBlazer Ext 4WD":6,"Cavalier Dual-fuel":9,"S10 Pickup 2WD FFV":8,"Silverado 2500 2WD":4},Dodge:{"Viper Convertible":4,"Viper Coupe":4,Neon:10,Stratus:8,"Stratus 4 Door":8,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":4,"Ram Van 1500 2WD":5,"Ram Van 2500 2WD":5,"Ram Wagon 1500 2WD":6,"Ram Wagon 2500 2WD":5,"Caravan/Grand Caravan 2WD":7,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5,"Ram Van 2500 2WD CNG":5,"Ram Wagon 2500 2WD CNG":5},Ford:{Thunderbird:6,"Escort ZX2":10,Mustang:7,Escort:10,Focus:9,"Crown Victoria":6,Taurus:8,"Focus Station Wagon":9,"Taurus Wagon":7,"Explorer Sport Trac 2WD":6,"F150 Pickup 2WD":6,"Ranger Pickup 2WD":7,"Explorer Sport Trac 4WD":6,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E250 Econoline 2WD":5,"E150 Club Wagon":5,"Windstar FWD Cargo Van":7,"Windstar FWD Wagon":7,"Escape 2WD":7,"Expedition 2WD":5,"Explorer 2WD":6,"Explorer Sport 2WD":7,"Escape 4WD":7,"Expedition 4WD":5,"Explorer 4WD":6,"Explorer Sport 4WD":6,"Crown Victoria CNG":6,"F150 CNG":5,"F150 Dual-fuel 2WD (CNG)":4,"F150 Dual-fuel 4WD (CNG)":4,"F150 Dual-fuel 2WD (LPG)":5,"F150 Dual-fuel 4WD (LPG)":5,"Explorer 4WD FFV":6,"Explorer 2WD FFV":6,"Ranger 2WD FFV":6,"Explorer USPS Electric":19,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":6,"Sierra 1500 4WD":6,"Sierra Denali 1500 AWD":5,"Sonoma 4WD":5,"Savana 1500/2500 2WD (cargo)":5,"Safari 2WD (cargo)":6,"Safari AWD (cargo)":6,"Savana 1500/2500 2WD (Passenger)":5,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":6,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Envoy 2WD":6,"Envoy XL 2WD":6,"Jimmy 2WD":6,"Envoy 4WD":6,"Envoy XL 4WD":6,"Jimmy 4WD":5,"Yukon 1500 4WD":5,"Yukon Denali 1500 AWD":4,"Yukon Denali XL 1500 AWD":4,"Yukon XL 1500 4WD":5,"Sonoma 2WD (FFV)":8},Honda:{Insight:20,S2000:8,"Civic HX":13,Civic:10,Accord:8,Odyssey:7,"CR-V 2WD":9,"Passport 2WD":6,"CR-V 4WD":8,"Passport 4WD":6,"Civic CNG":11},Hyundai:{Tiburon:7,"Accent/Brio":10,Elantra:9,Sonata:8,XG350:7,"Santa Fe 2WD":7,"Santa Fe 4WD":7},Jeep:{"Grand Cherokee 2WD":6,"Liberty 2WD":6,"Grand Cherokee 4WD":5,"Liberty 4WD":6,"Wrangler 4WD":6},Kia:{Rio:10,Spectra:9,Optima:7,Sedona:6,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 300/SC 430":7,"IS 300":7,"ES 300":8,"GS 300/GS 430":7,"LS 430":7,"RX 300":7,"RX 300 4WD":7,"LX 470":5},Mazda:{626:8,"MX-5 Miata":9,Millenia:7,"Protege/Protege 5":9,"B2300 2WD":9,"B3000 2WD":7,"B4000 2WD":7,"B3000 4WD":7,"B4000 4WD":6,MPV:7,"Tribute 2WD":7,"Tribute 4WD":7,"B3000 FFV 2WD":6},"Mercedes-Benz":{SL500:6,SL600:5,"SLK230 Kompressor":8,"SLK32 AMG":7,SLK320:6,CLK320:8,"CLK320 (Cabriolet)":7,CLK430:7,"CLK430 (Cabriolet)":7,"CLK55 AMG":7,"CLK55 AMG (Cabriolet)":6,"C230 Kompressor":7,C240:6,"C32 AMG":6,C320:7,CL500:6,"CL55 AMG":6,CL600:6,E320:8,"E320 4Matic":7,E430:7,"E430 4Matic":6,"E55 AMG":6,S430:6,S500:6,"S55 AMG":6,S600:6,"C320 (Wagon)":7,"E320 (Wagon)":7,"E320 4Matic (Wagon)":7,G500:5,ML320:6,ML500:6,"ML55 AMG":5},Mercury:{Cougar:8,Sable:8,"Grand Marquis":6,"Sable Wagon":7,"Villager FWD Wagon":6,"Mountaineer 2WD":6,"Mountaineer 4WD":5,"Mountaineer 4WD FFV":6,"Mountaineer 2WD FFV":6},Nissan:{Sentra:10,Altima:8,Maxima:8,"Frontier 2WD":9,"Frontier V6 2WD":6,"Frontier V6 4WD":6,Quest:6,"Pathfinder 2WD":6,"Xterra 2WD":7,"Xterra V6 2WD":6,"Pathfinder 4WD":6,"Xterra V6 4WD":6},Toyota:{MR2:9,"Camry Solara Convertible":7,Celica:9,"Camry Solara":7,Corolla:12,Echo:12,Prius:18,Camry:8,Avalon:8,"Tacoma 2WD":7,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"4Runner 2WD":6,"Highlander 2WD":7,"RAV4 2WD":9,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":9,"Sequoia 4WD":6,"RAV4 EV":37}},2003:{BMW:{"Z4 Roadster":8,Z8:5,"325ci Convertible":7,"330ci Convertible":7,"M3 Convertible":6,"325ci":8,"330ci":8,M3:6,"325i":8,"325xi":7,"330i":8,"330xi":8,"525i":8,"530i":8,"540i":6,M5:5,"745i":7,"745li":7,"325i Sport Wagon":8,"325xi Sport Wagon":7,"525i Sport Wagon":7,"540i Sport Wagon":6,X5:6,"X5 4.6is":5,"760li":6},Chevrolet:{Corvette:7,Cavalier:9,Malibu:8,"Monte Carlo":7,Impala:7,"S10 Pickup 2WD":6,"Silverado 1500 2WD":6,"SSR Pickup 2WD":6,"Silverado 1500 4WD":5,"Silverado SS 1500 AWD":5,"S10 Pickup 4WD":5,"Astro 2WD (cargo)":6,"Astro 2WD (cargo) Conversion":6,"Astro AWD (cargo)":6,"Astro AWD (cargo) Conversion":5,"Van 15/25 2WD Conversion":5,"Van 1500/2500 2WD":6,"Van 1500 AWD Conversion":5,"Van 1500/2500 AWD":5,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":5,"Express 1500/2500 2WD":5,"Express 1500 AWD":5,"Venture FWD":7,"Venture AWD":7,"Blazer 2WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Tracker 2WD Convertible":9,"Tracker 2WD Hardtop":7,"Tracker LT 2WD":7,"TrailBlazer 2WD":6,"TrailBlazer Ext 2WD":6,"Blazer 4WD":6,"Avalanche 1500 4WD":6,"Avalanche 1500 AWD":6,"Suburban 1500 4WD":6,"Suburban 1500 AWD":6,"Tahoe 1500 4WD":6,"Tahoe 1500 AWD":6,"Tracker 4WD Convertible":9,"Tracker 4WD Hardtop":7,"Tracker LT 4WD":7,"Tracker ZR2 4WD":7,"Tracker ZR2 4WD Convertible":9,"TrailBlazer 4WD":6,"TrailBlazer Ext 4WD":6,"Cavalier Dual-fuel":9,"Silverado 2500 2WD (Bifuel)":4,"Impala Police":7},Dodge:{"Viper Convertible":5,"Neon/SRT-4/SX 2.0":8,Stratus:8,"Stratus 4 Door":8,Intrepid:7,"Dakota Pickup 2WD":5,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":5,"Ram 1500 Pickup 4WD":5,"Ram Van 1500 2WD":5,"Ram Van 2500 2WD":5,"Caravan/Grand Caravan 2WD":7,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5,"Ram Van 2500 2WD CNG":4},Ford:{Thunderbird:7,"Escort ZX2":10,Mustang:6,Focus:9,"Crown Victoria":7,Taurus:7,"Focus Station Wagon":9,"Taurus Wagon":7,"Explorer Sport Trac 2WD":6,"F150 Pickup 2WD":5,"Ranger Pickup 2WD":6,"Explorer Sport Trac 4WD":6,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":5,"E250 Econoline 2WD":5,"E150 Club Wagon":5,"Windstar FWD Cargo Van":7,"Windstar FWD Wagon":7,"Escape 2WD":7,"Expedition 2WD":5,"Explorer 2WD":6,"Explorer Sport 2WD":6,"Escape 4WD":7,"Expedition 4WD":5,"Explorer 4WD":6,"Explorer Sport 4WD":6,"F150 CNG":5,"F150 Dual-fuel 2WD (LPG)":6,"F150 Dual-fuel 4WD (LPG)":6,"Explorer 4WD FFV":6,"Explorer 2WD FFV":6,"Ranger 2WD FFV":6,"Crown Victoria CNG":5,"F150 Dual-fuel 2WD (CNG)":5,"F150 Dual-fuel 4WD (CNG)":5,"Crown Victoria Police":6},GMC:{"Sonoma 2WD":6,"Sierra 1500 2WD":6,"Sierra 1500 4WD":5,"Sierra Denali 1500 AWD":5,"Sonoma 4WD":5,"Savana 15/25 2WD Conversion (cargo)":5,"Savana 1500/2500 2WD (cargo)":6,"Savana 15/25 AWD Conversion (cargo)":5,"Savana 1500/2500 AWD (cargo)":5,"Safari 2WD (cargo)":6,"Safari 2WD Conversion (cargo)":6,"Safari AWD (cargo)":6,"Safari AWD Conversion (cargo)":5,"Savana 1500/2500 2WD (Passenger)":5,"Savana 1500 AWD (Passenger)":5,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":5,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Envoy 2WD":6,"Envoy XL 2WD":6,"Jimmy 2WD":6,"Envoy 4WD":6,"Envoy XL 4WD":6,"Jimmy 4WD":6,"Yukon 1500 4WD":6,"Yukon 1500 AWD":6,"Yukon XL 1500 4WD":6,"Yukon XL 1500 AWD":6},Honda:{Insight:20,S2000:8,Civic:9,"Civic Hybrid":16,Accord:8,Odyssey:7,"CR-V 2WD":9,"Element 2WD":8,"CR-V 4WD":8,"Element 4WD":8,"Pilot 4WD":6,"Civic CNG":11},Hyundai:{Tiburon:7,"Accent/Brio":11,Elantra:9,Sonata:8,XG350:6,"Santa Fe 2WD":6,"Santa Fe 4WD":6},Jeep:{"Grand Cherokee 2WD":6,"Liberty/Cherokee 2WD":6,"Grand Cherokee 4WD":6,"Liberty/Cherokee 4WD":6,"Wrangler/TJ 4WD":6},Kia:{Rio:10,Spectra:9,Optima:8,Sedona:6,"Sorento 2WD":6,"Sorento 4WD":6},Lexus:{"SC 300/SC 430":7,"IS 300":7,"ES 300":8,"GS 300/GS 430":7,"LS 430":7,"RX 300":7,"RX 300 4WD":7,"GX 470":6,"LX 470":5},Mazda:{6:7,"MX-5 Miata":9,"Protege/Protege 5":9,"B2300 2WD":9,"B3000 2WD":7,"B4000 2WD":6,"B3000 4WD":7,"B4000 4WD":6,MPV:7,"Tribute 2WD":7,"Tribute 4WD":7,"B3000 2WD FFV":6},"Mercedes-Benz":{SL500:6,"SL55 AMG":5,"SLK230 Kompressor":7,"SLK32 AMG":6,SLK320:6,CLK320:7,"CLK320 (Cabriolet)":7,"CLK430 (Cabriolet)":7,CLK500:6,"CLK55 AMG":6,"C230 Kompressor":8,C240:6,"C240 4matic":7,"C32 AMG":6,C320:6,"C320 4matic":7,"C320 Sports Coupe":6,CL500:6,"CL55 AMG":6,CL600:5,E320:7,E500:6,S430:6,"S430 4matic":6,S500:6,"S500 4matic":6,"S55 AMG":6,S600:5,"C240 (Wagon)":6,"C240 4matic (Wagon)":7,"C320 (Wagon)":6,"C320 4matic (Wagon)":7,"E320 (Wagon)":7,"E320 4Matic (Wagon)":7,G500:5,"G55 AMG":5,ML320:6,ML350:6,ML500:6,"ML55 AMG":6,"E55 AMG":6},Mercury:{Sable:7,"Grand Marquis":7,Marauder:6,"Sable Wagon":7,"Mountaineer 2WD":6,"Mountaineer 4WD":6,"Mountaineer 4WD FFV":6,"Mountaineer 2WD FFV":6},Nissan:{"350z":7,Sentra:9,Altima:8,Maxima:8,"Frontier 2WD":9,"Frontier V6 2WD":6,"Frontier V6 4WD":6,"Murano 2WD":8,"Pathfinder 2WD":6,"Xterra 2WD":7,"Xterra V6 2WD":6,"Murano AWD":8,"Pathfinder 4WD":6,"Xterra V6 4WD":6},Toyota:{MR2:9,"Camry Solara Convertible":7,Celica:9,"Camry Solara":7,Corolla:12,Echo:13,Prius:18,Camry:8,Avalon:8,Matrix:9,"Matrix AWD":9,"Tacoma 2WD":7,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"4Runner 2WD":6,"Highlander 2WD":7,"RAV4 2WD":9,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":9,"Sequoia 4WD":6,"RAV4 EV":37}},2004:{BMW:{"Z4 Roadster":8,"325ci Convertible":8,"330ci Convertible":7,"M3 Convertible":6,"325ci":8,"330ci":8,"645ci":6,"645ci Convertible":6,M3:6,"325i":8,"325xi":7,"330i":8,"330xi":7,"525i":8,"530i":7,"545i":6,"745i":7,"745li":7,"760li":6,"325i Sport Wagon":8,"325xi Sport Wagon":7,X3:6,X5:6,"760i":6,"X5 4.8IS":6},Chevrolet:{Corvette:7,Aveo:10,Cavalier:10,Optra:9,Epica:7,Classic:9,Malibu:9,"Monte Carlo":7,Impala:7,"Malibu Maxx":8,"SSR Pickup 2WD":6,"Silverado 15 Hybrid 2WD":7,"Silverado 1500 2WD":6,"Colorado 2WD":7,"Colorado Crew Cab 2WD":7,"Colorado 4WD":7,"Colorado Crew Cab 4WD":6,"Silverado 15 Hybrid 4WD":6,"Silverado 1500 4WD":5,"Silverado 1500 AWD":5,"S10 Pickup 4WD":6,"Astro 2WD (cargo)":6,"Astro 2WD (cargo) Conversion":6,"Astro AWD (cargo)":6,"Astro AWD (cargo) Conversion":5,"Van 15/25 2WD Conversion":6,"Van 1500/2500 2WD":6,"Van 1500 AWD Conversion":6,"Van 1500/2500 AWD":6,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":5,"Express 1500/2500 2WD":6,"Express 1500 AWD":6,"Venture FWD":7,"Venture AWD":7,"Blazer 2WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Tracker 2WD Hardtop":7,"Tracker LT 2WD":7,"TrailBlazer 2WD":6,"TrailBlazer Ext 2WD":6,"Blazer 4WD":6,"Avalanche 1500 4WD":6,"Suburban 1500 4WD":6,"Suburban 1500 AWD":6,"Tahoe 1500 4WD":6,"Tahoe 1500 AWD":6,"Tracker 4WD Hardtop":7,"Tracker LT 4WD":7,"Tracker ZR2 4WD":7,"TrailBlazer 4WD":6,"TrailBlazer Ext 4WD":6,"Avalanche 1500 AWD":6,"Cavalier Dual-fuel":9,"Silverado 2500 HD 2WD CNG":4,"Express Cargo (Bi-fuel)":5,"Express Passenger (Bi-fuel)":5,"Express Cargo (dedicated CNG)":5,"Express Passenger (dedicated CNG)":5,"Impala Police":7},Dodge:{"Viper Convertible":5,"Neon/SRT-4/SX 2.0":8,Stratus:8,"Stratus 4 Door":8,Intrepid:7,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Caravan/Grand Caravan 2WD":7,"Caravan/Grand Caravan AWD":6,"Durango 2WD":5,"Durango 4WD":5},Ford:{Thunderbird:6,Mustang:6,Focus:9,"Crown Victoria":6,Taurus:7,"Focus Station Wagon":9,"Taurus Wagon":7,"F150 Pickup 2WD":5,"Ranger Pickup 2WD":6,"F150 Pickup 4WD":6,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E250 Econoline 2WD":6,"E150 Club Wagon":5,"Freestar Cargo Van FWD":6,"Freestar Wagon FWD":6,"Escape 2WD":7,"Expedition 2WD":5,"Explorer 2WD":6,"Escape 4WD":7,"Expedition 4WD":5,"Explorer 4WD":6,"F150 CNG":5,"F150 Dual-fuel 2WD (CNG)":5,"F150 Dual-fuel 4WD (CNG)":5,"Explorer Sport Trac 2WD FFV":6,"Explorer Sport Trac 4WD FFV":6,"Explorer 4WD FFV":6,"Explorer 2WD FFV":6,"F150 Dual-fuel 2WD (LPG)":6,"F150 Dual-fuel 4WD (LPG)":6,"Crown Victoria CNG":5,"Crown Victoria Police":6},GMC:{"Sierra 15 Hybrid 2WD":7,"Sierra 1500 2WD":6,"Canyon 2WD":7,"Canyon Crew Cab 2WD":7,"Canyon 4WD":7,"Canyon Crew Cab 4WD":6,"Sierra 15 Hybrid 4WD":6,"Sierra 1500 4WD":5,"Sierra 1500 AWD":5,"Savana 15/25 2WD Conversion (cargo)":6,"Savana 1500/2500 2WD (cargo)":6,"Savana 15/25 AWD Conversion (cargo)":6,"Savana 1500/2500 AWD (cargo)":6,"Safari 2WD (cargo)":6,"Safari 2WD Conversion (cargo)":6,"Safari AWD (cargo)":6,"Safari AWD Conversion (cargo)":5,"Savana 1500/2500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":5,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Envoy 2WD":6,"Envoy XL 2WD":6,"Jimmy 2WD":6,"Envoy 4WD":6,"Envoy XL 4WD":6,"Jimmy 4WD":6,"Yukon 1500 4WD":6,"Yukon 1500 AWD":6,"Yukon XL 1500 4WD":6,"Yukon XL 1500 AWD":6,"Savana (cargo) (Bi-fuel)":5,"Savana Passenger (Bi-fuel)":5,"Savana Cargo (dedicated CNG)":5,"Savana Passenger (dedicated CNG)":5,"Sonoma 4WD":6},Honda:{Insight:20,S2000:7,Civic:9,"Civic Hybrid":16,Accord:8,Odyssey:7,"CR-V 2WD":9,"Element 2WD":8,"CR-V 4WD":8,"Element 4WD":8,"Pilot 4WD":6,"Civic CNG":11},Hyundai:{Tiburon:7,"Accent/Brio":11,Elantra:10,"Elantra Hatchback":10,Sonata:8,XG350:6,"Santa Fe 2WD":6,"Santa Fe 4WD":6},Jeep:{"Grand Cherokee 2WD":6,"Liberty/Cherokee 2WD":6,"Grand Cherokee 4WD":6,"Liberty/Cherokee 4WD":6,"Wrangler/TJ 4WD":6},Kia:{Rio:9,"Spectra 1.8L":9,"Spectra 2.0L":9,Optima:8,Amanti:6,Sedona:6,"Sorento 2WD":6,"Sorento 4WD":6},Lexus:{"SC 430":7,"IS 300":7,"ES 330":8,"GS 300/GS 430":7,"LS 430":7,"RX 330 2WD":7,"GX 470":6,"LX 470":5,"RX 330 4WD":7},Mazda:{3:9,6:7,"MX-5 Miata":8,"RX-8":7,"6 Sport Wagon":7,"B2300 2WD":9,B3000:7,"B4000 2WD":6,"B4000 4WD":6,MPV:7,"Tribute 2WD":7,"Tribute 4WD":7},"Mercedes-Benz":{SL500:6,"SL55 AMG":6,SL600:5,SLK230:8,"SLK32 AMG":6,SLK320:7,CLK320:8,"CLK320 (Cabriolet)":8,CLK500:6,"CLK500 (Cabriolet)":6,"CLK55 AMG":6,"CLK55 AMG (Cabriolet)":6,C240:7,"C320 4matic Sedan":7,"C230 Kompressor":9,"C230 Kompressor Sports Coupe":9,"C240 4matic":7,"C32 AMG":6,C320:7,"C320 Sports Coupe":7,CL500:6,"CL55 AMG":6,CL600:5,E320:7,"E320 4matic":7,E500:6,"E500 4matic":6,"E55 AMG":6,S430:7,"S430 4matic":6,S500:6,"S500 4matic":6,"S55 AMG":6,S600:5,"C240 (Wagon)":7,"C240 4matic (Wagon)":7,"C320 4matic (Wagon)":7,"E320 (Wagon)":7,"E320 4matic (Wagon)":7,"E500 (Wagon)":6,"E500 4matic (Wagon)":6,G500:5,"G55 AMG":5,ML350:6,ML500:6,"C240 FFV":7,"C320 FFV":8,"C320 Sports Coupe FFV":8,"C240 FFV (Wagon)":7,"C320 FFV (Wagon)":8},Mercury:{Sable:7,"Grand Marquis":6,Marauder:6,"Sable Wagon":7,"Monterey Wagon FWD":6,"Mountaineer 2WD":6,"Mountaineer 4WD":6,"Mountaineer 2WD FFV":6,"Mountaineer 4WD FFV":6},Nissan:{"350z":7,"350z Roadster":7,Sentra:9,Altima:8,Maxima:8,"Frontier 2WD":9,"Frontier V6 2WD":6,"Titan 2WD":6,"Frontier V6 4WD":6,"Titan 4WD":5,Quest:7,"Murano 2WD":8,"Pathfinder 2WD":6,"Pathfinder Armada 2WD":5,"Xterra 2WD":7,"Xterra V6 2WD":6,"Murano AWD":8,"Pathfinder 4WD":6,"Pathfinder Armada 4WD":5,"Xterra V6 4WD":6},Toyota:{MR2:10,"Camry Solara Convertible":8,Celica:9,"Camry Solara":8,Corolla:12,Echo:13,Camry:8,Prius:20,Avalon:8,Matrix:9,"Matrix AWD":9,"Tacoma 2WD":7,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"Sienna 4WD":7,"4Runner 2WD":6,"Highlander 2WD":7,"RAV4 2WD":9,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"Sequoia 4WD":6}},2005:{BMW:{"Z4 Roadster":8,"325ci Convertible":7,"330ci Convertible":7,"M3 Convertible":6,"325ci":7,"330ci":8,"645ci":6,"645ci Convertible":6,M3:6,"325i":8,"325xi":7,"330i":8,"330xi":7,"525i":7,"530i":7,"545i":6,"745i":7,"745li":7,"760i":6,"760li":6,"325i Sport Wagon":7,"325xi Sport Wagon":7,X3:6,X5:6,"X5 4.8is":6},Chevrolet:{Corvette:7,Cobalt:9,Aveo:10,"Aveo 5":10,Cavalier:10,Optra:9,"Optra 5":9,Classic:9,Epica:8,Malibu:9,"Monte Carlo":8,Impala:8,"Malibu Maxx":9,"Optra Wagon":8,"Silverado 15 Hybrid 2WD":7,"Silverado 1500 2WD":6,"Colorado 2WD":7,"Colorado Crew Cab 2WD":7,"SSR Pickup 2WD":5,"Colorado 4WD":7,"Colorado Crew Cab 4WD":7,"Silverado 15 Hybrid 4WD":6,"Silverado 1500 4WD":6,"Silverado 1500 AWD":5,"Astro 2WD (cargo)":6,"Astro 2WD (cargo) Conversion":6,"Astro AWD (cargo)":6,"Astro AWD (cargo) Conversion":5,"Van 15/25 2WD Conversion":6,"Van 15/25 2WD Conversion":6,"Van 1500/2500 2WD":6,"Van 1500 AWD Conversion":6,"Van 1500/2500 AWD":6,"Astro 2WD (passenger)":6,"Astro AWD (passenger)":5,"Express 1500/2500 2WD":6,"Express 1500 AWD":6,"Uplander FWD":7,"Venture FWD":7,"Uplander AWD":6,"Blazer 2WD":6,"Tahoe 1500 2WD":6,"Equinox FWD":7,"TrailBlazer 2WD":6,"TrailBlazer Ext 2WD":6,"Blazer 4WD":6,"Equinox AWD":7,"Suburban 1500 4WD":6,"Tahoe 1500 4WD":6,"Tahoe 1500 AWD":6,"TrailBlazer 4WD":6,"TrailBlazer Ext 4WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Avalanche 1500 4WD":6,"Suburban 1500 AWD":6,"Silverado 2500 HD 2WD CNG":3,"Silverado 2500 HD 4WD CNG":3,"Silverado 2500 HD 2WD":4,"Impala Police":7},Dodge:{"Viper Convertible":5,"Neon/SRT-4/SX 2.0":8,Stratus:8,"Stratus 4 Door":8,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":6,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Caravan/Grand Caravan 2WD":7,"Durango 2WD":5,"Magnum 2WD":6,"Durango 4WD":5,"Magnum AWD":6},Ford:{GT:5,Thunderbird:7,Mustang:6,Focus:9,"Crown Victoria":7,"Five Hundred AWD":7,"Five Hundred FWD":8,Taurus:7,"Focus Station Wagon":9,"Taurus Wagon":7,"F150 Pickup 2WD":6,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":6,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E250 Econoline 2WD":6,"E150 Club Wagon":5,"Freestar Cargo Van FWD":7,"Freestar Wagon FWD":7,"Escape 2WD":7,"Escape Hybrid 2WD":13,"Expedition 2WD":6,"Explorer 2WD":6,"Freestyle FWD":8,"Escape 4WD":7,"Escape Hybrid 4WD":12,"Expedition 4WD":6,"Explorer 4WD":6,"Freestyle AWD":7,"Explorer Sport Trac 2WD FFV":6,"Explorer Sport Trac 4WD FFV":6,"Explorer 4WD FFV":6,"Explorer 2WD FFV":6,"Crown Victoria Police":6},GMC:{"Sierra 15 Hybrid 2WD":7,"Sierra 1500 2WD":6,"Canyon 2WD":7,"Canyon Crew Cab 2WD":7,"Canyon 4WD":7,"Canyon Crew Cab 4WD":7,"Sierra 15 Hybrid 4WD":6,"Sierra 1500 4WD":6,"Sierra 1500 AWD":5,"Savana 15/25 2WD Conversion (cargo)":6,"Savana 1500/2500 2WD (cargo)":6,"Savana 15/25 AWD Conversion (cargo)":6,"Savana 1500/2500 AWD (cargo)":6,"Safari 2WD (cargo)":6,"Safari 2WD Conversion (cargo)":6,"Safari AWD (cargo)":6,"Safari AWD Conversion (cargo)":5,"Savana 1500/2500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Safari 2WD (Passenger)":6,"Safari AWD (Passenger)":5,"Yukon 1500 2WD":6,"Envoy 2WD":6,"Envoy XL 2WD":6,"Envoy XUV 2WD":6,"Envoy 4WD":6,"Envoy XL 4WD":6,"Envoy XUV 4WD":6,"Yukon 1500 4WD":6,"Yukon 1500 AWD":6,"Yukon XL 1500 AWD":6,"Yukon XL 1500 2WD":6,"Yukon XL 1500 4WD":6,"Sierra 2500 HD 2WD CNG":3,"Sierra 2500 HD 4WD CNG":3,"Sierra 2500 Hd 2WD":4},Honda:{Insight:20,S2000:7,Civic:9,"Civic Hybrid":16,Accord:8,Odyssey:7,"CR-V 2WD":9,"CR-V 4WD":8,"Pilot 4WD":6,"Civic CNG":11,"Accord Hybrid":11,"Element 2WD":8,"Element 4WD":8},Hyundai:{Tiburon:7,"Accent/Brio":11,Elantra:10,Sonata:8,XG350:7,"Santa Fe 2WD":7,"Tucson 2WD":8,"Santa Fe 4WD":6,"Tucson 4WD":7},Jeep:{"Grand Cherokee 2WD":6,"Liberty/Cherokee 2WD":7,"Grand Cherokee 4WD":6,"Liberty/Cherokee 4WD":8,"Wrangler/TJ 4WD":6},Kia:{Rio:9,Optima:8,Spectra:9,Amanti:6,Sedona:6,"Sorento 2WD":6,"Sorento 4WD":6,"Sportage 2WD":7,"Sportage 4WD":7},Lexus:{"SC 430":7,"IS 300":7,"ES 330":8,"GS 300/GS 430":7,"LS 430":7,"RX 330 2WD":7,"LX 470":5,"RX 330 4WD":7,"GX 470":6},Mazda:{3:9,6:7,"MX-5 Miata":8,"RX-8":7,"6 Sport Wagon":7,"B2300 2WD":9,B3000:7,"B4000 4WD":6,MPV:7,"Tribute 2WD":7,"Tribute 4WD":7,"B4000 2WD":7},"Mercedes-Benz":{SLR:5,SL500:6,"SL55 AMG":5,SL600:5,"SL65 AMG":5,SLK350:7,"SLK55 AMG":6,CLK320:8,"CLK320 (Cabriolet)":8,CLK500:6,"CLK500 (Cabriolet)":6,"CLK55 AMG":6,"CLK55 AMG (Cabriolet)":6,"C230 Kompressor":9,"C230 Kompressor Sports Coupe":9,"C240 4matic":7,C320:7,"C320 4matic":7,"C320 Sports Coupe":7,"C55 AMG":6,CL500:6,"CL55 AMG":6,CL600:5,"CL65 AMG":5,E320:8,"E320 4matic":7,"E320 Cdi":10,E500:6,"E500 4matic":6,"E55 AMG":6,S430:7,"S430 4matic":6,S500:6,"S500 4matic":6,"S55 AMG":6,S600:5,"C240 4matic (Wagon)":7,"E320 (Wagon)":7,"E320 4matic (Wagon)":7,"E500 4matic (Wagon)":6,"E55 AMG (Wagon)":6,G500:5,"G55 AMG":5,ML350:6,ML500:6,"C240 FFV":7,"C320 FFV":8,"C320 Sports Coupe FFV":7,"C240 FFV (Wagon)":7},Mercury:{Sable:7,"Grand Marquis":7,"Montego AWD":7,"Montego FWD":8,"Sable Wagon":7,"Monterey Wagon FWD":7,"Mariner 2WD":7,"Mountaineer 2WD":6,"Mariner 4WD":7,"Mountaineer 4WD":6,"Mountaineer FFV 2WD":6,"Mountaineer FFV 4WD":6},Nissan:{"350z":7,"350z Roadster":7,Sentra:9,Altima:8,Maxima:8,"Titan 2WD":6,"Titan 4WD":5,Quest:7,"Armada 2WD":5,"Murano FWD":8,"Pathfinder 2WD":6,"Armada 4WD":5,"Murano AWD":8,"Pathfinder 4WD":6,"Frontier 2WD":8,"Frontier V6 2WD":6,"Frontier V6 4WD":6,"Xterra 2WD":6,"Xterra 4WD":6},Toyota:{MR2:10,Celica:9,"Camry Solara":8,"Camry Solara Convertible":8,Corolla:9,Echo:13,Camry:8,Prius:20,Matrix:9,"Matrix AWD":9,"Tacoma 2WD":6,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"Sienna 4WD":7,"4Runner 2WD":6,"Highlander 2WD":7,"RAV4 2WD":9,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"Sequoia 4WD":6,Avalon:8}},2006:{BMW:{"325ci Convertible":7,"330ci Convertible":7,"M3 Convertible":6,"325ci":7,"330ci":7,"650ci":6,"650ci Convertible":6,M3:6,"325i":8,"325xi":8,"330i":7,"330xi":8,"525i":8,"525xi":8,"530i":7,"530xi":8,"550i":6,M5:5,"750i":6,"750li":6,"760i":6,"760li":6,"325xi Sport Wagon":8,"530xi Sport Wagon":8,X3:6,X5:6,"X5 4.8is":6,"Z4 3.0si Coupe":8,"Z4 3.0i":8,"Z4 3.0si":8,"Z4 M Coupe":6,"Z4 M Roadster":6,M6:5},Chevrolet:{Corvette:6,"Aveo 5":9,Cobalt:9,Optra:9,"Optra 5":9,Epica:7,Malibu:7,"Monte Carlo":8,Impala:7,"Malibu Maxx":7,"Optra Wagon":8,"Silverado 15 Hybrid 2WD":7,"Silverado 1500 2WD":6,"Colorado 2WD":7,"Colorado Cab Chassis inc 2WD":6,"Colorado Crew Cab 2WD":7,"SSR Pickup 2WD":5,"Colorado 4WD":7,"Colorado Crew Cab 4WD":7,"Silverado 15 Hybrid 4WD":6,"Silverado 1500 4WD":6,"Van 15/25 2WD Conversion":6,"Van 1500/2500 2WD":6,"Van 1500 AWD Conversion":6,"Van 1500/2500 AWD":6,"Express 1500/2500 2WD":6,"Express 1500 AWD":6,"Uplander FWD":7,"Uplander AWD":6,"Tahoe 1500 2WD":6,"Equinox FWD":7,"HHR FWD":8,"TrailBlazer 2WD":6,"TrailBlazer Ext 2WD":6,"Equinox AWD":7,"Suburban 1500 4WD":6,"Suburban 1500 AWD":5,"Tahoe 1500 4WD":6,"TrailBlazer 4WD":6,"TrailBlazer AWD":6,"TrailBlazer Ext 4WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Avalanche 1500 4WD":6},Dodge:{"Viper Convertible":5,"Stratus 4 Door":8,Charger:6,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":5,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Caravan/Grand Caravan 2WD":7,"Durango 2WD":5,Magnum:6,"Durango 4WD":5,"Magnum AWD":6},Ford:{Mustang:6,Focus:9,Fusion:8,"Crown Victoria":6,"Five Hundred AWD":7,"Five Hundred FWD":8,Taurus:7,"Focus Station Wagon":10,"F150 Pickup 2WD":6,"Ranger Pickup 2WD":7,"F150 Pickup 4WD":5,"Ranger Pickup 4WD":6,"E150 Econoline 2WD":6,"E150 Club Wagon":5,"Freestar Cargo Van FWD":6,"Freestar Wagon FWD":6,"Escape FWD":8,"Escape Hybrid FWD":13,"Expedition 2WD":5,"Explorer 2WD":6,"Freestyle FWD":8,"Escape 4WD":7,"Escape Hybrid 4WD":12,"Expedition 4WD":5,"Explorer 4WD":6,"Freestyle AWD":7,"GT 2WD":5,"F150 Pickup 2WD FFV":5,"F150 Pickup 4WD FFV":5,"Crown Victoria Police":6},GMC:{"Sierra 15 Hybrid 2WD":7,"Sierra 1500 2WD":6,"Canyon 2WD":7,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":7,"Canyon 4WD":7,"Canyon Crew Cab 4WD":7,"Sierra 15 Hybrid 4WD":6,"Sierra 1500 4WD":6,"Sierra 1500 AWD":5,"Savana 15/25 2WD Conversion (cargo)":6,"Savana 1500/2500 2WD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 1500/2500 AWD (cargo)":6,"Savana 1500/2500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Yukon 1500 2WD":6,"Envoy 2WD":6,"Envoy XL 2WD":6,"Envoy XUV 2WD":6,"Envoy 4WD":6,"Envoy XL 4WD":6,"Envoy XUV 4WD":6,"Yukon 1500 4WD":6,"Yukon 1500 AWD":5,"Yukon XL 1500 AWD":5,"Yukon XL 1500 2WD":6,"Yukon XL 1500 4WD":6},Honda:{Insight:20,S2000:8,Civic:9,Accord:8,"Ridgeline Truck 4WD":6,Odyssey:7,"CR-V 2WD":9,"Element 2WD":8,"Pilot 2WD":7,"CR-V 4WD":8,"Element 4WD":8,"Pilot 4WD":6,"Civic Hybrid":17,"Accord Hybrid":9,"Civic CNG":10},Hyundai:{Tiburon:7,Accent:11,Elantra:9,Azera:7,Sonata:8,"Santa Fe 2WD":7,"Tucson 2WD":8,"Santa Fe 4WD":6,"Tucson 4WD":7},Jeep:{"Commander 2WD":6,"Grand Cherokee 2WD":6,"Liberty/Cherokee 2WD":7,"Commander 4WD":6,"Grand Cherokee 4WD":5,"Liberty/Cherokee 4WD":7,"Wrangler/TJ 4WD":6},Kia:{Rio:11,Optima:8,Spectra:9,Amanti:6,Sedona:7,"Sorento 2WD":6,"Sportage 2WD":7,"Sorento 4WD":6,"Sportage 4WD":7,"Optima (2006 New Model)":9},Lexus:{"SC 430":7,"IS 250":9,"IS 250 AWD":9,"IS 350":8,"ES 330":8,"GS 300 4WD":8,"GS 300/GS 430":7,"LS 430":7,"RX 330 2WD":7,"RX 400h 2WD":12,"GX 470":6,"LX 470":5,"RX 330 4WD":7,"RX 400h 4WD":11},Mazda:{3:9,5:8,6:7,"MX-5":9,"RX-8":7,"6 Sport Wagon":7,"B2300 2WD":9,B3000:7,"B4000 2WD":7,"B4000 4WD":6,MPV:7,"Tribute 2WD":8,"Tribute 4WD":7,"Tribute Hybrid 4WD":12},"Mercedes-Benz":{SL500:6,"SL55 AMG":5,SL600:5,"SL65 AMG":5,SLK280:7,SLK350:7,"SLK55 AMG":6,SLR:5,CLK350:7,"CLK350 (Cabriolet)":7,CLK500:6,"CLK500 (Cabriolet)":6,"CLK55 AMG (Cabriolet)":6,C230:8,C280:8,"C280 4matic":7,C350:8,"C350 4matic":7,"C55 AMG":6,CL500:6,"CL55 AMG":6,CL600:5,"CL65 AMG":5,CLS500:6,"CLS55 AMG":6,"E320 Cdi":10,E350:7,"E350 4matic":7,E500:6,"E500 4matic":6,"E55 AMG":6,S350:7,S430:7,"S430 4matic":6,S500:6,"S500 4matic":6,"S55 AMG":6,S600:5,"S65 AMG":5,"E350 (wagon)":7,"E350 4matic (wagon)":7,"E500 4matic (wagon)":6,"E55 AMG (wagon)":6,ML350:6,ML500:6,R350:6,R500:5,G500:5,"G55 AMG":5},Mercury:{Milan:8,"Grand Marquis":6,"Montego AWD":7,"Montego FWD":8,"Monterey Wagon FWD":6,"Mariner FWD":8,"Mountaineer 2WD":6,"Mariner 4WD":7,"Mariner Hybrid 4WD":12,"Mountaineer 4WD":6},Nissan:{"350z":7,"350z Roadster":7,Sentra:9,Altima:8,Maxima:8,"Frontier 2WD":8,"Frontier V6 2WD":6,"Titan 2WD":6,"Frontier V6 4WD":6,"Titan 4WD":5,Quest:7,"Armada 2WD":5,"Murano FWD":8,"Pathfinder 2WD":6,"Xterra 2WD":6,"Armada 4WD":5,"Murano AWD":7,"Pathfinder 4WD":6,"Xterra 4WD":6},Toyota:{"Camry Solara":8,"Camry Solara Convertible":8,Corolla:9,Camry:8,Prius:20,Avalon:9,Matrix:9,"Matrix AWD":9,"Tacoma 2WD":6,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"Sienna 4WD":6,"4Runner 2WD":6,"Highlander 2WD":7,"Highlander Hybrid 2WD":12,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Highlander Hybrid 4WD":11,"Land Cruiser Wagon 4WD":5,"Sequoia 4WD":6,"RAV4 2WD":8,"RAV4 4WD":8}},2007:{BMW:{"525i":8,"525xi":7,"530i":7,"530xi":7,"550i":6,"530xi Sport Wagon":7,"Z4 3.0i":8,"Z4 3.0si":8,"Z4 Coupe":8,"Z4 M Coupe":6,"Z4 M Roadster":6,"328ci":8,"328cxi":7,"335ci":8,"650ci":6,"650ci Convertible":6,M6:5,"M6 Convertible":5,"328i":8,"328xi":7,"335i":8,M5:5,"328i Sport Wagon":7,"328xi Sport Wagon":7,"X3 3.0i":7,"X3 3.0si":7,"750i":6,"750li":6,"760li":6,"X5 3.0si":6,"X5 4.8i":6,"328ci Convertible":8,"335ci Convertible":8,"335xi":7},Chevrolet:{Cobalt:9,"Silverado Classic 1500 2WD":6,"Silverado Classic 15 Hybrid 2WD":7,"Silverado Classic 1500 4WD":6,"Silverado Classic 15 Hybrid 4WD":6,"Van 1500/2500 2WD":6,"Van 1500/2500 AWD":6,"Avalanche 1500 2WD":6,"Tahoe 1500 2WD":6,"TrailBlazer 2WD":6,"Suburban 1500 2WD":6,"TrailBlazer 4WD":6,"TrailBlazer AWD":5,"Avalanche 1500 4WD":6,"Suburban 1500 4WD":6,"Tahoe 1500 4WD":6,Corvette:6,"Aveo 5":10,Aveo:10,Optra:9,"Optra 5":9,Malibu:7,"Monte Carlo":8,Impala:8,"Malibu Maxx":6,"Optra Wagon":8,"Colorado 2WD":6,"Colorado Cab Chassis inc 2WD":6,"Colorado Crew Cab 2WD":6,"Colorado 4WD":6,"Colorado Crew Cab 4WD":6,"Van 15/25 2WD Conversion":5,"Van 1500 AWD Conversion":6,"Express 1500/2500 2WD":5,"Express 1500 AWD":6,"Uplander FWD":7,"Equinox FWD":7,"HHR FWD":8,"Colorado Cab Chassis inc 4WD":6,"Equinox AWD":7,"Silverado C15 2WD":6,"Silverado K15 4WD":6,"TrailBlazer Ext 4WD":6,"HHR Panel FWD":9},Dodge:{Caliber:9,Charger:6,"Charger AWD":6,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":6,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Caravan/Grand Caravan 2WD":7,"Durango 2WD":6,Magnum:6,"Nitro 2WD":7,"Durango 4WD":5,"Magnum AWD":6,"Nitro 4WD":6},Ford:{Focus:9,"Five Hundred AWD":7,"Five Hundred FWD":8,"Focus Station Wagon":10,"Explorer Sport Trac 2WD":6,"Ranger Pickup 2WD":6,"Explorer Sport Trac 4WD":6,"Ranger Pickup 4WD":6,"Freestar Cargo Van FWD":6,"Freestar Wagon FWD":6,"Escape FWD":8,"Escape Hybrid FWD":13,"Freestyle FWD":8,"Escape 4WD":7,"Escape Hybrid 4WD":12,"Freestyle AWD":7,Mustang:6,"Crown Victoria":6,Fusion:8,"Fusion AWD":7,"F150 Pickup 2WD":6,"F150 Pickup 4WD":5,"Expedition 2WD":5,"Explorer 2WD":6,"Explorer 4WD":6,"F150 Pickup 2WD FFV":6,"F150 Pickup 4WD FFV":5,"Edge FWD":7,"Edge AWD":7,Taurus:8,"F150 STX SE 2WD":6,"F150 STX SE 2WD FFV":6},GMC:{"Sierra Classic 1500 2WD":6,"Sierra Classic 15 Hybrid 2WD":7,"Sierra Classic 1500 4WD":6,"Sierra Classic 1500 AWD":6,"Sierra Classic 15 Hybrid 4WD":6,"Savana 1500/2500 2WD (cargo)":6,"Savana 1500/2500 AWD (cargo)":6,"Yukon XL 1500 2WD":6,"Yukon 1500 2WD":6,"Envoy 2WD":6,"Envoy 4WD":6,"Yukon Denali 1500 AWD":5,"Yukon 1500 4WD":6,"Yukon XL 1500 4WD":6,"Canyon 2WD":6,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":6,"Canyon 4WD":6,"Canyon Crew Cab 4WD":6,"Savana 15/25 2WD Conversion (cargo)":5,"Savana 1500 AWD Conversion (cargo)":6,"Savana 1500/2500 2WD (Passenger)":5,"Savana 1500 AWD (Passenger)":6,"Canyon Cab Chassis Inc 4WD":6,"Sierra C15 2WD":5,"Sierra K15 4WD":5,"Envoy XL 4WD":6,"Acadia FWD":7,"Acadia AWD":7},Honda:{Fit:11,"Ridgeline Truck 4WD":6,S2000:8,Civic:9,"Civic Hybrid":17,Accord:8,"Accord Hybrid":10,Odyssey:7,"CR-V 2WD":9,"Element 2WD":8,"Pilot 2WD":7,"CR-V 4WD":8,"Element 4WD":8,"Pilot 4WD":6,"Civic CNG":10},Hyundai:{Accent:11,Sonata:8,"Santa Fe 2WD":7,"Santa Fe 4WD":7,Azera:7,Entourage:7,Elantra:10,"Tucson 2WD":8,"Tucson 4WD":7,Tiburon:7,"Veracruz 2WD":7,"Veracruz 4WD":6},Jeep:{"Commander 2WD":6,"Compass 2WD":10,"Grand Cherokee 2WD":8,"Liberty/Cherokee 2WD":7,"Wrangler 2WD":7,"Commander 4WD":6,"Compass 4WD":9,"Grand Cherokee 4WD":7,"Liberty/Cherokee 4WD":7,"Patriot 4WD":8,"Wrangler 4WD":6,"Patriot 2WD":9},Kia:{Sedona:7,Rio:11,Optima:9,Amanti:7,"Sorento 2WD":7,"Sportage 2WD":7,"Sorento 4WD":6,"Sportage 4WD":7,Spectra:10,Rondo:8},Lexus:{"GS 450h":9,"ES 350":8,"RX 350 2WD":8,"RX 350 4WD":7,"SC 430":7,"IS 250":9,"IS 250 AWD":9,"IS 350":8,"GS 350":8,"GS 350 AWD":8,"GS 430":7,"LS 460":7,"LS 460 L":7,"RX 400h 2WD":12,"GX 470":6,"LX 470":5,"RX 400h 4WD":11},Mazda:{3:9,5:8,6:7,"B2300 2WD":9,B3000:7,"B4000 2WD":6,"B4000 4WD":6,"CX-7 2WD":7,"CX-7 4WD":7,"MX-5":9,"RX-8":7,"6 Sport Wagon":7,"CX-9 2WD":7,"CX-9 4WD":6},"Mercedes-Benz":{"SL55 AMG":5,SL550:6,SL600:5,"SL65 AMG":5,S550:6,S600:5,
"GL450 4matic":6,SLK280:7,SLK350:7,"SLK55 AMG":6,CLK350:7,"CLK350 (Cabriolet)":7,CLK550:6,"CLK550 (Cabriolet)":6,"CLK63 AMG (Cabriolet)":5,C280:8,"C280 4matic":7,C350:7,"C350 4matic":7,CLS550:6,"CLS63 AMG":5,E350:7,"E350 4matic":7,E550:6,"E550 4matic":6,"E63 AMG":5,"S550 4matic":6,"S65 AMG":5,"E350 4matic (wagon)":7,"E63 AMG (wagon)":5,"ML350 4matic":6,"ML500 4matic":6,"ML63 AMG":5,"R350 4matic":6,"R500 4matic":5,"R63 AMG":5,C230:7,CL550:6,"ML320 CDI 4matic":8,"R320 CDI 4matic":8,CL600:5,"E320 Bluetec":10,"GL320 CDI 4matic":8,SLR:5,G500:5,"G55 AMG":5},Mercury:{"Montego AWD":7,"Montego FWD":8,"Monterey Wagon FWD":6,"Mariner FWD":8,"Mariner 4WD":7,"Mariner Hybrid 4WD":12,"Grand Marquis":6,Milan:8,"Milan AWD":7,"Mountaineer 2WD":6,"Mountaineer 4WD":6},Nissan:{Quest:7,Maxima:8,Versa:11,Altima:8,Sentra:9,"Frontier 2WD":8,"Frontier V6 2WD":7,"Titan 2WD":5,"Frontier V6 4WD":6,"Titan 4WD":5,"Armada 2WD":5,"Murano FWD":8,"Pathfinder 2WD":6,"Xterra 2WD":7,"Armada 4WD":5,"Murano AWD":7,"Pathfinder 4WD":6,"Xterra 4WD":7,"350z":7,"350z Roadster":7,"Altima Hybrid":15},Toyota:{Yaris:12,Camry:8,"Camry Hybrid":14,"FJ Cruiser 2WD":7,"FJ Cruiser 4WD":6,"Camry Solara":8,"Camry Solara Convertible":8,Corolla:12,Prius:20,Avalon:9,Matrix:11,"Tacoma 2WD":6,"Tundra 2WD":6,"Tacoma 4WD":6,"Tundra 4WD":6,"4Runner 2WD":6,"Highlander 2WD":7,"Highlander Hybrid 2WD":12,"RAV4 2WD":8,"Sequoia 2WD":6,"4Runner 4WD":6,"Highlander 4WD":7,"Highlander Hybrid 4WD":11,"Land Cruiser Wagon 4WD":5,"RAV4 4WD":8,"Sequoia 4WD":6,"Sienna 2WD":7,"Sienna 4WD":7}},2008:{BMW:{"528i":8,"528xi":7,"535i":7,"535xi":7,"550i":6,M5:5,"535xi Sport Wagon":7,"Z4 3.0i":8,"Z4 3.0si":8,"Z4 Coupe":8,"Z4 M Coupe":6,"Z4 M Roadster":6,"328ci":8,"328ci Convertible":8,"328cxi":7,"335ci":7,"335ci Convertible":7,"335cxi":7,"650ci":6,"650ci Convertible":6,M6:5,"M6 Convertible":5,"328i":8,"328xi":7,"335i":7,"335xi":7,"750i":6,"750li":6,"760li":6,"328i Sport Wagon":8,"328xi Sport Wagon":7,"X3 3.0si":7,"X5 3.0si":6,"X5 4.8i":6,"128i":8,"128i Convertible":8,"135i":8,"135i Convertible":7,"M3 Coupe":6,M3:6,"M3 Convertible":6,"X6 xDrive35i":6,"X6 xDrive50i":6},Chevrolet:{Impala:8,"Uplander FWD":7,"Equinox FWD":7,Corvette:6,"Aveo 5":10,Cobalt:9,Aveo:10,Classic:8,Malibu:9,"Malibu Hybrid":10,"Colorado 2WD":7,"Colorado Crew Cab 2WD":7,"Colorado 4WD":6,"Colorado Cab Chassis inc 2WD":6,"Colorado Cab Chassis inc 4WD":6,"Colorado Crew Cab 4WD":6,"Silverado C15 2WD":6,"Silverado K15 4WD":6,"Van 15/25 2WD Conversion":5,"Van 1500/2500 2WD":6,"Van 1500 AWD Conversion":5,"Van 1500/2500 AWD":6,"Express 1500/2500 2WD":5,"Express 1500 AWD":5,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":5,"HHR FWD":9,"HHR Panel FWD":9,"TrailBlazer 2WD":5,"Equinox AWD":7,"Avalanche 1500 4WD":6,"Suburban 1500 4WD":6,"TrailBlazer 4WD":6,"TrailBlazer AWD":5,"Tahoe 1500 4WD":6,"Tahoe Hybrid 2WD":9,"Tahoe Hybrid 4WD":9,"Cobalt XFE":11},Dodge:{Avenger:8,"Avenger AWD":6,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":6,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":5,"Caravan/Grand Caravan 2WD":7,"Durango 2WD":6,"Nitro 2WD":7,"Durango 4WD":6,"Nitro 4WD":6,"Viper Convertible":6,"Viper Coupe":6,Caliber:8,"Caliber AWD":9,Charger:6,"Charger AWD":6,Magnum:6,"Magnum AWD":6,Challenger:6},Ford:{"Taurus AWD":7,"Taurus FWD":8,"Ranger Pickup 2WD":6,"Escape FWD":8,"Escape Hybrid FWD":14,"Escape 4WD":7,"Escape Hybrid 4WD":12,"Crown Victoria FFV":6,Mustang:6,Fusion:8,"Fusion AWD":7,"Ranger Pickup 4WD":6,"Explorer Sport Trac 2WD":6,"Explorer Sport Trac 4WD":6,"Expedition 2WD":5,"Explorer 2WD":6,"Taurus X FWD":7,"Explorer 4WD":6,"Taurus X AWD":6,Focus:10,"F150 Pickup 2WD":6,"F150 STX SE 2WD":6,"F150 Pickup 4WD":6,"Edge FWD":7,"Edge AWD":6,"F150 Pickup 2WD FFV":6,"F150 STX SE 2WD FFV":6,"F150 Pickup 4WD FFV":6},GMC:{"Acadia FWD":7,"Acadia AWD":7,"Canyon 2WD":7,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":7,"Canyon 4WD":6,"Canyon Cab Chassis Inc 4WD":6,"Canyon Crew Cab 4WD":6,"Sierra C15 2WD":6,"Sierra K15 4WD":6,"Sierra K15 AWD":5,"Savana 15/25 2WD Conversion (cargo)":5,"Savana 1500/2500 2WD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":5,"Savana 1500/2500 AWD (cargo)":6,"Savana 1500/2500 2WD (Passenger)":5,"Savana 1500 AWD (Passenger)":5,"Yukon 1500 2WD":5,"Yukon XL 1500 2WD":5,"Envoy 2WD":6,"Envoy 4WD":6,"Yukon Denali 1500 AWD":5,"Yukon XL 1500 4WD":6,"Yukon 1500 4WD":6,"Yukon 1500 Hybrid 2WD":9,"Yukon 1500 Hybrid 4WD":9},Honda:{"Ridgeline Truck 4WD":6,"Element 2WD":8,"Pilot 2WD":7,"Element 4WD":8,"Pilot 4WD":6,S2000:8,"Accord Coupe":7,"Civic Hybrid":17,Accord:8,Fit:11,"CR-V 2WD":9,"CR-V 4WD":9,Civic:9,"Civic CNG":10,Odyssey:7},Hyundai:{Sonata:8,Accent:11,Elantra:10,Azera:7,Entourage:7,"Santa Fe 2WD":7,"Tucson 2WD":8,"Veracruz 2WD":7,"Santa Fe 4WD":7,"Tucson 4WD":7,"Veracruz 4WD":6,Tiburon:7},Jeep:{"Commander 2WD":6,"Grand Cherokee 2WD":6,"Liberty 2WD":7,"Wrangler 2WD":7,"Commander 4WD":6,"Grand Cherokee 4WD":6,"Liberty 4WD":7,"Wrangler 4WD":6,"Compass 2WD":9,"Patriot 2WD":9,"Compass 4WD":9,"Patriot 4WD":9},Kia:{Spectra:10,Rio:11,Optima:9,Amanti:7,Rondo:8,Sedona:7,"Sorento 2WD":6,"Sportage 2WD":7,"Sorento 4WD":6,"Sportage 4WD":7},Lexus:{"LS 600h L":9,"RX 350 2WD":8,"RX 350 4WD":7,"SC 430":7,"GS 450h":9,"ES 350":8,"GS 350":8,"GS 350 AWD":8,"GS 460":7,"LS 460":7,"LS 460 L":7,"RX 400h 2WD":11,"GX 470":6,"LX 570":5,"RX 400h 4WD":11,"IS 250":9,"IS 250 AWD":9,"IS 350":8,"IS F":7},Mazda:{3:9,5:9,6:8,"Tribute FWD":8,"Tribute Hybrid 2WD":14,"Tribute 4WD":7,"Tribute Hybrid 4WD":12,"MX-5":9,"RX-8":7,"Speed 3":8,"B2300 2WD":9,"B3000 2WD":7,"B4000 2WD":6,"B4000 4WD":6,"CX-7 2WD":7,"CX-9 2WD":7,"CX-7 4WD":7,"CX-9 4WD":6},"Mercedes-Benz":{"CL63 AMG":5,"S63 AMG":5,"SL55 AMG":5,SL550:6,SL600:5,"SL65 AMG":5,SLK280:7,SLK350:7,"SLK55 AMG":6,"CLK350 (Cabriolet)":7,CLK350:7,"CLK63 AMG":5,"CLK63 AMG (Cabriolet)":5,CL550:6,CL600:5,"CL65 AMG":5,CLS550:6,"CLS63 AMG":5,"E320 Bluetec":10,E350:7,"E350 4matic":7,E550:6,"E550 4matic":6,"E63 AMG":5,S550:6,"S550 4matic":6,S600:5,"S65 AMG":5,"E350 4matic (wagon)":7,"E63 AMG (wagon)":5,R350:6,"GL320 CDI 4matic":8,"GL450 4matic":6,"ML320 CDI 4matic":8,"ML350 4matic":6,"ML550 4matic":6,"ML63 AMG":5,"R320 CDI 4matic":8,"R350 4matic":6,CLK550:6,"CLK550 (Cabriolet)":6,C300:8,C350:7,G500:5,"G55 AMG":5,"GL550 4matic":6,SLR:5,"C300 4matic":7,"C63 AMG":5},Mercury:{"Sable AWD":7,"Sable FWD":8,"Mariner FWD":8,"Mariner Hybrid FWD":14,"Mariner 4WD":7,"Mariner Hybrid 4WD":12,"Grand Marquis FFV":6,Milan:8,"Milan AWD":7,"Mountaineer 2WD":6,"Mountaineer 4WD":6},Nissan:{"Titan 2WD":5,"Titan 4WD":5,"Armada 2WD":5,"Pathfinder 2WD":6,"Armada 4WD":5,"Pathfinder 4WD":5,Versa:11,"350z":7,"350z Roadster":7,"Altima Coupe":8,Altima:8,"Altima Hybrid":15,Maxima:8,Sentra:9,"Frontier 2WD":7,"Frontier 4WD":6,Quest:7,"Rogue FWD":9,"Xterra 2WD":7,"Rogue AWD":9,"Xterra 4WD":7},Toyota:{"Camry Solara":8,"Camry Solara Convertible":8,Corolla:12,Camry:8,"Camry Hybrid":14,Avalon:8,Matrix:11,"Tacoma 2WD":9,"Tacoma 4WD":7,"4Runner 2WD":6,"FJ Cruiser 2WD":7,"Highlander 2WD":8,"4Runner 4WD":6,"FJ Cruiser 4WD":6,"Highlander 4WD":7,Yaris:12,Prius:20,"Tundra 2WD":6,"Tundra 4WD":6,"Sienna 2WD":7,"Sienna 4WD":7,"RAV4 2WD":8,"Sequoia 2WD":6,"Highlander Hybrid 4WD":11,"Land Cruiser Wagon 4WD":6,"RAV4 4WD":8,"Sequoia 4WD":6}},2009:{BMW:{"128i":8,"128i Convertible":8,"135i":8,"135i Convertible":7,"328ci":8,"328ci Convertible":8,"328ci xDrive":7,"335ci":7,"335ci Convertible":7,"335ci xDrive":7,"650ci":6,"650ci Convertible":6,"M3 Convertible":6,"M3 Coupe":6,M6:5,"M6 Convertible":5,"328i":8,"328i xDrive":7,"335i":7,"335i xDrive":7,M3:6,"528i":8,"528i xDrive":7,"535i":7,"535i xDrive":7,"550i":6,M5:5,"328i Sport Wagon":8,"328i Sport Wagon xDrive":7,"535i Sport Wagon xDrive":7,"X3 xDrive30i":7,"X5 xDrive30i":6,"X5 xDrive48i":6,"X6 xDrive35i":6,"X6 xDrive50i":5,"Z4 sDrive30i":8,"Z4 sDrive35i":7,"750i":6,"750li":6,"335d":10,"X5 xDrive35d":8},Chevrolet:{Corvette:6,"Aveo 5":11,Aveo:11,"Equinox FWD":7,"Equinox AWD":7,Cobalt:11,"Cobalt XFE":11,Malibu:8,"Malibu Hybrid":11,Impala:7,"Colorado 2WD":6,"Colorado Crew Cab 2WD":6,"Colorado 4WD":6,"Colorado Cab Chassis inc 2WD":6,"Colorado Cab Chassis inc 4WD":7,"Colorado Crew Cab 4WD":6,"Silverado C15 2WD":6,"Silverado 15 Hybrid 2WD":9,"Silverado K15 4WD":6,"Silverado 15 Hybrid 4WD":9,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Tahoe Hybrid 2WD":9,"HHR FWD":9,"HHR Panel FWD":9,"TrailBlazer 2WD":6,"Traverse FWD":7,"Tahoe Hybrid 4WD":9,"TrailBlazer 4WD":6,"TrailBlazer AWD":5,"Traverse AWD":7,"Express 1500 2WD Passenger":6,"Van 1500 2WD Cargo":6,"Van 1500 2WD Conversion Cargo":6,"Express 1500 AWD Passenger":5,"Van 1500 AWD Cargo":6,"Van 1500 AWD Conversion Cargo":5,"Tahoe 1500 4WD":5,"Silverado C15 XFE 2WD":6,"Tahoe 1500 XFE 2WD":6},Dodge:{"Journey 2WD":7,"Journey 4WD":6,Challenger:7,Avenger:8,Caliber:8,Charger:7,"Charger AWD":7,"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":6,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":6,"Caravan/Grand Caravan FWD":7,"Durango 2WD":6,"Nitro 2WD":7,"Durango 4WD":6,"Nitro 4WD":7,"Viper Convertible":6,"Viper Coupe":6,"Durango HEV":9},Ford:{"Flex FWD":7,"Flex AWD":7,Mustang:6,"Fusion AWD":7,"Fusion FWD":8,"Escape FWD":8,"Escape Hybrid FWD":14,"Escape 4WD":7,"Escape Hybrid 4WD":12,"Focus FWD":10,"Taurus AWD":7,"Taurus FWD":8,"Ranger Pickup 2WD":7,"Ranger Pickup 4WD":6,"Explorer Sport Trac 2WD":6,"F150 Pickup 2WD":6,"Explorer Sport Trac 4WD":6,"F150 Pickup 4WD":6,"Edge FWD":7,"Explorer 2WD":6,"Taurus X FWD":7,"Edge AWD":6,"Explorer 4WD":6,"Taurus X AWD":6,"Crown Victoria FFV":7,"F150 Pickup 2WD FFV":6,"F150 Pickup 4WD FFV":6,"Expedition 2WD FFV":6,"F150 SFE 2WD":6},GMC:{"Canyon 2WD":6,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":6,"Canyon 4WD":6,"Canyon Cab Chassis Inc 4WD":7,"Canyon Crew Cab 4WD":6,"Sierra C15 2WD":6,"Sierra 15 Hybrid 2WD":9,"Sierra K15 4WD":6,"Sierra 15 Hybrid 4WD":9,"Acadia FWD":7,"Yukon 1500 2WD":6,"Yukon 1500 Hybrid 2WD":9,"Yukon XL 1500 2WD":5,"Envoy 2WD":6,"Acadia AWD":7,"Envoy 4WD":6,"Yukon 1500 Hybrid 4WD":9,"Savana 1500 2WD (cargo)":6,"Savana 1500 2WD Conversion (cargo)":6,"Savana 1500 2WD (Passenger)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 1500 AWD (cargo)":6,"Savana 1500 AWD (Passenger)":5,"Sierra K15 AWD":5,"Yukon 1500 4WD":5,"Yukon Denali 1500 AWD":5,"Savana 1500 AWD Conversion (cargo)":5,"Savana 1500 AWD (cargo)":6,"Sierra C15 XFE 2WD":6,"Yukon 1500 XFE 2WD":6},Honda:{"Pilot 2WD":7,"Pilot 4WD":7,S2000:8,"Civic CNG":10,Civic:9,"Accord Coupe":7,"Civic Hybrid":17,Accord:8,Fit:11,"Ridgeline Truck 4WD":6,Odyssey:7,"CR-V 2WD":9,"CR-V 4WD":9,"Element 2WD":9,"Element 4WD":8},Hyundai:{Azera:8,Genesis:7,Sonata:9,Entourage:7,"Tucson 2WD":9,"Tucson 4WD":8,Accent:11,Elantra:11,"Elantra Touring":10,"Santa Fe 2WD":7,"Veracruz 2WD":7,"Santa Fe 4WD":7,"Veracruz 4WD":6},Jeep:{"Commander 2WD":6,"Grand Cherokee 2WD":6,"Commander 4WD":6,"Grand Cherokee 4WD":6,"Compass 2WD":10,"Liberty 2WD":7,"Patriot 2WD":10,"Wrangler 2WD":6,"Compass 4WD":9,"Grand Cherokee SRT8 AWD":5,"Liberty 4WD":6,"Patriot 4WD":9,"Wrangler 4WD":6},Kia:{Optima:9,Spectra:10,Amanti:7,Sedona:7,"Borrego 2WD":6,"Sorento 2WD":7,"Sportage 2WD":9,"Borrego 4WD":6,"Sorento 4WD":6,"Sportage 4WD":8,Rondo:8,Rio:11},Lexus:{"RX 350 2WD":8,"RX 350 4WD":7,"SC 430":7,"IS 250":9,"IS 250 AWD":9,"IS 350":8,"IS F":7,"ES 350":8,"GX 470":6,"LX 570":5,"GS 450h":9,"GS 350":8,"GS 350 AWD":8,"GS 460":7,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":9},Mazda:{3:9,5:9,6:7,"RX-8":7,"CX-7 2WD":7,"CX-7 4WD":7,"Speed 3":8,"CX-9 2WD":7,"Tribute FWD":8,"Tribute Hybrid 2WD":14,"CX-9 4WD":6,"Tribute 4WD":7,"Tribute Hybrid 4WD":12,"B2300 2WD":9,"B4000 4WD":6,"MX-5":9},"Mercedes-Benz":{SL550:6,SL600:5,"SL63 AMG":5,"SL65 AMG":5,SLK300:8,SLK350:8,CLS550:6,"CLS63 AMG":5,"E320 Bluetec":10,S600:5,"S63 AMG":5,"S65 AMG":5,"GL450 4matic":6,"GL550 4matic":6,"ML550 4matic":6,"SLK55 AMG":6,CLK350:7,"CLK350 (Cabriolet)":7,CLK550:6,"CLK550 (Cabriolet)":6,C350:7,"C63 AMG":5,"CL550 4matic":6,CL600:5,"CL63 AMG":5,"CL65 AMG":5,E350:7,"E350 4matic":7,E550:6,"E550 4matic":6,"E63 AMG":6,S550:6,"S550 4matic":6,"E350 4matic (wagon)":7,"E63 AMG (wagon)":6,"ML350 4matic":6,"ML63 AMG":5,"R320 Bluetec":8,"R350 4matic":6,C300:8,"C300 4matic":7,SLR:5,"G55 AMG":5,"GL320 Bluetec":7,"ML320 Bluetec":8,ML350:7},Mercury:{"Milan AWD":7,Milan:8,"Mariner FWD":8,"Mariner Hybrid FWD":14,"Mariner 4WD":7,"Mariner Hybrid 4WD":12,"Sable AWD":7,"Sable FWD":8,"Mountaineer 2WD":6,"Mountaineer 4WD":6,"Grand Marquis FFV":7},Nissan:{"Titan 2WD":6,"Titan 4WD":5,"Armada 2WD":5,"Murano FWD":8,"Armada 4WD":5,"Murano AWD":8,"GT-R":7,Maxima:8,Versa:11,"350z Roadster":7,"Altima Coupe":8,Altima:8,"Altima Hybrid":15,"Frontier 2WD":6,"Frontier 4WD":6,"Pathfinder 2WD":6,"Rogue FWD":9,"Xterra 2WD":6,"Pathfinder 4WD":6,"Rogue AWD":9,"Xterra 4WD":6,Sentra:10,Quest:7,"370z":8,"Sentra FE":11,"Versa FE":12,Cube:10,"Titan FE 2WD":6,"Titan FE 2WD FFV":6,"Pathfinder FE 2WD":6},Toyota:{Corolla:11,Camry:9,"Camry Hybrid":14,"Matrix AWD":9,Matrix:11,"Tacoma 2WD":7,"Tacoma 4WD":7,"Sienna 2WD":7,"Sienna 4WD":7,"Highlander 2WD":9,"RAV4 2WD":9,"Highlander 4WD":7,"RAV4 4WD":9,Yaris:12,Prius:20,Avalon:8,"Tundra 2WD":6,"Tundra 4WD":6,"4Runner 2WD":6,"FJ Cruiser 2WD":7,"Sequoia 2WD":6,"4Runner 4WD":6,"FJ Cruiser 4WD":7,"Land Cruiser Wagon 4WD":6,"Sequoia 4WD":6,Venza:9,"Highlander Hybrid 4WD":11,"Venza AWD":9}},2010:{BMW:{"650ci":6,"650ci Convertible":6,M6:5,"M6 Convertible":5,"528i":8,"528i xDrive":7,"535i":7,"535i xDrive":7,"550i":6,M5:5,"535i Sport Wagon xDrive":7,"X5 xDriveM":5,"X6 xDriveM":5,"M3 Convertible":6,"M3 Coupe":6,M3:6,"550 GT":6,"750i":6,"750i xDrive":6,"750Li":6,"750Li xDrive":6,"Z4 sDrive30i":8,"Z4 sDrive35i":8,"128ci Convertible":8,"128i":8,"135i":8,"135i Convertible":7,"328ci":8,"328ci Convertible":7,"328ci xDrive":7,"335ci":7,"335ci Convertible":7,"335ci xDrive":7,"328i":8,"328i xDrive":7,"335d":10,"335i":7,"335i xDrive":7,"760Li":6,"328i Sport Wagon":7,"328i Sport Wagon xDrive":7,"ActiveHybrid X6":7,"X3 xDrive30i":7,"X5 xDrive30i":6,"X5 xDrive35d":8,"X5 xDrive48i":6,"X6 xDrive35i":6,"X6 xDrive50i":6,"535i Gran Turismo":8,"550i xDrive GT":6},Chevrolet:{Camaro:7,"Equinox FWD":7,"Traverse FWD":7,"Equinox AWD":7,"Traverse AWD":7,Corvette:6,"Aveo 5":11,"Cobalt Coupe":11,"Cobalt SS Coupe":9,"Cobalt XFE Coupe":11,Aveo:11,"Cobalt Sedan":11,"Cobalt XFE Sedan":11,Malibu:9,"Malibu FFV":9,"Malibu Hybrid":11,"Impala FFV":8,Impala:8,"Silverado C15 2WD":6,"Silverado K15 4WD":6,"Express 1500 2WD Cargo":6,"HHR FWD":8,"HHR FWD FFV":9,"HHR Panel FWD FFV":9,"Colorado 2WD":6,"Colorado Cab Chassis inc 2WD":6,"Colorado Crew Cab 2WD":6,"Colorado 4WD":6,"Colorado Cab Chassis inc 4WD":7,"Colorado Crew Cab 4WD":6,"Express 1500 2WD Cargo FFV":6,"Express 1500 2WD Conversion Cargo FFV":6,"Express 1500 AWD Cargo FFV":6,"Express 1500 AWD Conversion Cargo FFV":6,"Express 1500 2WD Passenger FFV":6,"Express 1500 AWD Passenger FFV":6,"Silverado C15 2WD FFV":6,"Silverado 15 Hybrid 2WD":9,"Silverado C15 XFE 2WD FFV":6,"Silverado K15 4WD FFV":5,"Silverado 15 Hybrid 4WD":9,"Avalanche 1500 2WD FFV":5,"Suburban 1500 2WD FFV":5,"Tahoe 1500 2WD FFV":6,"Tahoe Hybrid 2WD":9,"Tahoe 1500 4WD FFV":6,"Tahoe Hybrid 4WD":9},Dodge:{Challenger:6,Charger:7,"Charger AWD":7,Caliber:10,"Ram 1500 Pickup 2WD":6,"Ram 1500 Pickup 4WD":6,"Grand Caravan":7,"Grand Caravan FFV":7,"Journey 2WD":7,"Nitro 2WD":7,"Journey AWD":6,"Nitro 4WD":6,Avenger:7,"Dakota Pickup 2WD":6,"Dakota Pickup 4WD":6,"Dakota Pickup 4WD FFV":6,"Dakota Pickup 2WD FFV":6,"Ram 1500 Pickup 2WD FFV":6,"Ram 1500 Pickup 4WD FFV":6,"Avenger FFV":8,"Viper Convertible":6,"Viper Coupe":6},Ford:{Mustang:6,"Fusion AWD":7,"Fusion AWD FFV":8,"Fusion FWD":8,"Fusion FWD FFV":8,"Fusion Hybrid FWD":17,"Fusion S FWD":9,"Transit Connect":9,"Taurus AWD":7,"Taurus FWD":8,"Explorer Sport Trac 2WD":6,"F150 Pickup 2WD FFV":6,"F150 Pickup 2WD":6,"Explorer Sport Trac 4WD":6,"F150 Pickup 4WD FFV":6,"F150 Pickup 4WD":6,"Edge FWD":8,"Expedition 2WD FFV":6,"Explorer 2WD":6,"Flex FWD":7,"Edge AWD":7,"Explorer 4WD":6,"Flex AWD":7,"Focus FWD":10,"Crown Victoria FFV":7,"Escape FWD":9,"Escape FWD FFV":8,"Escape Hybrid FWD":14,"Escape 4WD":9,"Escape 4WD FFV":8,"Escape Hybrid 4WD":13,"Ranger 2WD":7,"Ranger 4WD":6,"Expedition 4WD FFV":5},GMC:{"Acadia FWD":7,"Terrain FWD":7,"Acadia AWD":7,"Terrain AWD":7,"Sierra C15 2WD":6,"Sierra K15 4WD":6,"Savana 1500 2WD (cargo)":6,"Canyon 2WD":6,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":6,"Canyon 4WD":6,"Canyon Crew Cab 4WD":6,"Canyon Cab Chassis Inc 4WD":7,"Savana 1500 2WD (cargo) FFV":6,"Savana 1500 2WD Conversion (cargo) FFV":6,"Savana 1500 AWD (cargo) FFV":6,"Savana 1500 AWD Conversion (cargo) FFV":6,"Savana 1500 2WD (Passenger) FFV":6,"Savana 1500 AWD (Passenger) FFV":6,"Sierra C15 2WD FFV":6,"Sierra 15 Hybrid 2WD":9,"Sierra C15 XFE 2WD FFV":6,"Sierra K15 4WD FFV":5,"Sierra 15 Hybrid 4WD":9,"Sierra K15 AWD FFV":5,"Yukon 1500 2WD FFV":6,"Yukon 1500 Hybrid 2WD":9,"Yukon XL 1500 2WD FFV":5,"Yukon 1500 4WD FFV":6,"Yukon 1500 Hybrid 4WD":9,"Yukon Denali 1500 AWD FFV":6},Honda:{Insight:17,Odyssey:7,"Pilot 2WD":7,"Pilot 4WD":7,"Ridgeline Truck 4WD":6,Fit:11,"Accord Coupe":7,Accord:8,Civic:9,"Civic Hybrid":17,"CR-V 2WD":9,"CR-V 4WD":9,"Civic CNG":10,"Element 2WD":8,"Element 4WD":8,"Accord Crosstour 2WD":8,"Accord Crosstour 4WD":7},Hyundai:{"Genesis Coupe":7,Sonata:8,Azera:7,Genesis:8,"Elantra Touring":10,"Veracruz 2WD":7,"Veracruz 4WD":7,Accent:12,Entourage:7,Elantra:11,"Elantra Blue":11,"Accent Blue":11,"Santa Fe 2WD":9,"Tucson 2WD":9,"Santa Fe 4WD":9,"Tucson 4WD":9},Jeep:{"Commander 2WD":6,"Compass 2WD":10,"Grand Cherokee 2WD":6,"Patriot 2WD":10,"Commander 4WD":6,"Grand Cherokee 4WD":6,"Liberty 2WD":7,"Wrangler 2WD":6,"Liberty 4WD":6,"Wrangler 4WD":6,"Grand Cherokee SRT8 AWD":5,"Compass 4WD":10,"Patriot 4WD":9},Kia:{Forte:9,Soul:10,"Borrego 2WD":6,"Borrego 4WD":6,Optima:9,Rondo:8,"Sportage 2WD":9,"Sportage 4WD":8,Sedona:7,Rio:12},Lexus:{"IS 250/IS 250C":9,"IS 350/IS 350C":8,"RX 350 2WD":8,"RX 350 AWD":8,"HS 250h":15,"SC 430":7,"IS 250 AWD":9,"IS F":7,"ES 350":8,"LX 570":5,"GS 460":7,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"GS 350":8,"GS 350 AWD":8,"LS 600h L":9,"GX 460":6},Mazda:{3:9,5:9,6:9,"Speed 3":8,"CX-7 2WD":9,"CX-7 4WD":7,"MX-5":9,"RX-8":7,"CX-9 2WD":7,"CX-9 4WD":6,"Tribute FWD":9,"Tribute FWD FFV":8,"Tribute Hybrid 2WD":14,"Tribute 4WD":9,"Tribute 4WD FFV":8,"Tribute Hybrid 4WD":13},"Mercedes-Benz":{"E550 Coupe":6,C300:8,"CL550 4matic":6,CLS550:6,"E350 4matic":7,E550:7,"E550 4matic":6,"S550 4matic":6,S600:5,"S63 AMG":5,"S65 AMG":5,"S400 Hybrid":8,ML350:7,"GL450 4matic":6,"GL550 4matic":5,"ML350 4matic":6,"ML550 4matic":6,"E350 Coupe":7,"C300 4matic":7,C350:7,CL600:5,"CL63 AMG":5,"CL65 AMG":5,E350:8,S550:6,"GLK350 4matic":7,"ML63 AMG":5,SLK300:8,SLK350:8,"SLK55 AMG":6,"C63 AMG":5,"CLS63 AMG":5,"E63 AMG":6,"GL350 Bluetec":7,"ML350 Bluetec":8,"R350 4matic":6,"R350 Bluetec":8,GLK350:7,G550:5,"ML450 Hybrid 4matic":9,"G55 AMG":5},Mercury:{"Milan AWD FFV":8,Milan:9,"Milan FFV":8,"Milan Hybrid FWD":17,"Milan S":9,"Mountaineer 2WD":6,"Mountaineer AWD":6,"Grand Marquis FFV":7,"Mariner FWD":9,"Mariner FWD FFV":8,"Mariner Hybrid FWD":14,"Mariner 4WD":9,"Mariner 4WD FFV":8,"Mariner Hybrid 4WD":13},Nissan:{"GT-R":6,"Armada 2WD":5,"Armada 2WD FFV":5,"Armada 4WD":5,"Armada 4WD FFV":5,"Frontier 2WD":7,"Frontier 4WD":6,"Pathfinder 2WD":6,"Pathfinder FE 2WD":6,"Xterra 2WD":7,"Pathfinder 4WD":6,"Xterra 4WD":7,Maxima:8,Sentra:9,"Titan 2WD":6,"Titan 2WD FFV":6,"Titan 4WD":5,"Titan 4WD FFV":5,"Rogue FWD":9,"Rogue AWD":9,"370Z Roadster":8,"Altima Coupe":8,Altima:8,"Altima Hybrid":15,Versa:11,"Murano FWD":8,"Murano AWD":8,"370Z":8,Cube:11},Toyota:{Corolla:9,Camry:8,"Camry Hybrid":14,Prius:22,Matrix:9,"Tundra 2WD":6,"Tundra 4WD":6,"Tundra 4WD FFV":6,"Sienna 2WD":7,"Sienna 4WD":7,"Sequoia 2WD":6,"Sequoia 4WD":6,"Sequoia 4WD FFV":6,Avalon:8,"Tacoma 2WD":6,"Tacoma 4WD":6,"Land Cruiser Wagon 4WD":6,Yaris:12,"RAV4 2WD":8,"RAV4 4WD":8,"4Runner 2WD":8,"FJ Cruiser 2WD":7,"Highlander 2WD":8,"4Runner 4WD":7,"FJ Cruiser 4WD":6,"Highlander 4WD":7,"Highlander Hybrid 4WD":11,Venza:8,"Venza AWD":8}},2011:{BMW:{"Z4 sDrive30i":8,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"128ci Convertible":8,"128i":8,"135i":8,"135i Convertible":8,"328ci":8,"328ci Convertible":8,"328ci xDrive":7,"335ci":8,"335ci Convertible":8,"335ci xDrive":8,"335is Convertible":7,"335is Coupe":7,"M3 Convertible":6,"M3 Coupe":6,"328i":8,"328i xDrive":7,"335d":10,"335i":8,"335i xDrive":8,"M3 Sedan":6,"528i":9,"535i":9,"550i":7,"ActiveHybrid 7i":7,"740i":7,"740Li":7,"750i":6,"750i xDrive":6,"750Li xDrive":6,"ActiveHybrid 7Li":7,"Alpina B7 LWB xDrive":6,"Alpina B7 SWB xDrive":6,"328i Sports Wagon":8,"328i xDrive Sports Wagon":7,"ActiveHybrid X6":7,"X5 xDrive35d":8,"X5 xDrive35i":7,"X5 xDrive50i":6,"X5 xDriveM":5,"X6 xDrive35i":7,"X6 xDrive50i":6,"X6 xDriveM":5,"535i xDrive":9,"550i xDrive":7,"535i Gran Turismo":9,"535i xDrive Gran Turismo":8,"550i Gran Turismo":6,"550i xDrive Gran Turismo":6,"750Li":6,"Alpina B7 SWB":6,"Alpina B7 LWB":6,"760Li":6,"X3 xDrive28i":8,"X3 xDrive35i":8,"Active E":45,"M1 Coupe":8},Chevrolet:{"Colorado 2WD":6,"Colorado Cab Chassis inc 2WD":6,"Colorado Crew Cab 2WD":6,"Colorado 4WD":6,"Colorado Cab Chassis inc 4WD":7,"Colorado Crew Cab 4WD":6,"Silverado C15 2WD":6,"Silverado C15 XFE 2WD":6,"Silverado K15 4WD":5,"Express 1500 2WD Cargo":6,"Express 2500 2WD Passenger":5,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Tahoe 1500 2WD":6,"Avalanche 1500 4WD":6,"Suburban 1500 4WD":6,"Tahoe 1500 4WD":6,Corvette:6,"Aveo 5":11,Aveo:11,Camaro:8,Malibu:9,Impala:8,"Silverado 15 Hybrid 2WD":9,"Silverado 15 Hybrid 4WD":9,"Express 1500 2WD Conversion Cargo":6,"Express 2500 2WD Conversion Cargo":4,"Express 2500 2WD Cargo":4,"Express 3500 2WD Cargo":4,"Express 1500 AWD Conversion Cargo":6,"Express 1500 AWD Cargo":6,"Express 1500 2WD Passenger":6,"Express 3500 2WD Passenger":5,"Express 1500 AWD Passenger":6,"HHR FWD":9,"HHR Panel FWD":9,"Equinox FWD":7,"Tahoe Hybrid 2WD":9,"Traverse FWD":7,"Suburban 2500 2WD":4,"Equinox AWD":7,"Tahoe Hybrid 4WD":9,"Traverse AWD":7,"Suburban 2500 4WD":4,Cruze:9,Volt:15,"Cruze Eco":12},Dodge:{"Dakota Pickup 2WD":6,"Ram 1500 Pickup 2WD":6,"Dakota Pickup 4WD":6,"Ram 1500 Pickup 4WD":6,"Nitro 2WD":7,"Nitro 4WD":7,Caliber:10,Challenger:7,"Challenger SRT8":6,Avenger:8,Charger:8,"Charger AWD":6,"Grand Caravan":7,"Durango 2WD":6,"Journey FWD":7,"Durango 4WD":6,"Journey AWD":7},Ford:{Fiesta:12,"Fiesta SFE":12,Mustang:8,"Mustang Convertible":8,"Taurus AWD":7,"Taurus FWD":8,"Flex FWD":7,"Flex AWD":7,"Focus FWD":11,"Fusion FWD":8,"Fusion AWD":7,"Fusion S FWD":9,"Fusion AWD FFV":8,"Fusion Hybrid FWD":17,"Fusion FWD FFV":9,"Edge FWD":8,"Edge AWD":7,"Crown Victoria FFV":7,"Ranger 2WD":7,"Ranger 4WD":6,"E350 Van":4,"E250 Van FFV":5,"E350 Van FFV":5,"E150 Van FFV":6,"E350 Wagon":4,"E350 Wagon FFV":5,"E150 Wagon FFV":6,"Expedition 2WD FFV":6,"Escape FWD":9,"Escape Hybrid FWD":14,"Escape FWD FFV":8,"Expedition 4WD FFV":6,"Escape Hybrid 4WD":13,"Escape 4WD FFV":8,"Escape 4WD":9,"Transit Connect":9,"F150 Pickup 2WD FFV":6,"F150 Pickup 2WD":7,"F150 Pickup 4WD":6,"F150 Pickup 4WD FFV":7,"F150 Raptor Pickup 4WD":5,"Explorer FWD":7,"Explorer 4WD":7,"Expedition Limo. 2WD FFV":5},GMC:{"Canyon 2WD":6,"Canyon Cab Chassis Inc 2WD":6,"Canyon Crew Cab 2WD":6,"Canyon 4WD":6,"Canyon Cab Chassis Inc 4WD":7,"Canyon Crew Cab 4WD":6,"Sierra C15 2WD":6,"Sierra C15 XFE 2WD":6,"Sierra K15 4WD":5,"Savana 1500 2WD (cargo)":6,"Savana 1500 2WD (Passenger)":6,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Yukon 1500 4WD":6,"Yukon XL 1500 4WD":6,"Sierra 15 Hybrid 2WD":9,"Sierra 15 Hybrid 4WD":9,"Sierra K15 AWD":5,"Savana 1500 2WD Conversion (cargo)":6,"Savana 2500 2WD Conversion (cargo)":4,"Savana 2500 2WD (cargo)":4,"Savana 3500 2WD (cargo)":4,"Savana 1500 AWD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 2500 2WD (Passenger)":5,"Savana 3500 2WD (Passenger)":5,"Savana 1500 AWD (Passenger)":6,"Terrain FWD":7,"Yukon 1500 Hybrid 2WD":9,"Acadia FWD":7,"Yukon XL 2500 2WD":4,"Terrain AWD":7,"Yukon 1500 Hybrid 4WD":9,"Acadia AWD":7,"Yukon Denali 1500 AWD":6,"Yukon XL 1500 AWD":6,"Yukon XL 2500 4WD":4,"Yukon Denali 1500 Hybrid 4WD":9},Honda:{"Pilot 2WD":7,"Pilot 4WD":7,"Ridgeline Truck 4WD":6,"CR-Z":15,"Civic CNG":10,Civic:9,"Civic Hybrid":17,"Accord Coupe":8,Accord:9,"CR-V 2WD":9,"CR-V 4WD":9,Insight:17,Odyssey:8,"Accord Crosstour 2WD":8,"Element 2WD":9,"Accord Crosstour 4WD":8,"Element 4WD":8,Fit:11},Hyundai:{Azera:8,Sonata:9,"Elantra Touring":10,Entourage:8,"Genesis Coupe":7,Accent:12,"Accent Blue":11,Genesis:7,"Tucson 2WD":9,"Tucson 4WD":9,Equus:7,"Veracruz 2WD":7,"Veracruz 4WD":7,"Santa Fe 2WD":9,"Santa Fe 4WD":9,Elantra:12,"Sonata Hybrid":14},Jeep:{"Grand Cherokee 2WD":7,"Grand Cherokee 4WD":7,"Liberty 2WD":7,"Liberty 4WD":6,"Wrangler 4WD":6,"Compass 2WD":10,"Patriot 2WD":10,"Compass 4WD":9,"Patriot 4WD":9},Kia:{Rio:12,Sedona:8,"Borrego 2WD":6,"Sorento 2WD":9,"Borrego 4WD":6,"Sorento 4WD":8,Soul:10,Rondo:8,"Sportage 2WD":9,"Sportage 4WD":9,Optima:9,Forte:9,"Forte Eco":11,"Forte Koup":9,"Optima Hybrid":14},Lexus:{"IS 250/IS 250C":8,"IS 250 AWD":9,"IS 350/IS 350C":9,"IS 350 AWD":8,"IS F":7,"GS 450h":9,"GS 350":8,"GS 350 AWD":8,"GS 460":7,"GX 460":6,"LX 570":5,"HS 250h":15,"ES 350":8,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":8,"RX 350 2WD":8,"RX 450h":14,"RX 350 AWD":8,"RX 450h AWD":13,"CT 200h":18},Mazda:{2:11,3:9,6:9,"MX-5":9,"Speed 3":8,"RX-8":7,"CX-9 2WD":7,"Tribute FWD FFV":8,"Tribute FWD":9,"Tribute Hybrid 2WD":14,"CX-9 4WD":7,"Tribute Hybrid 4WD":13,"Tribute 4WD FFV":8,"Tribute 4WD":9,"CX-7 2WD":9,"CX-7 4WD":7},"Mercedes-Benz":{SL550:6,"SL63 AMG":5,"SL65 AMG":5,"SLS AMG":6,"E350 Convertible":7,"E550 Convertible":6,"CLS63 AMG":5,SLK350:8,SLK300:8,"E350 Coupe":7,"E550 Coupe":6,C350:7,C300:8,"C300 4matic":8,"C63 AMG":6,CLS550:6,E550:6,"E350 4matic":7,"E550 4matic":6,"E63 AMG":6,S550:6,"S550 4matic":6,"E350 4matic (wagon)":7,ML350:7,"ML350 4matic":6,"ML550 4matic":6,"R350 4matic":6,"GL450 4matic":6,E350:7,"E350 Bluetec":9,GLK350:7,"GLK350 4matic":7,"ML350 Bluetec 4matic":8,"ML450 Hybrid 4matic":9,"ML63 AMG":5,"R350 Bluetec 4matic":8,"GL350 Bluetec 4matic":7,"GL550 4matic":5,G550:5,"G55 AMG":5,"S400 Hybrid":8,"CL550 4matic":6,CL600:5,"CL63 AMG":6,"CL65 AMG":5,S600:5,"S63 AMG":6,"S65 AMG":5},Mercury:{"Milan FWD":9,"Milan Hybrid FWD":17,"Milan AWD FFV":8,"Milan S FWD":9,"Milan FWD FFV":9,"Grand Marquis FFV":7,"Mariner FWD FFV":8,"Mariner Hybrid FWD":14,"Mariner FWD":9,"Mariner Hybrid 4WD":13,"Mariner 4WD FFV":8,"Mariner 4WD":9},Nissan:{"GT-R":6,Versa:11,Sentra:9,Maxima:8,"Frontier 2WD":7,"Titan 2WD":6,"Titan 4WD":5,"Titan 2WD FFV":6,"Titan 4WD FFV":5,"Rogue FWD":9,"Armada 2WD":6,"Armada 2WD FFV":5,"Rogue AWD":9,"Armada 4WD":5,"Armada 4WD FFV":5,"Altima Coupe":9,Altima:9,"Altima Hybrid":14,Juke:11,"Juke AWD":11,"Frontier 4WD":6,"Pathfinder 2WD":6,"Pathfinder 4WD":6,"Xterra 4WD":7,"Murano FWD":8,"Murano AWD":8,Leaf:45,"370Z":8,"370Z Roadster":8,Cube:11,"Xterra 2WD":7,Quest:8,"Murano CrossCabriolet":7},Toyota:{Camry:9,"Camry Hybrid":13,Avalon:9,"Sienna 2WD":8,"Sienna AWD":7,"Tacoma 2WD":6,"Tacoma 4WD":6,Yaris:12,"Tundra 2WD":7,"Tundra 4WD":6,"Tundra 4WD FFV":6,"RAV4 2WD":8,"Highlander 2WD":8,"4Runner 2WD":7,"Sequoia 2WD":6,"RAV4 4WD":8,"Highlander 4WD":7,"Highlander Hybrid 4WD":12,"4Runner 4WD":7,"Sequoia 4WD":6,"Land Cruiser Wagon 4WD":6,"Sequoia 4WD FFV":5,Corolla:9,Matrix:9,"FJ Cruiser 2WD":7,Venza:8,"FJ Cruiser 4WD":6,"Venza AWD":8,Prius:22}},2012:{BMW:{"128ci Convertible":8,"128i":8,"135i":9,"135i Convertible":8,"650i Convertible":6,"740i":7,"740Li":7,"750i":6,"750i xDrive":6,"750Li":6,"750Li xDrive":6,"Alpina B7 LWB":6,"Alpina B7 LWB xDrive":6,"Alpina B7 SWB":6,"Alpina B7 SWB xDrive":6,"X5 xDrive35i":7,"X5 xDrive50i":6,"X5 xDriveM":5,"X6 xDrive35i":7,"X6 xDrive50i":6,"X6 xDriveM":5,"M3 Coupe":6,"M3 Convertible":6,"650i Coupe":6,"550i":6,"Z4 sDrive28i":10,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"328i Coupe":8,"328i Coupe xDrive":7,"328ci Convertible":7,"335i Coupe":8,"335i Coupe xDrive":8,"335is Coupe":8,"335is Convertible":8,"335ci Convertible":8,"640i Coupe":10,"640i Convertible":9,"650i Coupe xDrive":6,"528i":10,"528i xDrive":9,"535i":9,"535i xDrive":9,"550i xDrive":6,"ActiveHybrid 7":7,"535i Gran Turismo":8,"535i xDrive Gran Turismo":8,"550i Gran Turismo":6,"550i xDrive Gran Turismo":6,"ActiveHybrid 7L":7,"760Li":6,"328i Sport Wagon":7,"328i xDrive Sport Wagon":7,"X3 xDrive28i":8,"X3 xDrive35i":8,"X5 xDrive35d":8,"328i":10,"335i":9,"650i Convertible xDrive":6,"M6 Convertible":6,"ActiveHybrid 5":10},Chevrolet:{"Colorado 2WD":7,"Colorado Crew Cab 2WD":7,"Colorado 4WD":7,"Colorado Crew Cab 4WD":7,"Express 1500 2WD Cargo":6,"Express 1500 2WD Conversion Cargo":6,"Express 1500 AWD Cargo":6,"Express 1500 AWD Conversion Cargo":6,"Express 1500 2WD Passenger":6,"Express 1500 AWD Passenger":6,"Cruze Eco":12,Corvette:6,Camaro:5,Cruze:11,Malibu:7,Impala:8,"Colorado Cab Chassis inc 2WD":6,"Colorado Cab Chassis inc 4WD":7,"Silverado C15 2WD":6,"Silverado C15 XFE 2WD":6,"Silverado K15 4WD":6,"Equinox FWD":9,"Tahoe 1500 2WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Traverse FWD":7,"Equinox AWD":9,"Avalanche 1500 4WD":6,"Tahoe 1500 4WD":6,"Suburban 1500 4WD":6,"Traverse AWD":7,Volt:15,"Sonic 5":11,Sonic:11,"Silverado 15 Hybrid 2WD":9,"Silverado 15 Hybrid 4WD":9,"Express 2500 2WD Conversion Cargo":4,"Express 2500 2WD Cargo":4,"Express 3500 2WD Cargo":4,"Express 2500 2WD Passenger":5,"Express 3500 2WD Passenger":4,"Captiva FWD":7,"Tahoe Hybrid 2WD":9,"Suburban 2500 2WD":4,"Tahoe Hybrid 4WD":9,"Suburban 2500 4WD":4,"Captiva AWD":7},Dodge:{"Challenger SRT8":6,Avenger:8,"Ram 1500 Pickup 2WD":6,"Ram 1500 Pickup 4WD":6,"Grand Caravan":7,"Durango 2WD":6,"Journey FWD":7,"Durango 4WD":6,"Journey AWD":7,Challenger:7,Charger:8,"Charger AWD":8,"Charger SRT8":6,Caliber:9},Ford:{Mustang:6,"Mustang Convertible":8,"Focus FWD":11,"Focus SFE FWD":12,"Fusion FWD":8,"Fusion AWD":7,"Fusion AWD FFV":8,"Fusion Hybrid FWD":17,"Fusion S FWD":9,"Fusion FWD FFV":9,"Transit Connect Van":9,"Transit Connect Wagon FWD":9,"Flex FWD":7,"Escape Hybrid FWD":14,"Escape FWD FFV":8,"Escape FWD":10,"Flex AWD":7,"Escape Hybrid AWD":13,"Escape AWD FFV":8,"Escape AWD":9,"Fiesta FWD":12,"Fiesta SFE FWD":12,"Taurus AWD":7,"Taurus FWD":8,"E350 Van":4,"E150 Van FFV":5,"E250 Van FFV":5,"E350 Van FFV":5,"E350 Wagon":4,"E150 Wagon FFV":5,"E350 Wagon FFV":5,"Edge FWD":8,"Explorer FWD":8,"Expedition 2WD FFV":6,"Edge AWD":8,"Explorer AWD":7,"F150 Pickup 2WD":7,"F150 Pickup 2WD FFV":6,"F150 Raptor Pickup 4WD":5,"F150 Pickup 4WD":6,"F150 Pickup 4WD FFV":6,"Focus Electric":47},GMC:{"Canyon 2WD":7,"Canyon Crew Cab 2WD":7,"Canyon 4WD":7,"Canyon Crew Cab 4WD":7,"Savana 1500 2WD (cargo)":6,"Savana 1500 2WD Conversion (cargo)":6,"Savana 1500 AWD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 1500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Canyon Cab Chassis Inc 2WD":6,"Canyon Cab Chassis Inc 4WD":7,"Sierra C15 XFE 2WD":6,"Sierra C15 2WD":6,"Sierra K15 4WD":6,"Sierra K15 AWD":5,"Terrain FWD":9,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Acadia FWD":7,"Terrain AWD":9,"Yukon XL 1500 4WD":6,"Yukon Denali 1500 AWD":6,"Yukon 1500 4WD":6,"Acadia AWD":7,"Sierra 15 Hybrid 2WD":9,"Sierra 15 Hybrid 4WD":9,"Savana 2500 2WD Conversion (cargo)":4,"Savana 2500 2WD (cargo)":4,"Savana 3500 2WD (cargo)":4,"Savana 2500 2WD (Passenger)":5,"Savana 3500 2WD (Passenger)":4,"Yukon 1500 Hybrid 2WD":9,"Yukon XL 2500 2WD":4,"Yukon XL 2500 4WD":4,"Yukon 1500 Hybrid 4WD":9,"Yukon XL 1500 AWD":6,"Yukon Denali 1500 Hybrid 4WD":9},Honda:{Civic:9,"Civic HF":12,"Civic Hybrid":19,"Accord Coupe":8,Accord:9,Fit:11,Odyssey:8,"Crosstour 2WD":9,"Pilot 2WD":8,"Crosstour 4WD":8,"Pilot 4WD":7,"CR-Z":15,Insight:17,"Ridgeline Truck 4WD":6,"CR-V 2WD":10,"CR-V 4WD":9,"Civic Natural Gas":11},Hyundai:{Accent:12,Elantra:12,Equus:6,Genesis:7,"Genesis R-Spec":7,"Tucson 2WD":9,"Tucson 4WD":8,"Genesis Coupe":7,Sonata:10,"Elantra Touring":10,"Santa Fe 4WD":9,"Santa Fe 2WD":9,Veloster:11,"Veracruz 2WD":7,"Veracruz 4WD":7,"Sonata Hybrid":14,Azera:9},Jeep:{"Grand Cherokee 2WD":6,
"Liberty 2WD":7,"Grand Cherokee 4WD":6,"Grand Cherokee SRT8 4WD":5,"Liberty 4WD":6,"Compass 2WD":10,"Patriot 2WD":10,"Compass 4WD":9,"Patriot 4WD":9,"Wrangler 4WD":7,"Wrangler Unlimited 4WD":7},Kia:{Rondo:8,Sedona:8,"Sorento 2WD":9,"Sportage 2WD":9,"Sorento 4WD":8,"Sportage 4WD":8,"Forte Koup":9,Rio:12,Forte:9,"Forte Eco":11,Optima:10,"Soul Eco":10,Soul:10,"Optima Hybrid":14},Lexus:{LFA:5,"IS 350 AWD":8,"IS 350/IS 350C":8,"IS 250 AWD":9,"IS 250/IS 250C":9,"CT 200h":18,"RX 450h":14,"RX 350":8,"RX 450h AWD":13,"RX 350 AWD":8,"GX 460":6,"IS F":7,"HS 250h":15,"ES 350":8,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":8},Mazda:{2:12,3:10,5:9,6:8,"MX-5":9,"Speed 3":8,"CX-9 2WD":7,"CX-9 4WD":7,"3 DI 4-Door":12,"3 DI 5-Door":12,"CX-7 2WD":9,"CX-7 4WD":7},"Mercedes-Benz":{SL550:6,"SL63 AMG":5,"SLS AMG":6,"GLK350 4matic":7,"GL450 4matic":6,"GL550 4matic":5,G550:5,SLK350:9,CLS550:7,GLK350:7,"SLS AMG Roadster":6,"C63 AMG Coupe":6,"C350 Coupe":8,"E350 Coupe":8,"E350 Convertible":8,"C300 4matic":8,C250:9,C350:9,"C63 AMG":6,"CL550 4matic":6,CL600:5,"CL63 AMG":6,"CL65 AMG":5,"CLS550 4matic":7,"CLS63 AMG":7,S550:6,"S400 Hybrid":8,S600:5,"S63 AMG":6,"S550 4matic":6,"S65 AMG":5,"S350 Bluetec 4matic":9,"ML350 4matic":7,"ML350 Bluetec 4matic":9,"R350 4matic":7,"C250 Coupe":9,"E550 Coupe":7,"E550 Convertible":7,E350:9,"E350 Bluetec":9,"E350 4matic":8,"E550 4matic":7,"E63 AMG":7,"E350 4matic (wagon)":8,"E63 AMG (wagon)":6,"R350 Bluetec 4matic":8,"GL350 Bluetec 4matic":7,SLK250:9,"SLK55 AMG":8,"C63 AMG Black Series Coupe":6,"E350 4matic Coupe":8,"ML550 4matic":6,"ML63 AMG":6,"C350 4matic Coupe":8},Nissan:{"GT-R":7,"Altima Coupe":8,Sentra:9,Altima:9,Versa:11,Maxima:8,"Frontier 2WD":7,"Frontier 4WD":6,"Titan 2WD":6,"Titan 4WD":5,"Pathfinder 2WD":6,"Armada 2WD":5,"Xterra 2WD":7,"Xterra 4WD":7,"Pathfinder 4WD":6,"Armada 4WD":5,"370Z":8,"370Z Roadster":8,Juke:11,"Juke AWD":11,"Rogue FWD":10,"Murano FWD":8,"Rogue AWD":9,"Murano AWD":8,"Murano CrossCabriolet":7,Leaf:45,Quest:8,Cube:11},Toyota:{Yaris:13,Camry:9,Prius:22,"Prius v":19,"Tacoma 2WD":7,"Tacoma 4WD":6,"Tundra 2WD":6,"Tundra 4WD":6,"Tundra 4WD FFV":6,"Sienna 2WD":8,"Sienna AWD":7,"Highlander 2WD":8,"FJ Cruiser 2WD":7,"Sequoia 2WD":6,"Highlander 4WD":7,"Highlander Hybrid 4WD":12,"FJ Cruiser 4WD":6,"Sequoia 4WD":6,"Sequoia 4WD FFV":6,"Camry Hybrid LE":18,"Camry Hybrid XLE":17,"4Runner 2WD":7,"4Runner 4WD":7,Avalon:8,Corolla:11,"Prius c":23,Matrix:9,"RAV4 2WD":8,Venza:8,"RAV4 4WD":8,"Venza AWD":8,"Prius Plug-in Hybrid":22,"RAV4 EV":33}},2013:{BMW:{"X3 xDrive28i":9,"X3 xDrive35i":8,"X5 xDrive50i":6,"X6 xDrive50i":6,"X5 xDrive35i":7,"X5 M":5,"X6 xDrive35i":7,"X6 M":5,"640i Gran Coupe":9,"Z4 sDrive28i":9,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"135i":9,"135i Convertible":8,"335i Coupe":8,"335i Coupe xDrive":9,"335is Convertible":8,"335i Convertible":8,"328i":9,"328i xDrive":9,"335i":10,"335i xDrive":9,"335is Coupe":8,"640i Convertible":9,"X1 xDrive28i":9,"X1 sDrive28i":10,"X1 xDrive35i":8,"528i":10,"528i xDrive":9,"535i":9,"535i xDrive":9,"550i":6,"535i Gran Turismo":9,"128i":8,"128ci Convertible":8,"328i Coupe xDrive":7,"328i Convertible":7,"M3 Coupe":6,"M3 Convertible":6,"650i Coupe":7,"M6 Coupe":6,"328i Coupe":8,"640i Coupe":10,"650i Coupe xDrive":7,"650i Convertible":7,"650i Convertible xDrive":7,"M6 Convertible":6,"ActiveHybrid 3":11,"ActiveHybrid 5":10,"550i xDrive":7,M5:6,"650i Gran Coupe":7,"650i xDrive Gran Coupe":7,"M6 Gran Coupe":6,"535i xDrive Gran Turismo":8,"550i Gran Turismo":7,"550i xDrive Gran Turismo":7,"740i":8,"740Li":8,"740Li xDrive":8,"750i":7,"750Li":7,"750i xDrive":7,"750Li xDrive":7,"Alpina B7 SWB":7,"Alpina B7 LWB":7,"Alpina B7 SWB xDrive":7,"Alpina B7 LWB xDrive":7,"760Li":6,"ActiveHybrid 7L":9,"X5 xDrive35d":8,"320i":10,"320i xDrive":9},Chevrolet:{"Malibu eAssist":11,Corvette:6,Camaro:8,"Silverado C15 2WD":6,"Silverado C15 XFE 2WD":6,"Silverado K15 4WD":5,"Express 1500 2WD Cargo":6,"Express 1500 2WD Conversion Cargo":6,"Express 1500 AWD Conversion Cargo":6,"Express 1500 AWD Cargo":6,"Express 2500 2WD Passenger":5,"Express 1500 2WD Passenger":6,"Express 1500 AWD Passenger":6,"Tahoe 1500 2WD":6,"Avalanche 1500 2WD":6,"Suburban 1500 2WD":6,"Suburban 2500 2WD":4,"Avalanche 1500 4WD":6,"Tahoe 1500 4WD":6,"Suburban 1500 4WD":6,"Express 2500 2WD Conversion Cargo":4,"Express 3500 2WD Passenger":5,"Suburban 2500 4WD":4,"Cruze Eco":12,Cruze:9,Spark:12,Sonic:11,"Sonic 5":11,"Silverado 15 Hybrid 2WD":9,"Silverado 15 Hybrid 4WD":9,"Equinox AWD":7,"Tahoe Hybrid 2WD":9,"Tahoe Hybrid 4WD":9,Volt:15,Impala:8,"Equinox FWD":7,Malibu:9,"Traverse FWD":7,"Traverse AWD":7,"Sonic RS":11},Dodge:{Dart:9,"Durango 2WD":7,"Durango 4WD":6,"Grand Caravan":7,"Journey FWD":8,"Journey AWD":7,Avenger:9,"Challenger SRT8":6,Challenger:6,"Charger AWD":8,Charger:8,"Charger SRT8":6,"Dart Aero":12},Ford:{"Explorer FWD":7,"Taurus AWD":7,"Taurus AWD FFV":8,"Taurus FWD":9,"Edge FWD":8,"Edge AWD":8,"Explorer AWD FFV":7,Mustang:6,"Mustang Convertible":8,"Taurus FWD FFV":8,"Explorer 2WD FFV":7,"Flex FWD":8,"Flex AWD":7,"Escape FWD":10,"Escape AWD":9,"Fiesta FWD":12,"Fiesta SFE FWD":12,"Focus FWD":10,"C-MAX Hybrid FWD":18,"Transit Connect Van":9,"Transit Connect Wagon FWD":9,"Focus Electric":47,"Fusion Hybrid FWD":19,"Fusion FWD":9,"Fusion AWD":9,"F150 Pickup 2WD FFV":7,"F150 Pickup 2WD":7,"F150 Raptor Pickup 4WD":5,"F150 Pickup 4WD":6,"F150 Pickup 4WD FFV":7,"E150 Van FFV":5,"E250 Van FFV":5,"E350 Van FFV":5,"E350 Van":4,"E150 Wagon FFV":5,"E350 Wagon FFV":5,"E350 Wagon":4,"Expedition 2WD FFV":6,"Expedition 4WD FFV":6,"Explorer AWD":7,"C-MAX Energi Plug-in Hybrid":17,"Fusion Energi Plug-in Hybrid":17},GMC:{"Sierra C15 2WD":6,"Sierra C15 XFE 2WD":6,"Sierra K15 4WD":5,"Savana 1500 2WD (cargo)":6,"Savana 1500 2WD Conversion (cargo)":6,"Savana 1500 AWD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 2500 2WD (Passenger)":5,"Savana 1500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Yukon 1500 2WD":6,"Yukon XL 1500 2WD":6,"Yukon XL 2500 2WD":4,"Yukon XL 1500 4WD":6,"Yukon 1500 4WD":6,"Yukon Denali 1500 AWD":6,"Sierra K15 AWD":5,"Savana 2500 2WD Conversion (cargo)":4,"Savana 3500 2WD (Passenger)":5,"Yukon XL 1500 AWD":6,"Yukon XL 2500 4WD":4,"Sierra 15 Hybrid 2WD":9,"Sierra 15 Hybrid 4WD":9,"Terrain AWD":9,"Yukon 1500 Hybrid 2WD":9,"Yukon 1500 Hybrid 4WD":9,"Yukon Denali 1500 Hybrid 4WD":9,"Acadia FWD":7,"Acadia AWD":7},Honda:{Insight:17,Accord:11,Odyssey:8,"CR-V 2WD":10,"Pilot 2WD":8,"CR-V 4WD":9,"Pilot 4WD":7,"Fit EV":56,Fit:11,"Ridgeline Truck 4WD":6,"CR-Z":15,Civic:12,"Crosstour 4WD":8,"Civic Natural Gas":11,"Civic HF":12,"Civic Hybrid":19,"Crosstour 2WD":9},Hyundai:{"Genesis Coupe":8,Elantra:12,"Elantra Blue":12,"Elantra Coupe":12,Sonata:10,Accent:12,Equus:6,"Tucson 2WD":9,"Tucson 4WD":8,Veloster:10,"Elantra GT":11,Genesis:8,"Genesis R-Spec":7,"Santa Fe Sport 2WD":9,"Santa Fe Sport 4WD":8,Azera:9,"Santa Fe 2WD":8,"Santa Fe 4WD":8,"Sonata Hybrid Limited":15,"Sonata Hybrid":15},Jeep:{"Grand Cherokee 2WD":6,"Grand Cherokee 4WD":6,"Grand Cherokee SRT8":5,"Patriot 2WD":10,"Compass 2WD":10,"Patriot 4WD":9,"Compass 4WD":9,"Wrangler 4WD":7,"Wrangler Unlimited 4WD":7},Kia:{Rio:12,"Rio Eco":13,"Sorento 2WD":9,"Sorento 4WD":8,"Sportage 2WD":9,"Sportage 4WD":9,"Forte Koup":9,Optima:10,Forte:9,"Forte Eco":11,"Soul Eco":10,Soul:10,"Optima Hybrid EX":15,"Optima Hybrid":15},Lexus:{"GS 350":8,"GS 350 AWD":8,"LX 570":5,"GS 450h":12,"RX 350":8,"RX 450h":14,"RX 350 AWD":8,"RX 450h AWD":13,"ES 350":9,"ES 300h":17,"GX 460":6,"IS F":7,"IS 350 AWD":8,"IS 350/IS 350C":8,"IS 250 AWD":9,"IS 250/IS 250C":9,"CT 200h":18,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":8},Mazda:{2:12,3:9,5:9,6:9,"CX-5 4WD":11,"CX-5 2WD":11,"MX-5":9,"3 DI 4-Door":12,"3 DI 5-Door":12,"Speed 3":8,"CX-9 2WD":7,"CX-9 4WD":7},"Mercedes-Benz":{SL550:7,SLK250:10,"SL63 AMG":7,"SLK55 AMG":8,"E550 Coupe":7,"E550 Convertible":7,"CL550 4matic":6,"CL63 AMG":6,CLS550:7,"CLS550 4matic":7,"CLS63 AMG":7,"E550 4matic":7,"E63 AMG":7,S550:6,"S63 AMG":6,"S550 4matic":6,"E63 AMG (wagon)":6,SLK350:9,"SLS AMG Coupe":6,"SLS AMG Roadster":6,"C250 Coupe":9,"C63 AMG Coupe":6,"C63 AMG Black Series Coupe":6,"C350 4matic Coupe":8,"C350 Coupe":9,"E350 Coupe":9,"E350 4matic Coupe":8,"E350 Convertible":8,"C300 4matic":8,C250:9,C350:9,"C63 AMG":6,CL600:5,E350:9,"E350 4matic":8,"S400 Hybrid":8,S600:5,"S65 AMG":5,"E350 4matic (wagon)":8,GLK350:8,"GLK350 4matic":8,ML350:8,"ML350 4matic":8,"ML550 4matic":6,"ML63 AMG":6,"R350 4matic":7,G550:5,"G63 AMG":5,"CL65 AMG":5,"GL450 4matic":6,"GL350 Bluetec 4matic":8,"GL550 4matic":6,"ML350 Bluetec 4matic":9,"SL65 AMG":6,"SLS AMG GT Coupe":6,"SLS AMG GT Roadster":6,"E400 Hybrid":10,"E350 Bluetec":9,"S350 Bluetec 4matic":9,"GL63 AMG":6,"GLK250 Bluetec 4matic":10},Nissan:{"GT-R":7,Altima:9,"370Z":8,"370Z Roadster":7,"Rogue FWD":10,"Rogue AWD":9,"Altima Coupe":10,Maxima:8,Juke:11,"Juke AWD":11,"Titan 2WD":6,"Titan 4WD":5,Quest:8,"Armada 2WD":5,"Armada 4WD":5,Versa:11,Cube:11,"Murano FWD":8,"Murano AWD":8,Sentra:13,"Pathfinder 2WD":9,"Pathfinder 4WD":8,"Murano CrossCabriolet":7,"Sentra FE":13,"Frontier 2WD":7,"Frontier 4WD":7,"Xterra 2WD":7,"Xterra 4WD":7,"NV200 Cargo Van":10,Leaf:55},Toyota:{"Land Cruiser Wagon 4WD":6,Venza:8,"Venza AWD":8,Corolla:11,Matrix:9,"Tacoma 2WD":9,"Tacoma 4WD":8,"Sienna 2WD":8,"Sienna AWD":7,"Tundra 2WD":6,"Tundra 4WD":6,"Tundra 4WD FFV":6,"Highlander 2WD":8,"FJ Cruiser 2WD":7,"Highlander 4WD":7,"FJ Cruiser 4WD":6,"4Runner 2WD":7,"Sequoia 2WD":6,"Highlander Hybrid 4WD":12,"4Runner 4WD":7,"Sequoia 4WD":6,"Sequoia 4WD FFV":6,Yaris:13,"Prius c":23,Prius:22,"Prius v":19,"Prius Plug-in Hybrid":22,Avalon:9,Camry:9,"Avalon Hybrid":17,"Camry Hybrid LE":18,"Camry Hybrid XLE":17,"RAV4 EV":33,"RAV4 2WD":10,"RAV4 AWD":9,"RAV4 Limited AWD":9}},2014:{BMW:{"Z4 sDrive28i":9,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"640i Coupe":9,"640i Convertible":9,"650i xDrive Coupe":7,"650i xDrive Convertible":7,"640i Gran Coupe":9,"650i xDrive Gran Coupe":7,"X1 xDrive35i":8,"640i xDrive Coupe":9,"640i xDrive Convertible":9,"650i Coupe":7,"650i Convertible":7,"640i xDrive Gran Coupe":9,"650i Gran Coupe":7,"X1 xDrive28i":9,"328i xDrive Sports Wagon":9,"X3 xDrive28i":9,"M6 Coupe":6,"M6 Convertible":6,"M6 Gran Coupe":6,"X1 sDrive28i":10,"X3 xDrive35i":8,"X6 xDrive35i":7,"X6 xDrive50i":6,"X6 M":6,M5:6,"320i":10,"320i xDrive":10,"335i":9,"335i xDrive":9,"328d":14,"328d xDrive":13,"528i":10,"535i":9,"335i xDrive Gran Turismo":9,"535i xDrive Gran Turismo":8,"740i":8,"740Li":8,"328d xDrive Sports Wagon":13,"740Li xDrive":8,"328i":9,"328i xDrive":9,"528i xDrive":9,"535i xDrive":9,"535d":11,"535d xDrive":11,"550i":7,"550i xDrive":7,"328i xDrive Gran Turismo":9,"535i Gran Turismo":8,"550i Gran Turismo":7,"550i xDrive Gran Turismo":7,"750i":7,"750Li":7,"750i xDrive":7,"750Li xDrive":7,"Alpina B7 SWB":7,"Alpina B7 LWB":7,"Alpina B7 SWB xDrive":7,"Alpina B7 LWB xDrive":7,"760Li":6,"X5 xDrive35i":8,"X5 xDrive50i":6,"428i Coupe":9,"428i xDrive Coupe":9,"435i Coupe":9,"435i xDrive Coupe":9,"X5 sDrive35i":8,"ActiveHybrid 3":11,"ActiveHybrid 5":10,"ActiveHybrid 7L":9,"228i":9,"428i Convertible":10,M235i:8,"435i Convertible":9,"X5 xDrive35d":10,"428i xDrive Convertible":9,"i3 BEV":58,"i3 REX":17},Chevrolet:{Cruze:11,Impala:8,"Spark EV":54,"Cruze Eco":12,"Express 1500 2WD Cargo":6,"Express 1500 2WD Conversion Cargo":6,"Express 1500 AWD Conversion Cargo":6,"Express 1500 AWD Cargo":6,"Express 2500 2WD Conversion Cargo":4,"Express 1500 2WD Passenger":6,"Express 1500 AWD Passenger":6,"Express 2500 2WD Passenger":5,"Express 3500 2WD Passenger":5,"Traverse FWD":7,"Tahoe C10 2WD":6,"Suburban C10 2WD":6,"Traverse AWD":7,Spark:13,Camaro:6,Sonic:11,Malibu:11,"Malibu eAssist":11,"Sonic 5":11,"Impala eAssist":11,"Equinox FWD":9,"Equinox AWD":9,"Tahoe K10 4WD":6,"Suburban K10 4WD":6,Volt:15,Corvette:7,"Sonic RS":11,"Sonic 5 RS":11,SS:6,"Silverado K15 4WD":6,"Silverado C15 2WD":6},Dodge:{"Grand Caravan":7,"Journey FWD":7,"Journey AWD":7,Avenger:8,Challenger:6,Charger:8,"Charger AWD":6,"Challenger SRT8":6,"Charger SRT8":6,"Durango AWD":6,"Durango RWD":6,Dart:11,"Dart Aero":12,"Dart GT":10},Ford:{Mustang:6,"Mustang Convertible":8,"Flex FWD":8,"Flex AWD":7,"Fiesta FWD":11,"Taurus AWD":8,"Taurus FWD":8,"Taurus FWD FFV":8,"Taurus AWD FFV":8,"Explorer FWD":7,"Escape FWD":9,"Escape AWD":9,"Explorer 2WD FFV":7,"Explorer AWD FFV":7,"Explorer AWD":7,"Fiesta ST FWD":11,"Fiesta SFE FWD":13,"Focus FWD":10,"Fusion FWD":9,"Fusion AWD":9,"Fusion Energi Plug-in Hybrid":17,"Focus Electric":47,"Fusion Hybrid FWD":19,"Expedition 2WD FFV":6,"Expedition 4WD FFV":6,"E150 Van FFV":6,"E250 Van FFV":6,"E350 Van FFV":5,"E150 Wagon FFV":6,"E350 Wagon FFV":5,"E350 Wagon":4,"E350 Van":4,"Transit Connect Wagon FWD":9,"Transit Connect Van 2WD":9,"Transit Connect Wagon LWB FWD":9,"F150 Pickup 2WD":6,"F150 Pickup 2WD FFV":6,"F150 Pickup 4WD":5,"F150 Pickup 4WD FFV":6,"F150 Raptor Pickup 4WD":5,"Edge FWD":8,"Edge AWD":7,"Special Service Police FWD":9,"C-MAX Energi Plug-in Hybrid":17,"C-MAX Hybrid FWD":18},GMC:{"Savana 1500 2WD (cargo)":6,"Savana 1500 2WD Conversion (cargo)":6,"Savana 1500 AWD (cargo)":6,"Savana 1500 AWD Conversion (cargo)":6,"Savana 2500 2WD Conversion (cargo)":4,"Savana 1500 2WD (Passenger)":6,"Savana 1500 AWD (Passenger)":6,"Savana 2500 2WD (Passenger)":5,"Savana 3500 2WD (Passenger)":5,"Acadia FWD":7,"Yukon C10 2WD":6,"Yukon XL C10 2WD":6,"Acadia AWD":7,"Terrain FWD":9,"Terrain AWD":9,"Yukon XL K10 4WD":6,"Yukon K10 4WD":6,"Yukon Denali K10 AWD":6,"Yukon XL K10 AWD":6,"Sierra C15 2WD":6,"Sierra K15 4WD":6},Honda:{"Accord Plug-in Hybrid":20,Odyssey:8,"Fit EV":56,"CR-V 2WD":10,"CR-V 4WD":9,Accord:9,Insight:17,"Ridgeline Truck 4WD":6,"Pilot 2WD":8,"Pilot 4WD":7,"Accord Hybrid":21,"CR-Z":13,"Crosstour 2WD":9,"Crosstour 4WD":8,"Civic Hybrid":19,"Civic Natural Gas":11,Civic:12,"Civic HF":13},Hyundai:{Equus:6,"Tucson 2WD":10,"Tucson 4WD":9,"Santa Fe 2WD":8,"Santa Fe Sport 2WD":8,"Santa Fe Sport 4WD":8,"Santa Fe 4WD":8,Sonata:9,Veloster:11,"Elantra GT":10,Azera:8,Genesis:8,"Genesis R Spec":6,"Genesis Coupe":7,Accent:11,"Sonata Hybrid":15,"Sonata Hybrid Limited":15,Elantra:10,"Elantra Limited":11,"Elantra Coupe":10,"Santa Fe Ultimate 2WD":7,"Santa Fe Ultimate 4WD":7},Jeep:{"Compass FWD":9,"Patriot FWD":9,"Compass 4WD":9,"Patriot 4WD":9,"Grand Cherokee SRT8":6,"Grand Cherokee 2WD":9,"Grand Cherokee 4WD":9,"Wrangler 4WD":7,"Wrangler Unlimited 4WD":7,"Cherokee FWD":9,"Cherokee 4WD":8,"Cherokee 4WD Active Drive II":8,"Cherokee Trailhawk 4WD":8},Kia:{"Sorento 2WD":8,"Sorento 4WD":8,Forte:11,Cadenza:8,Sedona:7,"Forte Eco":11,Optima:10,"Sportage 2WD":9,"Sportage 4WD":8,Soul:10,"Soul ECO dynamics":10,"Rio Eco":12,Rio:11,"Forte Koup":10,"Optima Hybrid":15,"Optima Hybrid EX":15,"Forte 5":10},Lexus:{"IS 350":8,"IS 350 AWD":8,"IS 250":9,"IS 250 AWD":9,"RX 350":8,"RX 450h":14,"RX 350 AWD":8,"RX 450h AWD":13,"LX 570":5,"IS 350 C":8,"IS 250 C":9,"GX 460":6,"IS F":7,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"ES 300h":17,"ES 350":9,"GS 350 AWD":8,"GS 450h":12,"LS 600h L":8,"GS 350":8,"CT 200h":18},Mazda:{2:12,5:9,6:11,"CX-5 2WD":11,"CX-5 4WD":11,"MX-5":9,"3 5-Door":11,"CX-9 2WD":7,"CX-9 4WD":7,"3 4-Door":12},"Mercedes-Benz":{CLS550:7,"CLS550 4matic":7,"E550 4matic":8,SL550:8,"SL63 AMG":7,"SLK55 AMG":8,"CL550 4matic":6,"CL63 AMG":6,"CLS63 AMG":7,"CLS63 AMG S":7,"E350 4matic":9,"E63 AMG":7,"E63 AMG S":7,"E350 4matic (wagon)":9,"E350 Coupe":9,"E350 4matic Coupe":9,"E550 Convertible":7,"CLS63 AMG 4matic":7,"CLS63 AMG S 4matic":7,"E400 Hybrid":10,"E63 AMG 4matic (wagon)":6,"E63 AMG S 4matic (wagon)":6,"E350 Convertible":8,C350:9,"E63 AMG 4matic":7,"E63 AMG S 4matic":6,SLK250:9,SLK350:9,"SLS AMG Coupe":6,"SLS AMG Roadster":6,"SLS AMG GT Coupe":6,"SLS AMG GT Roadster":6,"C250 Coupe":9,"C63 AMG Coupe":6,"C350 4matic Coupe":8,"C350 Coupe":9,"E550 Coupe":8,C250:9,"C63 AMG":6,CL600:5,"CL65 AMG":5,GLK350:8,ML350:8,"GL550 4matic":6,"GL63 AMG":6,"ML350 4matic":7,"ML63 AMG":6,"GLK350 4matic":8,"ML350 Bluetec 4matic":9,"ML550 4matic":6,"GL450 4matic":6,"SL65 AMG":6,"SLS AMG Black Series Coupe":6,"C300 4matic":9,"GLK250 Bluetec 4matic":10,"GL350 Bluetec 4matic":8,"E250 Bluetec":12,"E250 Bluetec 4matic":11,S550:7,CLA250:11,G550:5,"G63 AMG":5,"S63 AMG 4matic":6,"S550 4matic":7,"CLA45 AMG 4matic":10,"CLA250 4matic":10,"B-Class Electric Drive":36},Nissan:{"GT-R":7,"Murano CrossCabriolet":7,Versa:11,"Pathfinder 2WD":9,"Pathfinder 4WD":8,"370Z":8,"370Z Roadster":7,Altima:9,Maxima:8,Quest:8,"Titan 2WD":6,"Titan 4WD":5,"Armada 2WD":5,"Armada 4WD":5,"Murano FWD":8,"Murano AWD":8,Juke:11,"Juke AWD":11,"Frontier 2WD":7,"Frontier 4WD":7,"Xterra 2WD":7,"Xterra 4WD":7,"Pathfinder Hybrid 2WD":11,"Pathfinder Hybrid 4WD":11,Cube:11,Sentra:13,"Sentra FE":13,"Rogue FWD":11,"Rogue AWD":11,"Rogue Select FWD":10,"Rogue Select AWD":9,"NV200 Cargo Van":10,Leaf:54},Toyota:{Yaris:13,"Sequoia 2WD":6,"Sequoia 4WD FFV":6,"Sequoia 4WD":6,"Tundra 2WD":6,"Tundra 4WD":6,"Tundra 4WD FFV":6,Venza:8,"Venza 4WD":8,Camry:9,"Camry Hybrid LE":18,"Camry Hybrid XLE/SE":17,"Prius v":19,"FJ Cruiser 2WD":7,"FJ Cruiser 4WD":6,"Land Cruiser Wagon 4WD":6,"Sienna 2WD":8,"Sienna AWD":7,Corolla:12,"Corolla LE Eco":13,"Tacoma 2WD":7,"Tacoma 4WD":7,"RAV4 EV":33,"4Runner 2WD":7,"4Runner 4WD":7,"Avalon Hybrid":17,Avalon:9,Prius:22,"Prius Plug-in Hybrid":22,"Highlander 2WD":8,RAV4:10,"RAV4 AWD":9,"RAV4 Limited AWD":9,"Highlander AWD":8,"Prius c":23,"Highlander Hybrid 4WD":11,"Highlander Hybrid 4WD LE Plus":12}},2015:{BMW:{"Z4 sDrive28i":9,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"X1 xDrive28i":9,"X1 xDrive35i":8,"X3 sDrive28i":9,"X3 xDrive28i":9,"X3 xDrive35i":8,"428i Convertible":10,"640i Coupe":9,"528i":10,"X1 sDrive28i":10,"640i Convertible":9,"640i xDrive Coupe":9,"640i xDrive Convertible":9,"435i Gran Coupe":9,"640i Gran Coupe":9,"640i xDrive Gran Coupe":9,"740Ld xDrive":10,"650i xDrive Coupe":7,"650i xDrive Convertible":7,"650i xDrive Gran Coupe":7,"Alpina B6 Gran Coupe xDrive":7,"X3 xDrive28d":11,"428i Gran Coupe":10,"650i Coupe":7,"650i Convertible":7,"M6 Coupe":6,"M6 Convertible":6,"650i Gran Coupe":7,"M6 Gran Coupe":6,"M4 Convertible":7,M3:7,"435i xDrive Gran Coupe":9,"M4 Coupe":7,M5:6,"428i xDrive Gran Coupe":9,"X4 xDrive28i":9,"X4 xDrive35i":8,"228i":9,"320i":10,"228i xDrive":10,M235i:8,"M235i xDrive":9,"328i":9,"328i xDrive":9,"320i xDrive":10,"428i Coupe":10,"428i xDrive Coupe":9,"528i xDrive":9,"535i":9,"535i xDrive":9,"328i xDrive Gran Turismo":9,"328i xDrive Sports Wagon":9,"435i Convertible":9,"435i xDrive Convertible":9,"335i":9,"335i xDrive":9,"435i Coupe":9,"435i xDrive Coupe":9,"550i":7,"550i xDrive":7,"335i xDrive Gran Turismo":9,"550i xDrive Gran Turismo":7,"750i":7,"750i xDrive":7,"750Li xDrive":7,"Alpina B7 SWB xDrive":7,"Alpina B7 LWB xDrive":7,"428i xDrive Convertible":9,"550i Gran Turismo":7,"750Li":7,"Alpina B7 SWB":7,"Alpina B7 LWB":7,"X5 sDrive35i":8,"X6 sDrive35i":8,"X5 xDrive35i":8,"X5 xDrive50i":6,"X6 xDrive35i":8,"X6 xDrive50i":6,"328d":14,"328d xDrive":13,"ActiveHybrid 3":11,"ActiveHybrid 5":10,"535i Gran Turismo":8,"535i xDrive Gran Turismo":8,"740i":8,"740Li":8,"740Li xDrive":8,"ActiveHybrid 7L":9,"328d xDrive Sports Wagon":13,"X5 xDrive35d":10,"535d":11,"535d xDrive":11,"760Li":6,"228i Convertible":10,"228i xDrive Convertible":9,"M235i Convertible":8,"i3 BEV":58,"i3 REX":17,"X5 M":6,"X6 M":6},Chevrolet:{Spark:13,"Tahoe C1500 2WD":7,"Suburban C1500 2WD":7,"Tahoe K1500 4WD":7,"Suburban K1500 4WD":6,Sonic:11,"Sonic RS":11,Cruze:11,"Sonic 5":11,"Sonic 5 RS":11,Malibu:9,Impala:9,"Equinox FWD":9,"Equinox AWD":9,"Traverse FWD":7,"Traverse AWD":7,"Spark EV":54,Camaro:6,Volt:15,Corvette:7,"Express 2500 2WD Conversion Cargo":4,"Express 2500 2WD Passenger":5,"Express 3500 2WD Passenger":5,SS:6,"Silverado C15 2WD":6,"Silverado K15 4WD":6,"Silverado C15 Cab Chassis 2WD":6,"Silverado K15 Cab Chassis 4WD":6,"Cruze Eco":12,"Trax AWD":10,"Colorado 2WD":9,"Colorado 4WD":8,"Colorado Cab Chassis 2WD":6,"City Express Cargo Van":10,Trax:11,"Impala Bi-Fuel (CNG)":7},Dodge:{"Journey FWD":7,"Journey AWD":7,Challenger:6,Charger:8,"Durango AWD":6,"Challenger SRT8":6,"Charger SRT8":6,"Grand Caravan":7,Dart:9,"Dart Aero":12,"Dart GT":10,"Viper SRT":5,"Charger AWD":8,"Durango RWD":6},Ford:{"Taurus FWD FFV":8,"Taurus AWD":8,"Special Service Police FWD":9,"Taurus FWD":8,"Taurus AWD FFV":8,"Transit T150 Wagon FFV":6,"Transit T150 Wagon":6,"Explorer FWD":7,"Explorer 2WD FFV":7,"Explorer AWD FFV":7,"Explorer AWD":7,"Fiesta FWD":12,"Fiesta SFE FWD":13,"Fiesta ST FWD":11,"Fusion AWD":9,"Fusion FWD":10,"Fusion Hybrid FWD":19,"Fusion Energi Plug-in Hybrid":17,Mustang:7,"Escape FWD":9,"Escape AWD":9,"Expedition 2WD":7,"Expedition EL 2WD":6,"Expedition 4WD":6,"Expedition EL 4WD":6,"C-MAX Hybrid FWD":18,"Transit Connect Wagon FWD":9,"Transit Connect Van 2WD":9,"Transit Connect Wagon LWB FWD":9,"C-MAX Energi Plug-in Hybrid":17,"Mustang Convertible":9,"F150 Pickup 2WD":7,"F150 Pickup 2WD FFV":6,"F150 Pickup 4WD":7,"F150 Pickup 4WD FFV":6,"Flex FWD":8,"Flex AWD":7,"Focus FWD":10,"Focus SFE FWD":13,"Focus Electric":47,"Edge FWD":8,"Edge AWD":7},GMC:{"Yukon C1500 2WD":6,"Yukon C1500 XL 2WD":6,"Yukon K1500 XL 4WD":6,"Yukon K1500 4WD":6,"Terrain FWD":9,"Terrain AWD":9,"Acadia FWD":7,"Acadia AWD":7,"Savana 2500 2WD Conversion (cargo)":4,"Savana 2500 2WD (Passenger)":5,"Savana 3500 2WD (Passenger)":5,"Sierra C15 2WD":6,"Sierra K15 4WD":6,"Sierra C15 Cab Chassis 2WD":6,"Sierra K15 Cab Chassis 4WD":6,"Canyon 2WD":9,"Canyon 4WD":8,"Canyon Cab Chassis 2WD":6},Honda:{Fit:14,"Pilot 2WD":8,"Pilot 4WD":7,Odyssey:8,Accord:11,"Accord Hybrid":21,"CR-Z":13,"Civic Hybrid":19,Civic:9,"Civic HF":13,"Crosstour 2WD":9,"Crosstour 4WD":8,"CR-V 2WD":11,"CR-V 4WD":11,"Civic Natural Gas":11},Hyundai:{"Genesis RWD":6,"Genesis AWD":7,Equus:6,"Genesis Coupe":7,Elantra:11,Sonata:12,"Sonata Sport Limited":10,"Elantra Limited":11,"Tucson 2WD":10,"Tucson AWD":9,"Sonata Hybrid":15,"Sonata Hybrid Limited":15,Veloster:10,"Santa Fe FWD":8,"Santa Fe Ultimate FWD":7,"Santa Fe AWD":8,"Santa Fe Ultimate AWD":7,"Elantra Coupe":10,"Santa Fe Sport FWD":8,"Santa Fe Sport Ultimate FWD":8,"Santa Fe Sport AWD":8,Accent:11,"Sonata Limited":9,Azera:9,"Elantra GT":10,"Azera Limited":8},Jeep:{"Cherokee FWD":9,"Wrangler 4WD":7,"Wrangler Unlimited 4WD":7,"Cherokee 4WD":9,"Cherokee 4WD Active Drive II":8,"Cherokee Trailhawk 4WD":8,"Grand Cherokee 2WD":9,"Grand Cherokee 4WD":9,"Grand Cherokee SRT8 4WD":6,"Compass FWD":10,"Patriot FWD":10,"Compass 4WD":9,"Patriot 4WD":9,"Renegade 2WD":10,"Renegade 4WD":10},Kia:{K900:6,"Sorento FWD":9,"Sorento AWD":8,Cadenza:8,Optima:10,"Forte Koup":9,Forte:11,"Forte 5":9,"Sportage FWD":9,"Sportage AWD":8,Soul:10,"Soul ECO dynamics":10,Rio:11,"Optima Hybrid":15,"Optima Hybrid EX":15,"Rio Eco":12,"Soul Electric":51,Sedona:8,"Sedona SX":8,"Sedona SXL":7,"Sportage SX FWD":9,"Sportage SX AWD":8},Lexus:{"RX 350":8,"RX 450h":14,"RX 350 AWD":8,"RX 450h AWD":13,"IS 350 AWD":8,"IS 250 AWD":9,"IS 350":8,"IS 250":9,"CT 200h":18,"GX 460":6,"IS 350 C":8,"IS 250 C":9,"ES 300h":17,"ES 350":9,"LX 570":5,"GS 350 AWD":8,"GS 350":8,"GS 450h":12,"NX 300h":15,"NX 300h AWD":14,"RC 350 AWD":8,"RC 350":8,"RC F":7,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":8,"NX 200t":9,"NX 200t AWD":9,"NX 200t AWD F Sport":9},Mazda:{5:9,6:11,"CX-5 2WD":11,"CX-5 4WD":10,"MX-5":9,"3 4-Door":11,"3 5-Door":11,"CX-9 2WD":7,"CX-9 4WD":7},"Mercedes-Benz":{"SLS AMG GT Coupe":6,"SLS AMG GT Roadster":6,S550:7,"S63 AMG 4matic":6,"S550 4matic":7,S600:6,"S65 AMG":6,GLK350:8,"GLK350 4matic":8,"C250 Coupe":9,"C63 AMG Coupe":6,SLK250:9,SL550:7,"SL65 AMG":6,SLK350:9,"C350 4matic Coupe":8,"C350 Coupe":9,"GL550 4matic":6,SL400:9,"C400 4matic":9,ML350:8,"ML350 4matic":7,"GL350 Bluetec 4matic":8,"ML400 4matic":8,"GL450 4matic":7,"C300 4matic":10,"GLA45 AMG 4matic":10,"GLA250 4matic":10,"SL63 AMG":7,"SLK55 AMG":8,"S550 4matic Coupe":7,"ML63 AMG":6,"GL63 AMG":6,"G63 AMG":5,"E350 Coupe":8,"E550 Coupe":8,"E350 Convertible":9,"E550 Convertible":7,"S63 AMG 4matic Coupe":6,E350:9,"E250 Bluetec 4matic":11,"E350 4matic":9,"E350 4matic (wagon)":9,"GLK250 Bluetec 4matic":10,G550:5,"CLS63 AMG S 4matic":7,E400:9,"E400 4matic":9,"E250 Bluetec":12,"E63 AMG 4matic":7,"E63 AMG S 4matic":6,"E400 4matic (wagon)":8,"E63 AMG S 4matic (wagon)":6,"E400 Coupe":9,"E400 4matic Coupe":9,"E400 Convertible":9,CLS550:7,"CLS550 4matic":7,CLS400:9,"E400 Hybrid":10,"ML250 Bluetec 4matic":9,"CLS400 4matic":8,"CLA45 AMG 4matic":10,"CLA250 4matic":10,"S65 AMG Coupe":6,CLA250:11,"B-Class Electric Drive":36,C300:11,GLA250:11,"AMG C63":8,"AMG C63 S":8},Nissan:{"GT-R":7,Versa:11,Leaf:54,Altima:9,"370Z":8,"370Z Roadster":7,"Frontier 2WD":7,"Frontier 4WD":7,"Xterra 2WD":7,"Xterra 4WD":6,"Rogue FWD":11,"Rogue AWD":11,"Armada 2WD":5,"Armada 4WD":5,Quest:9,"Pathfinder 2WD":9,"Pathfinder 4WD":8,"Pathfinder 4WD Platinum":8,"Pathfinder Hybrid 2WD":11,"Pathfinder Hybrid 4WD":11,"NV200 Cargo Van":10,Juke:12,"Juke AWD":11,"Juke Nismo RS":11,"Juke Nismo RS AWD":11,"Murano FWD":9,"Murano AWD":9,Sentra:12,"Sentra FE":13,"Titan 2WD":6,"Titan 4WD":5,"Rogue Select FWD":10,"Rogue Select AWD":9,"NV200 NYC Taxi":10},Toyota:{Yaris:13,"Tacoma 2WD":8,"Tacoma 4WD":8,Corolla:12,"Corolla LE Eco":13,Venza:8,"Highlander 2WD":8,"Venza 4WD":8,"Highlander AWD":8,"Highlander Hybrid 4WD":11,"Highlander Hybrid 4WD LE Plus":12,Prius:22,RAV4:10,"RAV4 AWD":9,"RAV4 Limited AWD":9,"4Runner 2WD":7,"4Runner 4WD":7,"Land Cruiser Wagon 4WD":6,"Prius Plug-in Hybrid":22,"Sequoia 2WD":6,"Sequoia 4WD FFV":6,"Sequoia 4WD":6,"Tundra 2WD":6,"Tundra 4WD":6,"Tundra 4WD FFV":6,"Sienna 2WD":8,"Sienna AWD":7,Camry:9,"Camry Hybrid LE":18,"Camry Hybrid XLE/SE":17,"Prius c":23,"Avalon Hybrid":17,"Prius v":19,"RAV4 LE/XLE":10,Avalon:9}},2016:{BMW:{"Z4 sDrive28i":9,"Z4 sDrive35i":7,"Z4 sDrive35is":7,"640i Coupe":9,"640i Convertible":9,"640i xDrive Coupe":9,"640i xDrive Convertible":9,"650i xDrive Coupe":7,"650i xDrive Convertible":6,"M6 Coupe":6,"M6 Convertible":6,"640i Gran Coupe":9,"640i xDrive Gran Coupe":9,"650i xDrive Gran Coupe":6,"Alpina B6 Gran Coupe xDrive":6,"M6 Gran Coupe":6,M5:6,"650i Coupe":7,"650i Convertible":7,"650i Gran Coupe":7,"X3 sDrive 28i":9,"X3 xDrive28i":9,"X3 xDrive35i":8,"X3 xDrive28d":11,"X4 xDrive28i":9,"X4 xDrive35i":8,"M235i Convertible":8,"435i Convertible":9,"535i":9,"228i":10,"228i xDrive":10,"228i xDrive Convertible":9,M235i:8,"428i xDrive Convertible":9,"435i xDrive Convertible":9,"328i":10,"328i xDrive":9,"320i":10,"320i xDrive":10,"428i Coupe":10,"428i xDrive Coupe":9,"428i xDrive Gran Coupe":9,"435i Coupe":9,"435i Gran Coupe":9,"528i xDrive":9,"535i xDrive":9,"550i":7,"550i xDrive":7,"328i xDrive Gran Turismo":9,"535i Gran Turismo":8,"535i xDrive Gran Turismo":8,"328i xDrive Sports Wagon":9,"228i Convertible":10,"M235i xDrive":9,"M235i xDrive Convertible":9,"428i Convertible":10,"M4 Convertible":7,"328d xDrive":13,M3:7,"428i Gran Coupe":10,"435i xDrive Coupe":8,"435i xDrive Gran Coupe":9,"M4 Coupe":7,"528i":10,"535d":11,"535d xDrive":11,"335i xDrive Gran Turismo":9,"328d xDrive Sports Wagon":13,"X5 sDrive35i":8,"X6 sDrive35i":8,"X5 xDrive35i":8,"X5 xDrive50i":6,"X5 M":6,"X6 xDrive35i":8,"X6 xDrive50i":6,"X6 M":6,"328d":14,"340i":9,"340i xDrive":9,"740i":9,"750i xDrive":7,"X1 xDrive28i":9,"ActiveHybrid 5":10,"750i":7,"i3 BEV":58,"i3 REX":17},Chevrolet:{"Equinox AWD":7,"Traverse FWD":7,"Traverse AWD":7,"Cruze Limited":9,Corvette:7,Sonic:11,"Sonic RS":11,"Cruze Limited Eco":11,"Sonic 5 RS":11,Impala:9,"Sonic 5":11,"Equinox FWD":7,Trax:11,"Colorado 2WD":9,"Colorado 4WD":9,"Colorado Cab Chassis 2WD":6,"Tahoe C1500 2WD":7,"Suburban C1500 2WD":7,"Tahoe K1500 4WD":7,"Suburban K1500 4WD":6,"Silverado C15 Cab Chassis 2WD":6,"Trax AWD":10,"Malibu Limited":10,"Impala Bi-Fuel (CNG)":7,"Spark EV":54,"Silverado C15 2WD":6,"Silverado K15 4WD":6,"Silverado K15 Cab Chassis 4WD":6,Camaro:8,Spark:13,Malibu:11,SS:6,"Express 2500 2WD Passenger":5,"Express 3500 2WD Passenger":5},Dodge:{Dart:10,"Dart Aero":12,"Dart GT":9,"Grand Caravan":7,Journey:7,"Journey AWD":7,"Viper SRT":5,Challenger:6,"Challenger SRT8":6,Charger:8,"Charger AWD":8,"Charger SRT8":6,"Durango RWD":6,"Durango AWD":6},Ford:{"Fusion FWD":9,"Fusion AWD":9,"Fusion Hybrid FWD":19,"Fusion Energi Plug-in Hybrid":17,"Explorer 2WD FFV":7,"Explorer FWD":8,"Explorer AWD FFV":7,"Explorer AWD":8,"Escape FWD":9,"Escape AWD":9,"Expedition EL 2WD":6,"Expedition 2WD":7,"Expedition EL 4WD":6,"Expedition 4WD":6,"Fiesta FWD":12,"Fiesta SFE FWD":13,"Fiesta ST FWD":11,"Transit Connect Van 2WD":9,"Transit Connect Wagon FWD":8,"Transit Connect Wagon LWB FWD":8,"Transit Connect Van FFV":9,"Transit Connect Wagon LWB FFV":8,"Transit Connect Wagon FFV":8,Mustang:6,"Mustang Convertible":6,"Shelby GT350 Mustang":6,"Transit T150 Wagon FFV":6,"Transit T150 Wagon":6,"C-MAX Hybrid FWD":18,"C-MAX Energi Plug-in Hybrid":17,"Focus Electric":47,"Focus FWD":12,"Focus ST FWD":9,"F150 Pickup 2WD FFV":6,"F150 Pickup 4WD FFV":6,"Taurus FWD":8,"Special Service Police FWD":8,"Taurus FWD FFV":8,"Taurus AWD":7,"Taurus AWD FFV":7,"Edge FWD":8,"Edge AWD":7,"Flex FWD":7,"Flex AWD":6},GMC:{"Terrain AWD":7,"Acadia FWD":7,"Acadia AWD":7,"Terrain FWD":7,"Canyon 2WD":9,"Canyon Cab Chassis 2WD":6,"Canyon 4WD":9,"Yukon C1500 2WD":6,"Yukon C1500 XL 2WD":6,"Yukon K1500 XL 4WD":6,"Yukon K1500 4WD":6,"Sierra C15 Cab Chassis 2WD":6,"Sierra C15 2WD":6,"Sierra K15 4WD":6,"Sierra K15 Cab Chassis 4WD":6,"Savana 2500 2WD (Passenger)":5,"Savana 3500 2WD (Passenger)":5},Honda:{"HR-V 2WD":12,"HR-V 4WD":11,Fit:14,"Pilot 2WD":8,"Pilot 4WD":8,Odyssey:8,Accord:11,"CR-V 2WD":11,"CR-V 4WD":11,"Civic 4Dr":13,"CR-Z":15},Hyundai:{Veloster:11,"Elantra GT":10,Equus:6,"Elantra Limited":11,Elantra:10,"Sonata Hybrid":17,"Sonata Hybrid SE":17,"Santa Fe Sport FWD":8,"Santa Fe Sport Ultimate FWD":8,"Santa Fe Sport AWD":8,"Tucson FWD":11,"Tucson AWD":10,Accent:11,"Azera Limited":8,Azera:9,"Santa Fe Ultimate FWD":7,"Santa Fe FWD":8,"Santa Fe Ultimate AWD":7,"Santa Fe AWD":8,"Tucson Eco FWD":11,"Tucson Eco AWD":11,"Genesis Coupe":7,Sonata:12,"Sonata Limited":9,"Sonata Sport Limited":11,"Genesis AWD":7,"Genesis RWD":6},Jeep:{"Cherokee FWD":9,"Cherokee 4WD":9,"Compass FWD":9,"Patriot FWD":10,"Compass 4WD":9,"Patriot 4WD":9,"Cherokee 4WD Active Drive II":8,"Cherokee Trailhawk 4WD":8,"Wrangler 4WD":7,"Wrangler Unlimited 4WD":7,"Renegade 2WD":9,"Renegade 4WD":9,"Grand Cherokee 2WD":8,"Grand Cherokee SRT8 4WD":6,"Grand Cherokee 4WD":6},Kia:{"Sorento FE AWD":8,"Sorento FWD":8,"Sorento AWD":7,Sedona:8,"Sedona SX":8,"Sedona SXL":7,"Rio Eco":12,Rio:11,Cadenza:8,"Forte Koup":10,"Forte 5":11,"Soul ECO dynamics":10,Soul:10,Forte:11,"Sportage FWD":9,"Sportage SX FWD":9,"Sportage AWD":8,"Sportage SX AWD":8,K900:7,"Optima Hybrid":15,"Optima Hybrid EX":15,"Soul Electric":51,Optima:10,"Optima FE":11},Lexus:{"ES 300h":17,"ES 350":9,"GX 460":6,"CT 200h":18,"IS 200t":9,"IS 300 AWD":8,"IS 350":8,"IS 350 AWD":8,"NX 300h":15,"NX 200t":9,"NX 300h AWD":14,"NX 200t AWD":9,"NX 200t AWD F Sport":9,"LX 570":6,"LS 460":7,"LS 460 AWD":7,"LS 460 L":7,"LS 460 L AWD":7,"LS 600h L":8,"RX 450h":13,"RX 350":9,"RX 350 AWD":8,"RX 450h AWD":13,"RC 200t":9,"RC 300 AWD":8,"RC 350":8,"RC 350 AWD":8,"RC F":7,"GS F":7,"GS 200t":9,"GS 450h":12,"GS 350":9,"GS 350 AWD":8,"GS 200t F Sport":9,"GS 350 F Sport":8},Mazda:{2:14,6:11,"CX-5 2WD":11,"CX-5 4WD":10,"MX-5":11,"CX-3 2WD":12,"CX-3 4WD":11,"3 4-Door":12,"3 5-Door":11},"Mercedes-Benz":{"E400 Coupe":9,"E400 4matic Coupe":9,"E400 Convertible":9,E400:9,"E400 4matic":9,"E550 Coupe":8,"E550 Convertible":7,E350:9,"E250 Bluetec":12,"E250 Bluetec 4matic":11,"E350 4matic":9,"AMG E63 4matic":7,"AMG E63 S 4matic":6,"Maybach S 600":6,"E350 4matic (wagon)":9,"AMG E63 S 4matic (wagon)":6,"AMG GT S":7,"E550 4matic":8,SL400:9,"AMG SL63":7,"AMG SLK55":8,"S550 4matic Coupe":7,CLS550:7,"AMG CLS63 S 4matic":7,CLS400:9,"CLS400 4matic":8,S550:7,"AMG S63 4matic":6,"S550 4matic":7,"GLE350 4matic":7,SL550:7,"AMG SL65":6,SLK300:11,SLK350:9,"AMG S63 4matic Coupe":6,"CLS550 4matic":7,GLE350:8,"GL350 Bluetec 4matic":8,"AMG C63":8,"GLE350 d 4matic":10,"GLE350 d 4matic Coupe":10,"GL550 4matic":6,"AMG GL63":6,"C300 4matic":10,
"AMG C63 S":8,C300:11,"AMG S65 Coupe":6,S600:6,"AMG S65":6,"GLE450 AMG Coupe":7,"AMG GLE63 S":6,"AMG GLE63 S Coupe":6,"AMG GLE63":6,"GLE400 4matic":8,"GL450 4matic":7,"GLE300 d 4matic":9,"AMG G63":5,"C450 AMG":9,"Metris (Passenger Van)":9,"Metris (Cargo Van)":9,B250e:36,"AMG CLA45 4matic":10,"CLA250 4matic":10,CLA250:11,GLA250:11,"GLA250 4matic":10,"AMG GLA45 4matic":9,G550:6,"AMG G65":5,GLC300:9,"GLC300 4matic":9},Nissan:{"GT-R":7,"370Z":8,"370Z Roadster":7,Maxima:9,Versa:11,"Frontier 2WD":8,"Frontier 4WD":7,"Rogue FWD":11,"Rogue AWD":11,Juke:12,"Juke AWD":11,"Juke Nismo RS":11,"Juke Nismo RS AWD":11,"Leaf (24 kW-hr battery pack)":54,"Leaf (30 kW-hr battery pack)":53,Quest:9,"Altima SR":11,Altima:9,"Pathfinder 2WD":9,"Pathfinder 4WD":8,"Pathfinder 4WD Platinum":8,Sentra:12,"Sentra FE":13,"Murano FWD":9,"Murano AWD":9,"NV200 NYC Taxi":10},Toyota:{Yaris:13,Camry:9,"Camry Hybrid LE":18,"Camry Hybrid XLE/SE":17,Corolla:12,"Corolla LE Eco":13,"Tundra 2WD FFV":6,"Tundra 2WD":6,"Tundra 4WD FFV":6,"Tundra 4WD":6,"Sequoia 2WD":6,"Sequoia 4WD FFV":6,"Sequoia 4WD":6,"Prius v":19,"4Runner 2WD":7,"4Runner 4WD":7,"Tacoma 2WD":8,"Tacoma 4WD":7,"Land Cruiser Wagon 4WD":6,RAV4:10,"RAV4 LE/XLE":10,"RAV4 AWD":9,"RAV4 Limited AWD/SE AWD":9,"Prius c":23,"Avalon Hybrid":17,Avalon:9,"RAV4 Hybrid AWD":14,"Highlander 2WD":8,"Highlander AWD":8,"Highlander Hybrid 4WD":11,"Highlander Hybrid 4WD LE Plus":12,"Sienna 2WD":8,"Sienna AWD":7,Prius:23,"Prius Eco":25}},2017:{Hyundai:{"Santa Fe Sport FWD":9,"Santa Fe Sport Ultimate FWD":9,"Santa Fe Sport AWD":9,"Santa Fe Sport Ultimate AWD":8,"Elantra SE":12,Elantra:11,"Santa Fe FWD":8,"Santa Fe Ultimate FWD":7,"Santa Fe AWD":8,"Santa Fe Ultimate AWD":7}}},n=Object.keys(t);t[2016].Toyota.Hilux=8.16,t[2015].Toyota.Hilux=9.3*.8,t[2014].Toyota.Hilux=9.5*.8,t[2013].Toyota.Hilux=9.5*.8,t[2012].Toyota.Hilux=9.5*.8,t[2011].Toyota.Hilux=8.32,t[2016].Toyota["FJ Cruiser"]=8.8*.8,t[2015].Toyota["FJ Cruiser"]=8.8*.8,t[2011].Toyota.Fortuner=6.96,t[2012].Toyota.Fortuner=6.96,t[2013].Toyota.Fortuner=6.96,t[2014].Toyota.Fortuner=6.96,t[2015].Toyota.Fortuner=6.96,t[2016].Toyota.Fortuner=7.68,t[2011].Toyota.Hias=9.4*.8,t[2012].Toyota.Hias=9.4*.8,t[2013].Toyota.Hias=9.4*.8,t[2014].Toyota.Hias=9.4*.8,t[2015].Toyota.Hias=7.68,t[2016].Toyota.Hias=7.68,t[2011].Toyota.Innova=8.16,t[2012].Toyota.Innova=8.16,t[2013].Toyota.Innova=8.16,t[2014].Toyota.Innova=8.16,t[2015].Toyota.Innova=8.16,t[2016].Toyota.Innova=8.56,t[2011].Toyota["Land Cruiser"]=6.32,t[2012].Toyota["Land Cruiser"]=6.32,t[2013].Toyota["Land Cruiser"]=6.32,t[2014].Toyota["Land Cruiser"]=6.32,t[2015].Toyota["Land Cruiser"]=6.32,t[2016].Toyota["Land Cruiser"]=6.32,t[2011].Toyota["Land Cruiser Prado"]=9.3*.8,t[2012].Toyota["Land Cruiser Prado"]=8.9*.8,t[2013].Toyota["Land Cruiser Prado"]=9.3*.8,t[2014].Toyota["Land Cruiser Prado"]=9.3*.8,t[2015].Toyota["Land Cruiser Prado"]=8.9*.8,t[2016].Toyota["Land Cruiser Prado"]=8.9*.8,t[2011].Ford["Crown Victoria"]=8.24,t[2012].Ford["Crown Victoria"]=8.24,t[2011].Ford["Grand Marquis"]=8.24,t[2012].Ford["Grand Marquis"]=8.24,t[2015].GMC["Yukon Denali"]=5.68,t[2016].GMC["Yukon Denali"]=9.4*.8,t[2015].GMC["Yukon Denali XL"]=6.9*.8,t[2016].GMC["Yukon Denali XL"]=7.2,this.getDistanceForLiter=function(e,n,r){return t[""+e][n][r]},this.getAvailableManufacturers=function(e){return Object.keys(t[""+e])},this.getAvailableModels=function(e,n){return Object.keys(t[""+e][n])},this.getAvailableYears=function(){return n},this.getFirstManufacturer=function(n,r){return e(t[""+n],r)},this.getFirstModel=function(n,r,i){return e(t[""+n][r],i)}}]),angular.module("fuelCalculator").service("menuService",["$window","fuelService","periodService","priceService","settingsService","vehicleService",function(e,t,n,r,i,a){function o(t,n){var r=n||null;return{getSelected:function(){return r},isSelected:function(e){return e===r},select:function(n){var i=r;r=n,e.ga&&e.ga("send","event",t,"change",i+"->"+n)}}}this.getVehiclesMenu=function(e,t,n,r){var o=t||"Toyota",s=n||"Hilux",u=e||"2015";return{getSelectedManufacturer:function(){return o},getSelectedModel:function(){return s},getSelectedYear:function(){return u},getDistanceForLiter:function(){return a.getDistanceForLiter(u,o,s)},selectManufacturer:function(e){o=e,s=a.getFirstModel(u,e,s),r||(i.manufacturer(o),i.model(s))},selectModel:function(e){s=e,r||i.model(e)},selectYear:function(e){u=e,o=a.getFirstManufacturer(e,o),s=a.getFirstModel(e,o,s),r||(i.manufacturer(o),i.model(s),i.year(u))},isSelectedManufacturer:function(e){return e===o},isSelectedModel:function(e){return e===s},isSelectedYear:function(e){return""+e==""+u},getAvailableManufacturers:function(){return a.getAvailableManufacturers(u)},getAvailableModels:function(){return a.getAvailableModels(u,o)},getAvailableYears:a.getAvailableYears}},this.getVehicleOptionMenu=function(e,t){var n=o("Vehicle Option",e||"vehicle"),r=n.select;return n.getSelectedLabel=function(){switch(n.getSelected()){case"average":return"لتر/100كيلو";case"effeciency":return"كفاءة استهلاك المركبة";case"vehicle":return"المركبة"}},n.getSelectedUnit=function(){switch(n.getSelected()){case"average":return"لتر/100كيلو";case"effeciency":return"كيلو/لتر"}},n.select=function(e){t||i.vehicleOption(e),r(e)},n},this.getOctaneMenu=function(e,t){var n=o("New Octane",e||"91");if(n.getSelectedLabel=n.getSelected,!t){var r=n.select;n.select=function(e){i.fuelType(e),r(e)}}return n},this.getWaterMeasureMenu=function(e){var t=o("Water Measure",e||"volume");return t.getSelectedLabel=function(){switch(t.getSelected()){case"cost":return"التكلفة";case"volume":return"كمية الاستهلاك"}},t.getSelectedUnit=function(){switch(t.getSelected()){case"cost":return"ريال";case"volume":return"متر مكعب"}},t},this.getMeasureMenu=function(e){var t=o("Measure",e||"cost");return t.getSelectedLabel=function(){switch(t.getSelected()){case"distance":return"المسافة المقطوعة";case"cost":return"التكلفة"}},t.getSelectedUnit=function(){switch(t.getSelected()){case"distance":return"كيلو";case"cost":return"ريال"}},t},this.getElectricityMeasureMenu=function(e){var t=o("ElectricityMeasure",e||"cost");return t.getSelectedLabel=function(){switch(t.getSelected()){case"consumption":return"شرائح الاستهلاك في الشهر";case"cost":return"التكلفة في الشهر"}},t.getSelectedUnit=function(){switch(t.getSelected()){case"consumption":return"ك.و.س";case"cost":return"ريال"}},t},this.getPeriodMenu=function(e){var t=o("Period",e||"day");return t.getSelectedLabel=function(){return n.getPeriodLabel(t.getSelected())},t.getValuePerDay=function(e){return n.getValuePerDay(t.getSelected(),e)},t},this.getWaterPeriodMenu=function(e){var t=o("Water Period",e||"month");return t.getSelectedLabel=function(){return n.getWaterPeriodLabel(t.getSelected())},t.getValuePerMonth=function(e){return n.getWaterValuePerMonth(t.getSelected(),e)},t}}]),angular.module("fuelCalculator").service("fuelService",["priceService",function(e){function t(e,t,n){return e/t*n}function n(e){return"91"===e?1.37:2.04}function r(e,t){var r=n(e),i=t/r;return i}function i(e,t,n,i){var a=r(e,i),o=a*t/n;return o}function a(e,t){return t*n(e)}function o(e,t,n,r){var i=n/t,o=i*r;return a(e,o)}function s(e,t){return n(e)/t}this.roundPrice=function(e){return e<10?e:Math.round(e)},this.getPercentageDifference=function(t,n,r,i){var a=s(t,n),o=s(r,i);return e.getPercentageDifference(a,o)},this.whichBetter=function(e,t,n,r){var i=s(e,t),a=s(n,r);return i<a?"first":a<i?"second":"same"},this.getLitersByPrice=function(e,t){var r=n(e);return t/r},this.calculateByDistance=o,this.calculateByVolume=a,this.calculateDistanceByVolume=t,this.calculateDistanceByPrice=i,this.getLiterPrice=n,this.getPriceDifferencePercentage=function(e){return console.log(e),"91"===e?82.66666666666669:126.66666666666666}}]),angular.module("fuelCalculator").service("periodService",[function(){var e="يوم",t="اسبوع",n="شهر",r="سنة",i=[[e,1,"day"],[t,7,"week"],[n,30,"month"],[r,360,"year"]],a="اليوم",o="الاسبوع",s="الشهر",u="السنة",c={day:1,week:7,month:30,year:360},l={day:a,week:o,month:s,year:u};this.getPeriodLabel=function(e){return l[e]},this.getWaterPeriodLabel=function(e){switch(e){case"month":return"شهر";case"three-months":return"3 شهور";case"year":return"سنة"}},this.getWaterValuePerMonth=function(e,t){switch(e){case"month":return t;case"three-months":return t/3;case"year":return t/12}},this.getValuePerDay=function(e,t){return t/c[e]},this.getPeriodTable=function(){return i},this.getWaterTable=function(){var e="شهر",t="3 شهور",n="سنة";return[[e,1,"month"],[t,3,"three-months"],[n,12,"year"]]}}]),angular.module("fuelCalculator").service("priceService",[function(){var e="حاليا",t="سابقا";this.getPriceTypeLabel=function(n){return"new"===n?e:t},this.getPercentageDifference=function(e,t){return e>t?e/t*100-100:t>e?t/e*100-100:0}}]),angular.module("fuelCalculator").filter("roundPrice",["$filter","fuelService",function(e,t){var n=e("number");return function(e,r){return e<10?n(e,r):n(t.roundPrice(e),0)}}]),angular.module("fuelCalculator").controller("TankCtrl",["fuelService","menuService","periodService","settingsService",function(e,t,n,r){function i(){switch(a.vehicleOptionMenu.getSelected()){case"average":return 100/a.distanceForLiters;case"effeciency":return a.distanceForLiters;case"vehicle":return a.vehiclesMenu.getDistanceForLiter()}}var a=this;this.distanceForLiters=r.averageOrEfficiency(),this.tankCostOrVolume=r.tankCostOrVolume(),this.litersForDistance=1,this.fillTimes=1,this.periodTable=n.getPeriodTable(),this.updateTankCostOrVolume=r.tankCostOrVolume,this.updateAverageOrEfficiency=r.averageOrEfficiency,this.vehicleOptionMenu=t.getVehicleOptionMenu(r.vehicleOption()),this.vehiclesMenu=t.getVehiclesMenu(r.year(),r.manufacturer(),r.model()),this.octaneMenu=t.getOctaneMenu(r.fuelType()),this.periodMenu=t.getPeriodMenu("month"),this.calculateDistance=function(t){var n=i(),r=a.periodMenu.getValuePerDay(a.fillTimes)*t,o=a.tankCostOrVolume*r,s="volume"===a.octaneMenu.getSelected()?o:e.getLitersByPrice(a.octaneMenu.getSelected(),o);return e.calculateDistanceByVolume(n,a.litersForDistance,s)},this.calculatePrice=function(t){var n=i(),o=a.calculateDistance(t),s=r.fuelType();return e.calculateByDistance(s,n,a.litersForDistance,o)}}]),angular.module("fuelCalculator").controller("CostAndDistanceCtrl",["fuelService","menuService","periodService","settingsService",function(e,t,n,r){function i(){switch(a.vehicleOptionMenu.getSelected()){case"average":return 100/a.distanceForLiters;case"effeciency":return a.distanceForLiters;case"vehicle":return a.vehiclesMenu.getDistanceForLiter()}}var a=this;this.litersForDistance=1,this.costOrDistance=50,this.distanceForLiters=r.averageOrEfficiency(),this.updateAverageOrEfficiency=r.averageOrEfficiency,this.periodTable=n.getPeriodTable(),this.vehicleOptionMenu=t.getVehicleOptionMenu(r.vehicleOption()),this.vehiclesMenu=t.getVehiclesMenu(r.year(),r.manufacturer(),r.model()),this.octaneMenu=t.getOctaneMenu(r.fuelType()),this.periodMenu=t.getPeriodMenu(),this.measureMenu=t.getMeasureMenu("distance"),this.calculateDistance=function(t){switch(a.measureMenu.getSelected()){case"cost":var n=i(),o=a.periodMenu.getValuePerDay(a.costOrDistance)*t,s=r.fuelType();return e.calculateDistanceByPrice(s,n,a.litersForDistance,o);case"distance":var u=a.periodMenu.getValuePerDay(a.costOrDistance);return u*t}},this.calculatePrice=function(t){var n=i(),o=r.fuelType();switch(a.measureMenu.getSelected()){case"cost":var s=a.calculateDistance(t);return e.calculateByDistance(o,n,a.litersForDistance,s);case"distance":var u=a.periodMenu.getValuePerDay(a.costOrDistance)*t;return e.calculateByDistance(o,n,a.litersForDistance,u)}}}]),angular.module("fuelCalculator").controller("ComparisonCtrl",["fuelService","menuService","periodService","settingsService",function(e,t,n,r){function i(e,t,n){switch(e.getSelected()){case"average":return 100/n;case"effeciency":return n;case"vehicle":return t.getDistanceForLiter()}}var a=this;this.litersForDistance=1,this.costOrDistance=50,this.distanceForLiters1=r.averageOrEfficiency(),this.distanceForLiters2=r.averageOrEfficiency(),this.periodTable=n.getPeriodTable(),this.vehicleOptionMenu1=t.getVehicleOptionMenu("effeciency",!0),this.vehicleOptionMenu2=t.getVehicleOptionMenu("effeciency",!0),this.vehiclesMenu1=t.getVehiclesMenu(r.year(),r.manufacturer(),r.model(),!0),this.vehiclesMenu2=t.getVehiclesMenu(r.year(),r.manufacturer(),r.model(),!0),this.octaneMenu1=t.getOctaneMenu(r.fuelType(),!0),this.octaneMenu2=t.getOctaneMenu(r.fuelType(),!0),this.measureMenu=t.getMeasureMenu("distance"),this.periodMenu=t.getPeriodMenu(),this.getDistanceForLiter1=function(){return i(a.vehicleOptionMenu1,a.vehiclesMenu1,a.distanceForLiters1)},this.getDistanceForLiter2=function(){return i(a.vehicleOptionMenu2,a.vehiclesMenu2,a.distanceForLiters2)},this.getSelectedUnit=function(){switch(a.measureMenu.getSelected()){case"distance":return"كيلو";case"cost":return"ريال"}},this.whichBetter=function(){return e.whichBetter(a.octaneMenu1.getSelected(),a.getDistanceForLiter1(),a.octaneMenu2.getSelected(),a.getDistanceForLiter2())},this.getFirstClass=function(){switch(a.whichBetter()){case"second":return"warning";case"first":case"same":return"success"}},this.getSecondClass=function(){switch(a.whichBetter()){case"first":return"warning";case"second":case"same":return"success"}},this.getPercentage=function(){return e.getPercentageDifference(a.octaneMenu1.getSelected(),a.getDistanceForLiter1(),a.octaneMenu2.getSelected(),a.getDistanceForLiter2())},this.cost={},this.cost.calculateDistance=function(t,n,r){var i=a.periodMenu.getValuePerDay(a.costOrDistance)*r;return e.calculateDistanceByPrice(t,n,a.litersForDistance,i)},this.cost.calculatePrice=function(e){var t=a.periodMenu.getValuePerDay(a.costOrDistance);return t*e},this.cost.calculateDistanceDifference=function(t){var n=a.cost.calculateDistance(a.octaneMenu1.getSelected(),a.getDistanceForLiter1(),t),r=a.cost.calculateDistance(a.octaneMenu2.getSelected(),a.getDistanceForLiter2(),t);return Math.abs(e.roundPrice(r)-e.roundPrice(n))},this.distance={},this.distance.calculateDistance=function(e){var t=a.periodMenu.getValuePerDay(a.costOrDistance);return t*e},this.distance.calculatePrice=function(t,n,r){var i=a.periodMenu.getValuePerDay(a.costOrDistance)*r;return e.calculateByDistance(t,n,a.litersForDistance,i)},this.distance.calculatePriceDifference=function(t){var n=a.distance.calculatePrice(a.octaneMenu1.getSelected(),a.getDistanceForLiter1(),t),r=a.distance.calculatePrice(a.octaneMenu2.getSelected(),a.getDistanceForLiter2(),t);return Math.abs(e.roundPrice(r)-e.roundPrice(n))}}]),angular.module("fuelCalculator").controller("NavbarCtrl",["locationService",function(e){this.isElectricityPage=e.isElectricityPage,this.isWaterPage=e.isWaterPage,this.isFuelPage=e.isFuelPage}]),angular.module("fuelCalculator").controller("TabsCtrl",["$location","locationService",function(e,t){this.isCurrentPath=function(t){return t===e.path()},this.isElectricityPage=t.isElectricityPage,this.isWaterPage=t.isWaterPage,this.isFuelPage=t.isFuelPage}]),angular.module("fuelCalculator").controller("AlertsCtrl",["$scope","$window","settingsService",function(e,t,n){var r="serviceWorker"in t.navigator,i=this;this.offlineSupported=r,this.newerVersionAvailable=!1,this.alertsRead=function(){return n.alertsRead()},this.dismiss=function(){n.alertsRead(!0)},this.update=function(e){e.preventDefault(),t.location.reload()},r&&t.navigator.serviceWorker.ready.then(function(t){t.onupdatefound=function(){var n=t.installing;n.onstatechange=function(){switch(n.state){case"installed":navigator.serviceWorker.controller?(console.log("New or updated content is available."),i.newerVersionAvailable=!0,e.$digest()):console.log("Content is now available offline!");break;case"redundant":console.error("The installing service worker became redundant.")}}}})["catch"](function(e){console.error("Error during service worker registration:",e)})}]),angular.module("fuelCalculator").controller("WaterCostAndVolumeCtrl",["$routeParams","fuelService","menuService","periodService","priceService","settingsService","validationService","waterService",function(e,t,n,r,i,a,o,s){var u=this;this.costOrVolume=parseInt(e.costOrVolume)||10,this.counterRadius=parseInt(o.getValidCounterRadius(e.counterRadius))||19,this.withService=1===parseInt(e.withService)||!1,this.radiusOptions=s.getRadiusOptions(),this.measureMenu=n.getWaterMeasureMenu(o.getValidWaterMeasure(e.measure)),this.periodMenu=n.getWaterPeriodMenu(o.getValidWaterPeriod(e.period)),this.periodTable=r.getWaterTable(),this.calculateVolume=function(e){var t=u.measureMenu.getSelected(),n=u.periodMenu.getValuePerMonth(u.costOrVolume),r=s.calculateVolumeByMeasure(t,u.numberOfUnits,u.counterRadius,u.withService,n);return r*e},this.calculatePrice=function(e){var t;switch(u.measureMenu.getSelected()){case"cost":return t=u.calculateVolume(e)/e,s.calculatePriceByVolume(u.numberOfUnits,u.counterRadius,u.withService,t)*e;case"volume":return t=u.periodMenu.getValuePerMonth(u.costOrVolume),s.calculatePriceByVolume(u.numberOfUnits,u.counterRadius,u.withService,t)*e}}}]),angular.module("fuelCalculator").controller("WaterComparisonCtrl",["$routeParams","fuelService","menuService","periodService","priceService","settingsService","validationService","waterService",function(e,t,n,r,i,a,o,s){var u=this;this.costOrVolume1=parseInt(e.costOrVolume1)||10,this.costOrVolume2=parseInt(e.costOrVolume2)||10,this.counterRadius=parseInt(o.getValidCounterRadius(e.counterRadius))||19,this.withService=1===parseInt(e.withService)||!1,this.showDetails=!1,this.radiusOptions=s.getRadiusOptions(),this.measureMenu1=n.getWaterMeasureMenu(o.getValidWaterMeasure(e.measure1)),this.measureMenu2=n.getWaterMeasureMenu(o.getValidWaterMeasure(e.measure2)),this.periodMenu1=n.getWaterPeriodMenu(o.getValidWaterPeriod(e.period1)),this.periodMenu2=n.getWaterPeriodMenu(o.getValidWaterPeriod(e.period2)),this.periodTable=r.getWaterTable(),this.calculateVolume=function(e,t,n,r){var i=e.getSelected(),a=t.getValuePerMonth(n),o=s.calculateVolumeByMeasure(i,u.numberOfUnits,u.counterRadius,u.withService,a);return o*r},this.calculatePrice=function(e,t,n,r){var i;switch(e.getSelected()){case"cost":return i=u.calculateVolume(e,t,n,r)/r,s.calculatePriceByVolume(u.numberOfUnits,u.counterRadius,u.withService,i)*r;case"volume":return i=t.getValuePerMonth(n),s.calculatePriceByVolume(u.numberOfUnits,u.counterRadius,u.withService,i)*r}},this.calculatePriceDifference=function(e,t,n,r,i,a,o){var s=u.calculatePrice(e,t,n,o),c=u.calculatePrice(r,i,a,o);return Math.abs(s-c)},this.calculateVolumeDifference=function(e,t,n,r,i,a,o){var s=u.calculateVolume(e,t,n,o),c=u.calculateVolume(r,i,a,o);return Math.abs(s-c)},this.getPriceDifferencePercentage=function(e,t,n,r,a,o){var s=u.calculatePrice(e,t,n,1),c=u.calculatePrice(r,a,o,1);return i.getPercentageDifference(s,c)},this.getVolumeDifferencePercentage=function(e,t,n,r,a,o){var s=u.calculateVolume(e,t,n,1),c=u.calculateVolume(r,a,o,1);return i.getPercentageDifference(s,c)}}]),angular.module("fuelCalculator").controller("ElectricityConsumptionAndCostCtrl",["electricityService","menuService","priceService",function(e,t,n){function r(t,n,r,i){if("consumption"===t)return i;var a=i;return e.calculateConsumptionByCost(n,r,a)}this.categoryOptions=e.getCategoryOptions(),this.category="metropolitan",this.consumptionOrCost=200,this.meter=20,this.periodTable=e.getPeriodTable(),this.measureMenu=t.getElectricityMeasureMenu(),this.calculateConsumption=function(e,t,n,i){return r(e,t,n,i)},this.calculatePrice=function(t,n,i,a){var o=r(t,n,i,a);return e.calculateCostByConsumption(n,i,o)}}]),angular.module("fuelCalculator").controller("ElectricityComparisonCtrl",["electricityService","menuService","priceService",function(e,t,n){function r(t,n,r,i){if("consumption"===t)return i;var a=i;return e.calculateConsumptionByCost(n,r,a)}function i(e,t,n,i,a,o){var s=r(e,n,i,a),u=r(t,n,i,o);return[s,u]}function a(e,t,n,r,i,a){var s=o.calculatePrice(e,n,r,i),u=o.calculatePrice(t,n,r,a);return[s,u]}var o=this;this.categoryOptions=e.getCategoryOptions(),this.category="metropolitan",this.consumptionOrCost=200,this.consumptionOrCost2=200,this.meter=20,this.showDetails=!1,this.periodTable=e.getPeriodTable(),this.measureMenu=t.getElectricityMeasureMenu(),this.measureMenu2=t.getElectricityMeasureMenu(),this.calculateConsumption=function(e,t,n,i){return r(e,t,n,i)},this.calculatePrice=function(t,n,i,a){var o=r(t,n,i,a);return e.calculateCostByConsumption(n,i,o)},this.calculatePriceDifference=function(e,t,n,r,i,o){var s=a(e,t,n,r,i,o);return Math.abs(s[0]-s[1])},this.calculateConsumptionDifference=function(e,t,n,r,a,o){var s=i(e,t,n,r,a,o);return Math.abs(s[0]-s[1])},this.getCostDifferencePercentage=function(e,t,r,i,o,s){var u=a(e,t,r,i,o,s);return n.getPercentageDifference(u[0],u[1])},this.getConsumptionDifferencePercentage=function(e,t,r,a,o,s){var u=i(e,t,r,a,o,s);return n.getPercentageDifference(u[0],u[1])}}]),angular.module("fuelCalculator").service("waterService",["unitService",function(e){function t(e){return e>=50?15:e>=25?10:5}function n(n,r,i,a){var o=t(r),s=e.calculateUnit([[15,.1],[15,1],[15,3],[15,4]],6,a/n)*n;return(i?1.5*s:s)+o}function r(n,r,i,a){var o=t(r),s=(a-o)/n,u=i?s/1.5:s,c=e.calculateUnit([[1.5,10],[15,1],[45,1/3],[60,.25]],1/6,u)*n;return a<=o?0:c}var i=this;this.calculatePriceByVolume=function(e,t,r,i){return n(e,t,r,i)},this.calculateVolumeByPrice=function(e,t,n,i){return r(e,t,n,i)},this.calculateVolumeByMeasure=function(e,t,n,r,a){switch(e){case"cost":return i.calculateVolumeByPrice(t,n,r,a);case"volume":return a}},this.getRadiusOptions=function(){return[{label:"0.5 (12mm)",value:12},{label:"0.75 (19mm)",value:19},{label:"1.25 (40mm)",value:40},{label:"1.5 (50mm)",value:50},{label:"2 أو أكثر (60mm أو أكثر)",value:60}]}}]),angular.module("fuelCalculator").service("electricityService",["unitService",function(e){function t(e){return e<100?10:e<200?15:e<300?21:e<400?22:400===e?25:30}var n={metropolitan:{regular:[[6e3,.18]],excessive:.3},profit:{regular:[[6e3,.2]],excessive:.3},government:{regular:[],excessive:.32},enterprise:{regular:[],excessive:.18},agriculture:{regular:[[6e3,.16]],excessive:.2}};this.getCategoryOptions=function(){return[{label:"سكني",value:"metropolitan"},{label:"تجاري",value:"profit"},{label:"حكومي",value:"government"},{label:"صناعي",value:"enterprise"},{label:"زراعي",value:"agriculture"}]},this.getPeriodTable=function(){var e="شهر",t="3 شهور",n="6 شهور",r="سنة";return[[e,1],[t,3],[n,6],[r,12]]},this.calculateConsumptionByCost=function(r,i,a){const o=n[r];if(!o)return-1;var s=t(i),u=a-s;return e.calculateInvertedUnit(o.regular,o.excessive,u)},this.calculateCostByConsumption=function(r,i,a){const o=n[r];if(!o)return-1;var s=t(i);return e.calculateUnit(o.regular,o.excessive,a)+s}}]),angular.module("fuelCalculator").service("unitService",[function(){var e=this;this.calculateUnit=function(e,t,n){var r=0,i=n;return e.forEach(function(e){var t=e[0],n=e[1];i>=t?(r+=t*n,i-=t):(r+=i*n,i=0)}),r+i*t},this.calculateInvertedUnit=function(t,n,r){var i=t.map(function(e){var t=e[0],n=e[1];return[t*n,1/n]});return e.calculateUnit(i,n,r)}}]);