ember-source 1.0.0.rc8 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +6 -14
- data/VERSION +1 -1
- data/dist/ember-data-deps.js +909 -1597
- data/dist/ember-data-deps.min.js +6 -6
- data/dist/ember-data-deps.prod.js +892 -1591
- data/dist/ember-debug.js +14 -2
- data/dist/ember-runtime.js +909 -113
- data/dist/ember-runtime.min.js +6 -6
- data/dist/ember-runtime.prod.js +892 -108
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +3 -12
- data/dist/ember-template-compiler.min.js +3 -3
- data/dist/ember-template-compiler.prod.js +0 -9
- data/dist/ember-tests.js +1 -1
- data/dist/ember.js +1302 -1799
- data/dist/ember.min.js +10 -10
- data/dist/ember.prod.js +1260 -1785
- data/lib/ember/version.rb +6 -2
- metadata +6 -14
- data/dist/ember-old-router.js +0 -28808
- data/dist/ember-old-router.min.js +0 -21
- data/dist/ember-old-router.prod.js +0 -28605
- data/dist/ember-params.js +0 -32394
- data/dist/ember-snork.js +0 -32321
- data/dist/ember2.js +0 -32377
- data/dist/ember3.js +0 -32379
data/dist/ember-runtime.min.js
CHANGED
@@ -8,11 +8,11 @@
|
|
8
8
|
// ==========================================================================
|
9
9
|
|
10
10
|
|
11
|
-
// Version: v1.0.0
|
12
|
-
// Last commit:
|
11
|
+
// Version: v1.0.0
|
12
|
+
// Last commit: e2ea0cf (2013-08-31 23:47:39 -0700)
|
13
13
|
|
14
14
|
|
15
|
-
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,o,s,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");o=i.deps,s=i.callback,a=[];for(var c=0,h=o.length;h>c;c++)"exports"===o[c]?a.push(u={}):a.push(t(o[c]));var l=s.apply(this,a);return n[e]=u||l}}(),function(){function e(e){var t;r.console?t=r.console:"undefined"!=typeof console&&(t=console);var n="object"==typeof t?t[e]:null;return n?n.apply?function(){n.apply(t,arguments)}:function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.8","undefined"==typeof ENV&&(n.ENV={}),"undefined"==typeof ENV.DISABLE_RANGE_API&&(ENV.DISABLE_RANGE_API=!0),Ember.ENV=Ember.ENV||ENV,Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,o=0,s=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f={descs:{},watching:{}};u&&(f.values={}),Ember.EMPTY_META=f,Object.freeze&&Object.freeze(f);var m=Ember.platform.defineProperty.isSimulated;m&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var o=t[l];return i===!1?o||f:(o?o.source!==t&&(m||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(m||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n.__ember_listens__=e.__ember_listens__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var b={},d="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(d,function(e){b["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):b[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,o,s){function a(){for(p=0,b=f.length;b>p;p++)m=f[p],d[p]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,b=f.length;b>p;p++)m=f[p],m.after(e,n(),i,d[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,p,b,d=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.split("."),s=[],a=0,u=o.length;u>a;a++)i=o[a],"*"===i?s.push("[^\\.]*"):s.push(i);s=s.join("\\."),s+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf,n=Array.prototype.splice;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},_replace:function(e,t,r,i){for(var o,s,a=[].concat(i),u=[],c=6e4,h=t,l=r;a.length;)s=l>c?c:l,0>=s&&(s=0),o=a.splice(0,c),o=[h,s].concat(o),h+=c,l-=s,u=u.concat(n.apply(e,o));return u},replace:function(e,t,r,n){return e.replace?e.replace(t,r,n):i._replace(e,t,r,n)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i+=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-3;s>=0;s-=3){var a=o[s],u=o[s+1],c=o[s+2],h=e(n,a,u);-1===h&&n.push(a,u,c)}}function n(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-3;a>=0;a-=3){var u=o[a],c=o[a+1],h=o[a+2],l=e(n,u,c);-1===l&&(n.push(u,c,h),s.push(u,c,h))}return s}}function i(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=d),-1===u&&(a.push(i,o,c),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,3),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-3;c>=0;c-=3)s(u[c],u[c+1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){-1!==h&&(c[h+2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c=t(r,n),h=e(c,i,o);return-1!==h&&(c[h+2]|=E),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(var e=0,t=m.length;t>e;e++){var r=m[e];h[r+2]&=~E}}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m=[];for(l=0,f=n.length;f>l;l++){c=n[l],h=t(r,c);var p=e(h,i,o);-1!==p&&(h[p+2]|=E,m.push(p))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-3;s>=0;s-=3){var a=n[s],u=n[s+1],c=n[s+2];u&&(c&E||(c&d&&o(e,t,a,u),a||(a=e),"string"==typeof u&&(u=a[u]),r?u.apply(a,r):u.call(a)))}return!0}}function h(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o+=3){var a=i[o],u=i[o+1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,p=Ember.META_KEY,b=[].slice,d=1,E=2;Ember.on=function(){var e=b.call(arguments,-1)[0],t=b.call(arguments,0,-1);return e.__ember_listens__=t,e},Ember.addListener=i,Ember.removeListener=o,Ember._suspendListener=s,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=h,Ember.watchedEvents=u,Ember.listenersFor=l,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t){var n=l(e,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];i&&s!==e&&(a&&a.willChange&&a.willChange(e,t),r(e,t,n),o(e,t,n),c(e,t))}function t(e,t){var r=l(e,!1),i=r.watching[t]>0||"length"===t,o=r.proto,a=r.descs[t];o!==e&&(a&&a.didChange&&a.didChange(e,t),(i||"length"===t)&&(n(e,t,r),s(e,t,r,!1),h(e,t)))}function r(t,r,n){if(!t.isDestroying){var o=_,s=!o;s&&(o=_={}),i(e,t,r,o,n),s&&(_=null)}}function n(e,r,n){if(!e.isDestroying){var o=O,s=!o;s&&(o=O={}),i(t,e,r,o,n),s&&(O=null)}}function i(e,t,r,n,i){var o=f(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var s=i.deps;if(s=s&&s[r])for(var a in s){var u=i.descs[a];u&&u._suspended===t||e(t,a)}}}function o(t,r,n){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var i,o,s=n.chainWatchers[r],a=[];for(i=0,o=s.length;o>i;i++)s[i].willChange(a);for(i=0,o=a.length;o>i;i+=2)e(a[i],a[i+1])}}function s(e,r,n,i){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var o,s,a=n.chainWatchers[r],u=i?null:[];for(o=0,s=a.length;s>o;o++)a[o].didChange(u);if(!i)for(o=0,s=u.length;s>o;o+=2)t(u[o],u[o+1])}}function a(){g++}function u(){g--,0>=g&&(y.clear(),v.flush())}function c(e,t){if(!e.isDestroying){var r,n,i=t+":before";g?(r=y.add(e,t,i),n=d(e,i,r),p(e,i,[e,t],n)):p(e,i,[e,t])}}function h(e,t){if(!e.isDestroying){var r,n=t+":change";g?(r=v.add(e,t,n),b(e,n,r)):p(e,n,[e,t])}}var l=Ember.meta,f=Ember.guidFor,m=Ember.tryFinally,p=Ember.sendEvent,b=Ember.listenersUnion,d=Ember.listenersDiff,E=Ember._ObserverSet,y=new E,v=new E,g=0;Ember.propertyWillChange=e,Ember.propertyDidChange=t;var _,O;Ember.overrideChains=function(e,t,r){s(e,t,r,!0)},Ember.beginPropertyChanges=a,Ember.endPropertyChanges=u,Ember.changeProperties=function(e,t){a(),m(e,u,t)}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Error("You passed an empty path");if(!e){if(o)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,o,s){if("string"==typeof n&&(o=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,o,s);var a,u,c=n[t],h=c&&c.descs[i];return h?h.set(n,i,o):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,o):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=o:Ember.defineProperty(n,i,null,o):n[i]=o,Ember.propertyDidChange(n,i))):n[i]=o),o};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=t(e)),h=c.descs,l=c.descs[s],f=c.watching[s]>0,l instanceof Ember.Descriptor&&l.teardown(e,s),a instanceof Ember.Descriptor?(m=a,h[s]=a,n&&f?r(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,r(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,r(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.get;Ember.getProperties=function(t){var r={},n=arguments,i=1;2===arguments.length&&"array"===Ember.typeOf(arguments[1])&&(i=0,n=arguments[1]);for(var o=n.length;o>i;i++)r[n[i]]=e(t,n[i]);return r}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s=e(i),a=s.watching;a[o]?a[o]=(a[o]||0)+1:(a[o]=1,"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(s.values[o]=i[o],n(i,o,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o=e(t),s=o.watching;1===s[i]?(s[i]=0,"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):s[i]>1&&s[i]--}}(),function(){function e(e){return e.match(h)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e,t){if(!e)return void 0;var r=n(e,!1);if(r.proto===e)return void 0;if("@each"===t)return i(e,t);var o=r.descs[t];return o&&o._cacheable?t in r.cache?r.cache[t]:void 0:i(e,t)}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=/^([^\.\*]+)/,l=[];Ember.flushPendingChains=function(){if(0!==l.length){var e=l;l=[],s.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===l.length)}};var f=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},m=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},p=m.prototype;p.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=r(e,this._key)}return this._value},p.destroy=function(){if(this._watching){var e=this._object;e&&f(e,this._key,this),this._watching=!1}},p.copy=function(e){var t,r=new m(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},p.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return l.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},p.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},p.count=0,p.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new m(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},p.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},p.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},p.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(f(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(null))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,o=Ember.watchKey,s=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,h=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=m(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,p(n,c)}function n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,b(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=c(e,t[n]);return r}function a(e,t){Ember.computed[e]=function(e){var r=f.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function u(e,t){Ember.computed[e]=function(){var e=f.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var c=Ember.get,h=Ember.set,l=Ember.meta,f=[].slice,m=Ember.create,p=(Ember.META_KEY,Ember.watch),b=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var d=i.prototype;d.cacheable=function(e){return this._cacheable=e!==!1,this},d.volatile=function(){return this.cacheable(!1)},d.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},d.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},d.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},d.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],n(this,e,t,r))}},d.get=function(e,t){var n,i,s,a;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),a=s.chainWatchers&&s.chainWatchers[t],a&&o(a),r(this,e,t,s)}else n=this.func.call(e,t);return n},d.set=function(e,t,n){var i,o,s,a=this._cacheable,u=this.func,c=l(e,a),h=c.watching[t],f=this._suspended,m=!1,p=c.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(o=p[t],m=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)s=u.call(e,t,n,o);else{if(2!==i)return Ember.defineProperty(e,t,null,o),Ember.set(e,t,n),void 0;s=u.call(e,t,n)}if(m&&o===s)return;h&&Ember.propertyWillChange(e,t),m&&delete p[t],a&&(m||r(this,e,t,c),p[t]=s),h&&Ember.propertyDidChange(e,t)}finally{this._suspended=f}return s},d.teardown=function(e,t){var r=l(e);return t in r.cache&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=f.call(arguments,0,-1),e=f.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=l(e,!1).cache;return r&&t in r?r[t]:void 0},a("empty",function(e){return Ember.isEmpty(c(this,e))}),a("notEmpty",function(e){return!Ember.isEmpty(c(this,e))}),a("none",function(e){return Ember.isNone(c(this,e))}),a("not",function(e){return!c(this,e)}),a("bool",function(e){return!!c(this,e)}),a("match",function(e,t){var r=c(this,e);return"string"==typeof r?!!r.match(t):!1}),a("equal",function(e,t){return c(this,e)===t}),a("gt",function(e,t){return c(this,e)>t}),a("gte",function(e,t){return c(this,e)>=t}),a("lt",function(e,t){return c(this,e)<t}),a("lte",function(e,t){return c(this,e)<=t}),u("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),u("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),u("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),u("collect",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(h(this,e,r),r):c(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return c(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:c(this,e):null!=r?r:c(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};
|
16
|
-
return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,p=m&&m.before,b=m&&m.after,d=0,E=r.length;for(E&&p&&p();E>d;)c=r[d],h=r[d+1],l=r[d+2],f=r[d+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),d+=4;t._queueBeingFlushed=null,E&&b&&b(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),s=b.setTimeout(function(){e.end(),s=null})}function i(e){var t,r,n,o,s=+new Date;e.run(function(){for(n=0,o=p.length;o>n&&(t=p[n],!(t>s));n+=2);for(r=p.splice(0,n),n=1,o=r.length;o>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),p.length&&(a=b.setTimeout(function(){i(e),a=null,u=null},p[0]-s),u=p[0])}function o(e,t){for(var r,n=-1,i=0,o=m.length;o>i;i++)if(r=m[i],r[0]===e&&r[1]===t){n=i;break}return n}var s,a,u,c=e.DeferredActionQueues,h=[].slice,l=[].pop,f=[],m=[],p=[],b=this;r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new c(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,h.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!0,i)},setTimeout:function(){var e=this,t=l.call(arguments),r=arguments[0],n=arguments[1],o=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var s,c;arguments.length>2?(c=h.call(arguments,2),s=function(){n.apply(r,c)}):s=function(){n.call(r)};var f,m;for(f=0,m=p.length;m>f&&!(o<p[f]);f+=2);return p.splice(f,0,o,s),a&&o>u?s:(a&&(clearTimeout(a),a=null),a=b.setTimeout(function(){i(e),a=null,u=null},t),u=o,s)},throttle:function(e,t){for(var r,n=this,i=arguments,o=l.call(i),s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t)return;var u=b.setTimeout(function(){n.run.apply(n,i);for(var o=-1,s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t){o=s;break}o>-1&&f.splice(o,1)},o);f.push([e,t,u])},debounce:function(e,t){var r,n,i,s=this,a=arguments,u=l.call(a);"number"==typeof u?(r=u,u=!1):r=l.call(a),n=o(e,t),-1!==n&&(i=m[n],m.splice(n,1),clearTimeout(i[2]));var c=window.setTimeout(function(){u||s.run.apply(s,a),n=o(e,t),n&&m.splice(n,1)},r);u&&-1===n&&s.run.apply(s,a),m.push([e,t,c])},cancelTimers:function(){var e,t;for(e=0,t=f.length;t>e;e++)clearTimeout(f[e][2]);for(f=[],e=0,t=m.length;t>e;e++)clearTimeout(m[e][2]);m=[],a&&(clearTimeout(a),a=null),p=[],s&&(clearTimeout(s),s=null)},hasTimers:function(){return!!p.length||s},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=p.length;r>t;t+=2)if(p[t+1]===e)return p.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=o,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)},Ember.run.throttle=function(){return o.throttle.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,o=Ember.isGlobalPath=function(e){return i.test(e)},s=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};s.prototype={copy:function(){var e=new s(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=j(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=C.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?D:(e[r]=t,t.properties)):t}function i(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=j(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i){var o=i[t]||e[t];if(!o)return n;var a=Ember.merge({},o);for(var u in n)if(n.hasOwnProperty(u)){var c=n[u];a[u]=r(c)?s(e,u,c,o,{}):c}return a}function c(e,t,n,i,c,h,l,f){if(n instanceof Ember.Descriptor){if(n===_&&c[t])return D;n.func&&(n=o(i,t,n,h,c)),c[t]=n,h[t]=void 0}else r(n)?n=s(e,t,n,h,c):l&&w.call(l,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?n=a(e,t,n,h):f&&w.call(f,t)>=0&&(n=u(e,t,n,h)),c[t]=void 0,h[t]=n}function h(e,t,r,o,s,a){function u(e){delete r[e],delete o[e]}for(var l,f,m,p,b,d,E=0,y=e.length;y>E;E++)if(l=e[E],f=n(t,l),f!==D)if(f){d=Ember.meta(s),s.willMergeMixin&&s.willMergeMixin(f),p=i("concatenatedProperties",f,o,s),b=i("mergedProperties",f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),c(s,m,f[m],d,r,o,p,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(h(l.mixins,t,r,o,s,a),l._without&&A.call(l._without,u))}function l(e,t,r,n){if(T.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=j(n.bindings)):i=n.bindings={},i[t]=r}}function f(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return f(e,t||Ember.meta(e)),e}function p(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}function d(e,t,r){var n=e[t];"function"==typeof n&&(b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,n,"__ember_listens__","removeListener")),"function"==typeof r&&(b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver"),b(e,t,r,"__ember_listens__","addListener"))}function E(t,r,n){var i,o,s,a={},u={},c=Ember.meta(t),f=[];h(r,e(t),a,u,t,f);for(var b=0,E=f.length;E>b;b++)if(i=f[b],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==_)){for(;s&&s instanceof O;){var y=p(t,s,c,a,u);s=y.desc,o=y.value}(void 0!==s||void 0!==o)&&(d(t,i,o),l(t,i,o,c),S(t,i,s,o,c))}return n||m(t,c),t}function y(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(y(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&A.call(t.mixins,function(t){v(e,t,r)})}var g,_,O,C=Ember.ArrayPolyfills.map,w=Ember.ArrayPolyfills.indexOf,A=Ember.ArrayPolyfills.forEach,P=[].slice,j=Ember.create,S=Ember.defineProperty,x=Ember.guidFor,D={},T=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=P.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=P.call(arguments,1);return E(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var I=g.prototype;I.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},I.apply=function(e){return E(e,[this],!1)},I.applyPartial=function(e){return E(e,[this],!0)},I.detect=function(e){if(!e)return!1;if(e instanceof g)return y(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},I.without=function(){var e=new g(this);return e._without=P.call(arguments),e},I.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},_=new Ember.Descriptor,_.toString=function(){return"(Required Property)"},Ember.required=function(){return _},O=function(e){this.methodName=e},O.prototype=new Ember.Descriptor,Ember.alias=function(e){return new O(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new O(e)},Ember.observer=function(e){var t=P.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=P.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("You must pass an array to all.");return new n(function(t,r){function n(e){return function(t){i(e,t)}}function i(e,r){s[e]=r,0===--a&&t(s)}var o,s=[],a=e.length;0===a&&t([]);for(var u=0;u<e.length;u++)o=e[u],o&&"function"==typeof o.then?o.then(n(u),r):i(u,o)})}var n=e.Promise;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";function t(){return function(e,t){process.nextTick(function(){e(t)})}}function r(){return function(e,t){setImmediate(function(){e(t)})}}function n(){var e=[],t=new a(function(){var t=e.slice();e=[],t.forEach(function(e){var t=e[0],r=e[1];t(r)})}),r=document.createElement("div");return t.observe(r,{attributes:!0}),window.addEventListener("unload",function(){t.disconnect(),t=null},!1),function(t,n){e.push([t,n]),r.setAttribute("drainQueue","drainQueue")}}function i(){return function(e,t){global.setTimeout(function(){e(t)},1)}}var o,s="undefined"!=typeof window?window:{},a=s.MutationObserver||s.WebKitMutationObserver;o="function"==typeof setImmediate?r():"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():a?n():i(),e.async=o}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={resolve:void 0,reject:void 0,promise:void 0};return e.promise=new n(function(t,r){e.resolve=t,e.reject=r}),e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var o,s,a=n(this);for(e=e.split(/\s+/),i=i||this;s=e.shift();)o=a[s],o||(o=a[s]=[]),-1===r(o,t)&&o.push([t,i])},off:function(e,t){var i,o,s,a=n(this);for(e=e.split(/\s+/);o=e.shift();)t?(i=a[o],s=r(i,t),-1!==s&&i.splice(s,1)):a[o]=[]},trigger:function(e,r){var i,o,s,a,u,c=n(this);if(i=c[e])for(var h=0;h<i.length;h++)o=i[h],s=o[0],a=o[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),s.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),o=r(e);0===o&&n.resolve({});var s=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--o&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(s(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=this,u=new o(function(e,n){t=e,r=n});return s(i).then(function(i){i.push(n(t,r));try{e.apply(a,i)}catch(o){r(o)}}),u}}var o=e.Promise,s=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function o(e){h.onerror&&h.onerror(e.detail)}function s(e,t){e===t?u(e,t):a(e,t)||u(e,t)}function a(e,t){var r,o=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(n(t)&&(o=t.then,i(o)))return o.call(t,function(n){return r?!0:(r=!0,t!==n?s(e,n):u(e,n),void 0)},function(t){return r?!0:(r=!0,c(e,t),void 0)}),!0}catch(a){return c(e,a),!0}return!1}function u(e,t){h.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function c(e,t){h.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var h=e.config,l=t.EventTarget,f=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof f))return new f(e);var n=function(e){r||(r=!0,s(t,e))},i=function(e){r||(r=!0,c(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),this.on("error",o);try{e(n,i)}catch(a){i(a)}},m=function(e,t,r,n){var o,u,h,l,f=i(r);if(f)try{o=r(n.detail),h=!0}catch(m){l=!0,u=m}else o=n.detail,h=!0;a(t,o)||(f&&h?s(t,o):l?c(t,u):"resolve"===e?s(t,o):"reject"===e&&c(t,o))};f.prototype={constructor:f,isRejected:void 0,isFulfilled:void 0,rejectedReason:void 0,fulfillmentValue:void 0,then:function(e,t){this.off("error",o);var r=new this.constructor(function(){});return this.isFulfilled&&h.async(function(t){m("resolve",r,e,{detail:t.fulfillmentValue})},this),this.isRejected&&h.async(function(e){m("reject",r,t,{detail:e.rejectedReason})},this),this.on("promise:resolved",function(t){m("resolve",r,e,t)}),this.on("promise:failed",function(e){m("reject",r,t,e)}),r},fail:function(e){return this.then(null,e)}},l.mixin(f.prototype),r.Promise=f}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t){t(e)})}var n=e.Promise;t.resolve=r}),e("rsvp/rethrow",["exports"],function(e){"use strict";function t(e){throw r.setTimeout(function(){throw e}),e}var r="undefined"==typeof global?this:global;e.rethrow=t}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/rethrow","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,o,s,a,u,c,h){"use strict";function l(e,t){v[e]=t}var f=e.EventTarget,m=t.Promise,p=r.denodeify,b=n.all,d=i.hash,E=o.rethrow,y=s.defer,v=a.config,g=u.resolve,_=c.reject;h.Promise=m,h.EventTarget=f,h.all=b,h.hash=d,h.rethrow=E,h.defer=y,h.denodeify=p,h.configure=l,h.resolve=g,h.reject=_})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.factoryCache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this.factoryTypeInjections=new e(t&&t.factoryTypeInjections),this.factoryInjections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=o(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,o=0,s=t.length;s>o;o++){if(n=t[o],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function o(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function s(e,t){var r,n=e.normalize(t),i=e.resolve(n),o=e.factoryCache;if(i){if(o.has(t))return o.get(t);if("function"!=typeof i.extend)return i;var s=a(e,t),c=u(e,t);return c._toString=e.makeToString(i,t),r=i.extend(s),r.reopenClass(c),o.set(t,r),r}}function a(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.typeInjections.get(n)||[]),o=o.concat(e.injections[t]||[]),o=i(e,o),o._debugContainerKey=t,o.container=e,o}function u(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.factoryTypeInjections.get(n)||[]),o=o.concat(e.factoryInjections[t]||[]),o=i(e,o),o._debugContainerKey=t,o}function c(e,t){var r=s(e,t);return o(e,t,"instantiate")===!1?r:r?"function"==typeof r.extend?r.create():r.create(a(e,t)):void 0}function h(e,t){e.cache.eachLocal(function(r,n){o(e,r,"instantiate")!==!1&&t(n)})}function l(e){e.cache.eachLocal(function(t,r){o(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}function f(e,t,r,n){var i=e.get(t);i||(i=[],e.set(t,i)),i.push({property:r,fullName:n})}function m(e,t,r,n){var i=e[t]=e[t]||[];i.push({property:r,fullName:n})}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var o=this.normalize(i);this.registry.set(o,r),this._options.set(o,n||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this.factoryCache.remove(t),this._options.remove(t)},resolve:function(e){return this.resolver(e)||this.registry.get(e)},describe:function(e){return e},normalize:function(e){return e},makeToString:function(e){return e.toString()},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=c(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return s(this,e)},has:function(e){return this.cache.has(e)?!0:!!s(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection"),f(this.typeInjections,e,t,n)},injection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.typeInjection(e,t,n):(m(this.injections,e,t,n),void 0)},factoryTypeInjection:function(e,t,n){this.parent&&r("factoryTypeInjection"),f(this.factoryTypeInjections,e,t,n)},factoryInjection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.factoryTypeInjection(e,t,n):(m(this.factoryInjections,e,t,n),void 0)},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],h(this,function(e){e.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)l(this.children[e]);l(this)}},t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&o.detect(t.constructor))return 1-t.constructor.compare(t,e)}var s=Ember.ORDER_DEFINITION_MAPPING;if(!s){var a=Ember.ORDER_DEFINITION;s=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)s[a[u]]=u;delete Ember.ORDER_DEFINITION}var h=s[r],l=s[i];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,p=t.length,b=Math.min(m,p),d=0,E=0;0===d&&b>E;)d=n(e[E],t[E]),E++;return 0!==d?d:p>m?-1:m>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var y=e.getTime(),v=t.getTime();return v>y?-1:y>v?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}return"{"+n.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,o=e(),s=0,a=null;do a=i,i=this.nextObject(s++,a,o);while(void 0!==i);return t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var o=n(this,"length"),s=null,a=e();void 0===i&&(i=null);for(var u=0;o>u;u++){var c=this.nextObject(u,s,a);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapBy(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapBy:function(e){return this.map(function(t){return n(t,e)})},mapProperty:Ember.aliasMethod("mapBy"),filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterBy:function(){return this.filter(r.apply(this,arguments))},filterProperty:Ember.aliasMethod("filterBy"),rejectBy:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},rejectProperty:Ember.aliasMethod("rejectBy"),find:function(r,i){var o=n(this,"length");void 0===i&&(i=null);for(var s,a,u=null,c=!1,h=e(),l=0;o>l&&!c;l++)s=this.nextObject(l,u,h),(c=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findBy:function(){return this.find(r.apply(this,arguments))},findProperty:Ember.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:function(){return this.every(r.apply(this,arguments))},everyProperty:Ember.aliasMethod("everyBy"),any:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},some:Ember.aliasMethod("any"),anyBy:function(){return this.any(r.apply(this,arguments))},someProperty:Ember.aliasMethod("anyBy"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):o.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),o&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this
|
17
|
-
}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),h=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==h&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){function e(e,t,r){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.changedItems={}}function t(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null}function r(e,t,r,n,i,o,s){var a={arrayChanged:e,index:r,item:t,propertyName:n,property:i,previousValue:s};return o&&(a.keyChanged=o),a}function n(e,t,n,i,o){y(e,function(s,a){o.setValue(t.addedItem.call(this,o.getValue(),s,r(e,s,a,i,n),o.sugarMeta))},this)}function i(e,t){var r;e._callbacks(),e._hasInstanceMeta(this,t)?(r=e._instanceMeta(this,t),r.setValue(e.resetValue(r.getValue()))):r=e._instanceMeta(this,t),e.options.initialize&&e.options.initialize.call(this,r.getValue(),{property:e,propertyName:t},r.sugarMeta)}function o(e,t,r){this.context=e,this.propertyName=t,this.cache=h(e).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function s(e){var t=this;this.options=e,this._instanceMetas={},this._dependentKeys=null,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.cacheable(),this.recomputeOnce=function(e){Ember.run.once(this,r,e)};var r=function(e){var r=(t._dependentKeys,t._instanceMeta(this,e)),o=t._callbacks();i.call(this,t,e),y(t._dependentKeys,function(e){var n=u(this,e),i=r.dependentArrays[e];n===i?t._previousItemPropertyKeys[e]&&(delete t._previousItemPropertyKeys[e],r.dependentArraysObserver.setupPropertyObservers(e,t._itemPropertyKeys[e])):(r.dependentArrays[e]=n,i&&r.dependentArraysObserver.teardownObservers(i,e),n&&r.dependentArraysObserver.setupObservers(n,e))},this),y(t._dependentKeys,function(i){var s=u(this,i);n.call(this,s,o,t,e,r)},this)};this.func=function(e){return r.call(this,e),t._instanceMeta(this,e).getValue()}}function a(e){return e}var u=Ember.get,c=(Ember.set,Ember.guidFor),h=Ember.meta,l=Ember.addBeforeObserver,f=Ember.removeBeforeObserver,m=Ember.addObserver,p=Ember.removeObserver,b=Ember.ComputedProperty,d=[].slice,E=Ember.create,y=Ember.EnumerableUtils.forEach,v=/^(.*)\.@each\.(.*)/,g=/(.*\.@each){2,}/;e.prototype={setValue:function(e){this.instanceMeta.setValue(e)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[c(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[c(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},setupPropertyObservers:function(e,t){var r=u(this.instanceMeta.context,e),n=u(r,"length"),i=new Array(n);this.resetTransformations(e,i),y(r,function(n,o){var s=this.createPropertyObserverContext(r,o,this.trackedArraysByGuid[e]);i[o]=s,y(t,function(e){l(n,e,this,s.beforeObserver),m(n,e,this,s.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,o=this,s=this.trackedArraysByGuid[e];s&&s.apply(function(e,s,a){a!==Ember.TrackedArray.DELETE&&y(e,function(e){r=e.beforeObserver,n=e.observer,i=e.item,y(t,function(e){f(i,e,o,r),p(i,e,o,n)})})})},createPropertyObserverContext:function(e,r,n){var i=new t(e,r,n);return this.createPropertyObserver(i),i},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.updateIndexes(e.trackedArray,e.dependentArray),t.itemPropertyWillChange(r,n,e.dependentArray,e.index)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e.index)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new Ember.TrackedArray(t)},addTransformation:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},removeTransformation:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(e,t){var r=u(t,"length");e.apply(function(e,t,n){n!==Ember.TrackedArray.DELETE&&(n!==Ember.TrackedArray.RETAIN||e.length!==r||0!==t)&&y(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(e,t,n){var i,o,s,a=this.callbacks.removedItem,u=c(e),h=this.dependentKeysByGuid[u],l=this.cp._itemPropertyKeys[h]||[];s=this.removeTransformation(h,t,n),y(e.slice(t,t+n),function(n,u){o=t+u,y(l,function(e){f(n,e,this,s[u].beforeObserver),p(n,e,this,s[u].observer)},this),i=r(e,n,o,this.instanceMeta.propertyName,this.cp),this.setValue(a.call(this.instanceMeta.context,this.getValue(),n,i,this.instanceMeta.sugarMeta))},this)},dependentArrayDidChange:function(e,t,n,i){var o,s,a=this.callbacks.addedItem,u=c(e),h=this.dependentKeysByGuid[u],f=new Array(i),p=this.cp._itemPropertyKeys[h];y(e.slice(t,t+i),function(n,i){p&&(s=f[i]=this.createPropertyObserverContext(e,t+i,this.trackedArraysByGuid[h]),y(p,function(e){l(n,e,this,s.beforeObserver),m(n,e,this,s.observer)},this)),o=r(e,n,t+i,this.instanceMeta.propertyName,this.cp),this.setValue(a.call(this.instanceMeta.context,this.getValue(),n,o,this.instanceMeta.sugarMeta))},this),this.addTransformation(h,t,f)},itemPropertyWillChange:function(e,t,r,n){var i=c(e)+":"+t;this.changedItems[i]||(this.changedItems[i]={array:r,index:n,obj:e,keyChanged:t,previousValue:u(e,t)})},itemPropertyDidChange:function(){Ember.run.once(this,"flushChanges")},flushChanges:function(){var e,t,n,i=this.changedItems;for(e in i)t=i[e],n=r(t.array,t.obj,t.index,this.instanceMeta.propertyName,this.cp,t.keyChanged,t.previousValue),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,n,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,n,this.instanceMeta.sugarMeta));this.changedItems={}}},o.prototype={getValue:function(){return this.propertyName in this.cache?this.cache[this.propertyName]:this.initialValue},setValue:function(e){void 0!==e?this.cache[this.propertyName]=e:delete this.cache[this.propertyName]}},Ember.ReduceComputedProperty=s,s.prototype=E(b.prototype),s.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||a,addedItem:e.addedItem||a}}return this.callbacks},s.prototype._hasInstanceMeta=function(e,t){var r=c(e),n=r+":"+t;return!!this._instanceMetas[n]},s.prototype._instanceMeta=function(t,r){var n=c(t),i=n+":"+r,s=this._instanceMetas[i];return s||(s=this._instanceMetas[i]=new o(t,r,this.initialValue()),s.dependentArraysObserver=new e(this._callbacks(),this,s,t,r,s.sugarMeta)),s},s.prototype.initialValue=function(){switch(typeof this.options.initialValue){case"undefined":throw new Error("reduce computed properties require an initial value: did you forget to pass one to Ember.reduceComputed?");case"function":return this.options.initialValue();default:return this.options.initialValue}},s.prototype.resetValue=function(){return this.initialValue()},s.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},s.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},s.prototype.property=function(){var e,t,r,n=this,i=(d.call(arguments),[]);return y(d.call(arguments),function(o){if(g.test(o))throw new Error("Nested @each properties not supported: "+o);(e=v.exec(o))?(t=e[1],r=e[2],n.itemPropertyKey(t,r),i.push(t)):i.push(o)}),b.prototype.property.apply(this,i)},Ember.reduceComputed=function(e){var t;if(arguments.length>1&&(t=d.call(arguments,0,-1),e=d.call(arguments,-1)[0]),"object"!=typeof e)throw new Error("Reduce Computed Property declared without an options hash");if(!e.initialValue)throw new Error("Reduce Computed Property declared without an initial value");var r=new s(e);return t&&r.property.apply(r,t),r}}(),function(){function e(){var e=this;return t.apply(this,arguments),this.func=function(t){return function(r){return e._hasInstanceMeta(this,r)||i(e._dependentKeys,function(t){Ember.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this.func),this}var t=Ember.ReduceComputedProperty,r=[].slice,n=Ember.create,i=Ember.EnumerableUtils.forEach;Ember.ArrayComputedProperty=e,e.prototype=n(t.prototype),e.prototype.initialValue=function(){return Ember.A()},e.prototype.resetValue=function(e){return e.clear(),e},Ember.arrayComputed=function(t){var n;if(arguments.length>1&&(n=r.call(arguments,0,-1),t=r.call(arguments,-1)[0]),"object"!=typeof t)throw new Error("Array Computed Property declared without an options hash");var i=new e(t);return n&&i.property.apply(i,n),i}}(),function(){function e(e,r,n,i){var o,s,a;return arguments.length<4&&(i=t(e,"length")),arguments.length<3&&(n=0),n===i?n:(o=n+Math.floor((i-n)/2),s=e.objectAt(o),a=this.order(s,r),0>a?this.binarySearch(e,r,o+1,i):a>0?this.binarySearch(e,r,n,o):o)}var t=Ember.get,r=(Ember.set,[].slice),n=Ember.EnumerableUtils.forEach,i=Ember.EnumerableUtils.map;Ember.computed.max=function(e){return Ember.reduceComputed.call(null,e,{initialValue:-1/0,addedItem:function(e,t){return Math.max(e,t)},removedItem:function(e,t){return e>t?e:void 0}})},Ember.computed.min=function(e){return Ember.reduceComputed.call(null,e,{initialValue:1/0,addedItem:function(e,t){return Math.min(e,t)},removedItem:function(e,t){return t>e?e:void 0}})},Ember.computed.map=function(e,t){var r={addedItem:function(e,r,n){var i=t(r);return e.insertAt(n.index,i),e},removedItem:function(e,t,r){return e.removeAt(r.index,1),e}};return Ember.arrayComputed(e,r)},Ember.computed.mapProperty=function(e,r){var n=function(e){return t(e,r)};return Ember.computed.map(e+".@each."+r,n)},Ember.computed.filter=function(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new Ember.SubArray},addedItem:function(e,r,n,i){var o=!!t(r),s=i.filteredArrayIndexes.addItem(n.index,o);o&&e.insertAt(s,r)},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);i>-1&&e.removeAt(i)}};return Ember.arrayComputed(e,r)},Ember.computed.filterProperty=function(e,r,n){var i;return i=2===arguments.length?function(e){return t(e,r)}:function(e){return t(e,r)===n},Ember.computed.filter(e+".@each."+r,i)},Ember.computed.uniq=function(){var e=r.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,n){var i=Ember.guidFor(t);return n.itemCounts[i]?++n.itemCounts[i]:n.itemCounts[i]=1,e.addObject(t),e},removedItem:function(e,t,r,n){var i=Ember.guidFor(t),o=n.itemCounts;return 0===--o[i]&&e.removeObject(t),e}}),Ember.arrayComputed.apply(null,e)},Ember.computed.union=Ember.computed.uniq,Ember.computed.intersect=function(){var e=function(e){return i(e.property._dependentKeys,function(e){return Ember.guidFor(e)})},t=r.call(arguments);return t.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(t,r,n,i){var o=Ember.guidFor(r),s=(e(n),Ember.guidFor(n.arrayChanged)),a=n.property._dependentKeys.length,u=i.itemCounts;return u[o]||(u[o]={}),void 0===u[o][s]&&(u[o][s]=0),1===++u[o][s]&&a===Ember.keys(u[o]).length&&t.addObject(r),t},removedItem:function(t,r,n,i){var o,s=Ember.guidFor(r),a=(e(n),Ember.guidFor(n.arrayChanged)),u=(n.property._dependentKeys.length,i.itemCounts);return void 0===u[s][a]&&(u[s][a]=0),0===--u[s][a]&&(delete u[s][a],o=Ember.keys(u[s]).length,0===o&&delete u[s],t.removeObject(r)),t}}),Ember.arrayComputed.apply(null,t)},Ember.computed.setDiff=function(e,r){if(2!==arguments.length)throw new Error("setDiff requires exactly two dependent arrays.");return Ember.arrayComputed.call(null,e,r,{addedItem:function(n,i,o){var s=t(this,e),a=t(this,r);return o.arrayChanged===s?a.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,o){var s=t(this,e),a=t(this,r);return o.arrayChanged===a?s.contains(i)&&n.addObject(i):n.removeObject(i),n}})},Ember.computed.sort=function(r,i){var o,s;return"function"==typeof i?o=function(t,r,n){n.order=i,n.binarySearch=e}:(s=i,o=function(i,o,a){function u(){var e,i,u,h=t(this,s),l=a.sortProperties=[],f=a.sortPropertyAscending={};o.property.clearItemPropertyKeys(r),n(h,function(t){-1!==(i=t.indexOf(":"))?(e=t.substring(0,i),u="desc"!==t.substring(i+1).toLowerCase()):(e=t,u=!0),l.push(e),f[e]=u,o.property.itemPropertyKey(r,e)}),h.addObserver("@each",this,c)}function c(){Ember.run.once(this,h,o.propertyName)}function h(e){u.call(this),o.property.recomputeOnce.call(this,e)}Ember.addObserver(this,s,c),u.call(this),a.order=function(e,r){for(var n,i,o,s=0;s<this.sortProperties.length;++s)if(n=this.sortProperties[s],i=Ember.compare(t(e,n),t(r,n)),0!==i)return o=this.sortPropertyAscending[n],o?i:-1*i;return 0},a.binarySearch=e}),Ember.arrayComputed.call(null,r,{initialize:o,addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,t,r,n){var i,o,s;return r.keyChanged?(i={content:t},i[r.keyChanged]=r.previousValue,s=Ember.ObjectProxy.create(i)):s=t,o=n.binarySearch(e,s),e.removeAt(o),e}})}}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,o=Ember.String.dasherize,s=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return o(this)},String.prototype.underscore=function(){return s(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this},Function.prototype.on=function(){var t=e.call(arguments);return this.__ember_listens__=t,this})}(),function(){Ember.Comparable=Ember.Mixin.create({compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set,r=Array.prototype.slice,n=Ember.getProperties;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){return n.apply(null,[this].concat(r.call(arguments)))},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var o;return o=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),o!==!1&&(o=!0),o}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===o?e(s):e(t)}var i,o,s;return s=this,i=r(this,"_deferred"),o=i.promise,o.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){var e=Ember.get;Ember.ActionHandler=Ember.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){e.actions&&!e._actions&&(e._actions=Ember.merge(e._actions||{},e.actions),delete e.actions)},send:function(t){var r,n=[].slice.call(arguments,1);if(this._actions&&this._actions[t]){if(this._actions[t].apply(this,n)!==!0)return}else if(this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(t)&&this.deprecatedSend.apply(this,[].slice.call(arguments))!==!0)return;(r=e(this,"target"))&&r.send.apply(r,arguments)}})}(),function(){function e(e,t,r){this.operation=e,this.count=t,this.items=r}function t(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var r=Ember.get,n=Ember.EnumerableUtils.forEach,i="r",o="i",s="d";Ember.TrackedArray=function(t){arguments.length<1&&(t=[]);var n=r(t,"length");this._content=n?[new e(i,n,t)]:[]},Ember.TrackedArray.RETAIN=i,Ember.TrackedArray.INSERT=o,Ember.TrackedArray.DELETE=s,Ember.TrackedArray.prototype={addItems:function(t,n){var i,s,a=r(n,"length"),u=this._findArrayOperation(t),c=u.operation,h=u.index,l=u.rangeStart;s=new e(o,a,n),c?u.split?(this._split(h,t-l,s),i=h+1):(this._content.splice(h,0,s),i=h):(this._content.push(s),i=h),this._composeInsert(i)},removeItems:function(t,r){var n,i,o=this._findArrayOperation(t),a=(o.operation,o.index),u=o.rangeStart;return n=new e(s,r),o.split?(this._split(a,t-u,n),i=a+1):(this._content.splice(a,0,n),i=a),this._composeDelete(i)},apply:function(t){var r=[],o=0;n(this._content,function(e){t(e.items,o,e.operation),e.operation!==s&&(o+=e.count,r=r.concat(e.items))}),this._content=[new e(i,r.length,r)]},_findArrayOperation:function(e){var r,n,i,o,a,u=!1;for(r=o=0,n=this._content.length;n>r;++r)if(i=this._content[r],i.operation!==s){if(a=o+i.count-1,e===o)break;if(e>o&&a>=e){u=!0;break}o=a+1}return new t(i,r,u,o)},_split:function(t,r,n){var i=this._content[t],o=i.items.slice(r),s=new e(i.operation,o.length,o);i.count=r,i.items=i.items.slice(0,r),this._content.splice(t+1,0,n,s)},_composeInsert:function(e){var t=this._content[e],r=this._content[e-1],n=this._content[e+1],i=r&&r.operation,s=n&&n.operation;i===o?(r.count+=t.count,r.items=r.items.concat(t.items),s===o?(r.count+=n.count,r.items=r.items.concat(n.items),this._content.splice(e,2)):this._content.splice(e,1)):s===o&&(t.count+=n.count,t.items=t.items.concat(n.items),this._content.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._content[e],a=i.count,u=this._content[e-1],c=u&&u.operation,h=[];c===s&&(i=u,e-=1);for(var l=e+1;a>0;++l)t=this._content[l],r=t.operation,n=t.count,r!==s?(n>a?(h=h.concat(t.items.splice(0,a)),t.count-=a,l-=1,n=a,a=0):(h=h.concat(t.items),a-=n),r===o&&(i.count-=n)):i.count+=n;return i.count>0?this._content.splice(e+1,l-1-e):this._content.splice(e,1),h}}}(),function(){function e(e,t){this.type=e,this.count=t}var t=(Ember.get,Ember.EnumerableUtils.forEach,"r"),r="f";Ember.SubArray=function(r){arguments.length<1&&(r=0),this._operations=r>0?[new e(t,r)]:[]},Ember.SubArray.prototype={addItem:function(n,i){var o=-1,s=i?t:r,a=this;return this._findOperation(n,function(r,u,c,h,l){var f,m;s===r.type?++r.count:n===c?a._operations.splice(u,0,new e(s,1)):(f=new e(s,1),m=new e(r.type,h-n+1),r.count=n-c,a._operations.splice(u+1,0,f,m)),i&&(o=r.type===t?l+(n-c):l),a._composeAt(u)},function(t){a._operations.push(new e(s,1)),i&&(o=t),a._composeAt(a._operations.length-1)}),o},removeItem:function(e){var r=-1,n=this;return this._findOperation(e,function(i,o,s,a,u){i.type===t&&(r=u+(e-s)),i.count>1?--i.count:(n._operations.splice(o,1),n._composeAt(o))}),r},_findOperation:function(e,r,n){var i,o,s,a,u,c=0;for(i=a=0,o=this._operations.length;o>i;a=u+1,++i){if(s=this._operations[i],u=a+s.count-1,e>=a&&u>=e)return r(s,i,a,u,c),void 0;s.type===t&&(c+=s.count)}n(c)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1))),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))}}}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this),l=u.proto;if(u.proto=this,e){var f=e;e=null,this.reopen.apply(this,f)}if(t){var m=t;t=null;for(var p=this.concatenatedProperties,d=0,g=m.length;g>d;d++){var _=m[d];for(var O in _)if(_.hasOwnProperty(O)){var C=_[O],w=Ember.IS_BINDING;if(w.test(O)){var A=u.bindings;A?u.hasOwnProperty("bindings")||(A=u.bindings=r(u.bindings)):A=u.bindings={},A[O]=C}var P=u.descs[O];if(p&&y(p,O)>=0){var j=this[O];C=j?"function"==typeof j.concat?j.concat(C):Ember.makeArray(j).concat(C):Ember.makeArray(C)}P?P.set(this,O,C):"function"!=typeof this.setUnknownProperty||O in this?E?Ember.defineProperty(this,O,null,C):this[O]=C:this.setUnknownProperty(O,C)}}}b(this,u),this.init.apply(this,arguments),u.proto=l,c(this),h(this,"init")};return s.toString=m.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=m.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=e},s.proto=function(){var e=s.superclass;return e&&e.proto(),o||(o=!0,s.PrototypeMixin.applyPartial(s.prototype),u(s.prototype)),this.prototype},s}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,o=Ember.guidFor,s=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,h=Ember.sendEvent,l=Ember.destroy,f=Ember.run.schedule,m=Ember.Mixin,p=m._apply,b=m.finishPartial,d=m.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,y=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return p(this,arguments,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,f("actions",this,this.willDestroy),f("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var _=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),p(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});_.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(_),g.ClassMixin=_,_.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];
|
18
|
-
if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else if(this._toString)e=this._toString;else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,o=u.NAMESPACES,s=0,a=o.length;a>s;s++)i=o[s],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function o(e){return function(){return e}}var s=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=s(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,h={}.hasOwnProperty,l=Ember.guidFor,f=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),o=n;n+i>o;o++)u.push(s.indexOf(a.objectAt(o)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),o=Ember.addObserver,s=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,o;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(o in i)!i.hasOwnProperty(o)||o in t||(e||(e={}),e[o]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,o){var s=r._objects;s||(s=r._objects={});for(var a,u;--o>=i;){var c=e.objectAt(o);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=s[u],a[a.indexOf(o)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),s=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new o(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s=this._keys;o=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in s)s.hasOwnProperty(n)&&(o>0&&e(t,n,this,r,o),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){s.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){s.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils._replace),r=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(r,n,i){if(this.isFrozen)throw Ember.FROZEN_ERROR;var o=i?e(i,"length"):0;return this.arrayContentWillChange(r,n,o),i&&0!==i.length?t(this,r,n,i):this.splice(r,n),this.arrayContentDidChange(r,n,o),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),n=["length"];Ember.EnumerableUtils.forEach(r.keys(),function(e){Array.prototype[e]&&n.push(e)}),n.length>0&&(r=r.without.apply(r,n)),Ember.NativeArray=r,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){r.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var o=0;n>o;o++)i=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(i),a=this[s],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(o=[i],this.enumerableContentWillChange(null,o),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(i),u=this[a],c=e(this,"length"),h=0===u,l=u===c-1;return u>=0&&c>u&&this[u]===i&&(s=[i],this.enumerableContentWillChange(s,null),h&&Ember.propertyWillChange(this,"firstObject"),l&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(o=this[c-1],this[u]=o,this[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){Ember.get,Ember.ControllerMixin=Ember.Mixin.create(Ember.ActionHandler,{isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),deprecatedSendHandles:function(e){return!!this[e]},deprecatedSend:function(e){var t=[].slice.call(arguments,1);this[e].apply(this,t)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,i,o)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,o){var s=e(this,"_subControllers"),a=s.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i,o=e(this,"container"),s=e(this,"_subControllers"),a=s[t];if(a)return a;if(i="controller:"+n,!o.has(i))throw new Error('Could not resolve itemController: "'+n+'"');return a=o.lookupFactory(i).create({target:this,parentController:e(this,"parentController")||this,content:r}),s[t]=a,a},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
15
|
+
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,o,s,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");o=i.deps,s=i.callback,a=[];for(var c=0,h=o.length;h>c;c++)"exports"===o[c]?a.push(u={}):a.push(t(o[c]));var l=s.apply(this,a);return n[e]=u||l}}(),function(){function e(e){var t;r.console?t=r.console:"undefined"!=typeof console&&(t=console);var n="object"==typeof t?t[e]:null;return n?n.apply?function(){n.apply(t,arguments)}:function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0","undefined"==typeof ENV&&(n.ENV={}),"undefined"==typeof ENV.DISABLE_RANGE_API&&(ENV.DISABLE_RANGE_API=!0),Ember.ENV=Ember.ENV||ENV,Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,o=0,s=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f={descs:{},watching:{}};u&&(f.values={}),Ember.EMPTY_META=f,Object.freeze&&Object.freeze(f);var m=Ember.platform.defineProperty.isSimulated;m&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var o=t[l];return i===!1?o||f:(o?o.source!==t&&(m||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(m||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n.__ember_listens__=e.__ember_listens__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var b={},d="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(d,function(e){b["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):b[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,o,s){function a(){for(p=0,b=f.length;b>p;p++)m=f[p],d[p]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,b=f.length;b>p;p++)m=f[p],m.after(e,n(),i,d[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,p,b,d=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.split("."),s=[],a=0,u=o.length;u>a;a++)i=o[a],"*"===i?s.push("[^\\.]*"):s.push(i);s=s.join("\\."),s+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf,n=Array.prototype.splice;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},_replace:function(e,t,r,i){for(var o,s,a=[].concat(i),u=[],c=6e4,h=t,l=r;a.length;)s=l>c?c:l,0>=s&&(s=0),o=a.splice(0,c),o=[h,s].concat(o),h+=c,l-=s,u=u.concat(n.apply(e,o));return u},replace:function(e,t,r,n){return e.replace?e.replace(t,r,n):i._replace(e,t,r,n)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i+=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-3;s>=0;s-=3){var a=o[s],u=o[s+1],c=o[s+2],h=e(n,a,u);-1===h&&n.push(a,u,c)}}function n(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-3;a>=0;a-=3){var u=o[a],c=o[a+1],h=o[a+2],l=e(n,u,c);-1===l&&(n.push(u,c,h),s.push(u,c,h))}return s}}function i(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=d),-1===u&&(a.push(i,o,c),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,3),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-3;c>=0;c-=3)s(u[c],u[c+1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){-1!==h&&(c[h+2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c=t(r,n),h=e(c,i,o);return-1!==h&&(c[h+2]|=E),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(var e=0,t=m.length;t>e;e++){var r=m[e];h[r+2]&=~E}}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m=[];for(l=0,f=n.length;f>l;l++){c=n[l],h=t(r,c);var p=e(h,i,o);-1!==p&&(h[p+2]|=E,m.push(p))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-3;s>=0;s-=3){var a=n[s],u=n[s+1],c=n[s+2];u&&(c&E||(c&d&&o(e,t,a,u),a||(a=e),"string"==typeof u&&(u=a[u]),r?u.apply(a,r):u.call(a)))}return!0}}function h(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o+=3){var a=i[o],u=i[o+1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,p=Ember.META_KEY,b=[].slice,d=1,E=2;Ember.on=function(){var e=b.call(arguments,-1)[0],t=b.call(arguments,0,-1);return e.__ember_listens__=t,e},Ember.addListener=i,Ember.removeListener=o,Ember._suspendListener=s,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=h,Ember.watchedEvents=u,Ember.listenersFor=l,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t){var n=l(e,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];i&&s!==e&&(a&&a.willChange&&a.willChange(e,t),r(e,t,n),o(e,t,n),c(e,t))}function t(e,t){var r=l(e,!1),i=r.watching[t]>0||"length"===t,o=r.proto,a=r.descs[t];o!==e&&(a&&a.didChange&&a.didChange(e,t),(i||"length"===t)&&(n(e,t,r),s(e,t,r,!1),h(e,t)))}function r(t,r,n){if(!t.isDestroying){var o=_,s=!o;s&&(o=_={}),i(e,t,r,o,n),s&&(_=null)}}function n(e,r,n){if(!e.isDestroying){var o=O,s=!o;s&&(o=O={}),i(t,e,r,o,n),s&&(O=null)}}function i(e,t,r,n,i){var o=f(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var s=i.deps;if(s=s&&s[r])for(var a in s){var u=i.descs[a];u&&u._suspended===t||e(t,a)}}}function o(t,r,n){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var i,o,s=n.chainWatchers[r],a=[];for(i=0,o=s.length;o>i;i++)s[i].willChange(a);for(i=0,o=a.length;o>i;i+=2)e(a[i],a[i+1])}}function s(e,r,n,i){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var o,s,a=n.chainWatchers[r],u=i?null:[];for(o=0,s=a.length;s>o;o++)a[o].didChange(u);if(!i)for(o=0,s=u.length;s>o;o+=2)t(u[o],u[o+1])}}function a(){g++}function u(){g--,0>=g&&(y.clear(),v.flush())}function c(e,t){if(!e.isDestroying){var r,n,i=t+":before";g?(r=y.add(e,t,i),n=d(e,i,r),p(e,i,[e,t],n)):p(e,i,[e,t])}}function h(e,t){if(!e.isDestroying){var r,n=t+":change";g?(r=v.add(e,t,n),b(e,n,r)):p(e,n,[e,t])}}var l=Ember.meta,f=Ember.guidFor,m=Ember.tryFinally,p=Ember.sendEvent,b=Ember.listenersUnion,d=Ember.listenersDiff,E=Ember._ObserverSet,y=new E,v=new E,g=0;Ember.propertyWillChange=e,Ember.propertyDidChange=t;var _,O;Ember.overrideChains=function(e,t,r){s(e,t,r,!0)},Ember.beginPropertyChanges=a,Ember.endPropertyChanges=u,Ember.changeProperties=function(e,t){a(),m(e,u,t)}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Error("You passed an empty path");if(!e){if(o)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,o,s){if("string"==typeof n&&(o=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,o,s);var a,u,c=n[t],h=c&&c.descs[i];return h?h.set(n,i,o):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,o):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=o:Ember.defineProperty(n,i,null,o):n[i]=o,Ember.propertyDidChange(n,i))):n[i]=o),o};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=t(e)),h=c.descs,l=c.descs[s],f=c.watching[s]>0,l instanceof Ember.Descriptor&&l.teardown(e,s),a instanceof Ember.Descriptor?(m=a,h[s]=a,n&&f?r(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,r(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,r(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.get;Ember.getProperties=function(t){var r={},n=arguments,i=1;2===arguments.length&&"array"===Ember.typeOf(arguments[1])&&(i=0,n=arguments[1]);for(var o=n.length;o>i;i++)r[n[i]]=e(t,n[i]);return r}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s=e(i),a=s.watching;a[o]?a[o]=(a[o]||0)+1:(a[o]=1,"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(s.values[o]=i[o],n(i,o,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o=e(t),s=o.watching;1===s[i]?(s[i]=0,"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):s[i]>1&&s[i]--}}(),function(){function e(e){return e.match(h)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e,t){if(!e)return void 0;var r=n(e,!1);if(r.proto===e)return void 0;if("@each"===t)return i(e,t);var o=r.descs[t];return o&&o._cacheable?t in r.cache?r.cache[t]:void 0:i(e,t)}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=/^([^\.\*]+)/,l=[];Ember.flushPendingChains=function(){if(0!==l.length){var e=l;l=[],s.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===l.length)}};var f=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},m=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},p=m.prototype;p.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=r(e,this._key)}return this._value},p.destroy=function(){if(this._watching){var e=this._object;e&&f(e,this._key,this),this._watching=!1}},p.copy=function(e){var t,r=new m(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},p.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return l.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},p.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},p.count=0,p.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new m(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},p.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},p.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},p.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(f(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(null))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,o=Ember.watchKey,s=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,h=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=m(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,p(n,c)}function n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,b(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=c(e,t[n]);return r}function a(e,t){Ember.computed[e]=function(e){var r=f.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function u(e,t){Ember.computed[e]=function(){var e=f.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var c=Ember.get,h=Ember.set,l=Ember.meta,f=[].slice,m=Ember.create,p=(Ember.META_KEY,Ember.watch),b=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var d=i.prototype;d.cacheable=function(e){return this._cacheable=e!==!1,this},d.volatile=function(){return this.cacheable(!1)},d.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},d.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},d.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},d.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],n(this,e,t,r))}},d.get=function(e,t){var n,i,s,a;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),a=s.chainWatchers&&s.chainWatchers[t],a&&o(a),r(this,e,t,s)}else n=this.func.call(e,t);return n},d.set=function(e,t,n){var i,o,s,a=this._cacheable,u=this.func,c=l(e,a),h=c.watching[t],f=this._suspended,m=!1,p=c.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(o=p[t],m=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)s=u.call(e,t,n,o);else{if(2!==i)return Ember.defineProperty(e,t,null,o),Ember.set(e,t,n),void 0;s=u.call(e,t,n)}if(m&&o===s)return;h&&Ember.propertyWillChange(e,t),m&&delete p[t],a&&(m||r(this,e,t,c),p[t]=s),h&&Ember.propertyDidChange(e,t)}finally{this._suspended=f}return s},d.teardown=function(e,t){var r=l(e);return t in r.cache&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=f.call(arguments,0,-1),e=f.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=l(e,!1).cache;return r&&t in r?r[t]:void 0},a("empty",function(e){return Ember.isEmpty(c(this,e))}),a("notEmpty",function(e){return!Ember.isEmpty(c(this,e))}),a("none",function(e){return Ember.isNone(c(this,e))}),a("not",function(e){return!c(this,e)}),a("bool",function(e){return!!c(this,e)}),a("match",function(e,t){var r=c(this,e);return"string"==typeof r?!!r.match(t):!1}),a("equal",function(e,t){return c(this,e)===t}),a("gt",function(e,t){return c(this,e)>t}),a("gte",function(e,t){return c(this,e)>=t}),a("lt",function(e,t){return c(this,e)<t}),a("lte",function(e,t){return c(this,e)<=t}),u("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),u("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),u("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),u("collect",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(h(this,e,r),r):c(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return c(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:c(this,e):null!=r?r:c(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};
|
16
|
+
return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,p=m&&m.before,b=m&&m.after,d=0,E=r.length;for(E&&p&&p();E>d;)c=r[d],h=r[d+1],l=r[d+2],f=r[d+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),d+=4;t._queueBeingFlushed=null,E&&b&&b(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),s=b.setTimeout(function(){s=null,e.end()})}function i(e){var t,r,n,o,s=+new Date;e.run(function(){for(n=0,o=p.length;o>n&&(t=p[n],!(t>s));n+=2);for(r=p.splice(0,n),n=1,o=r.length;o>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),p.length&&(a=b.setTimeout(function(){i(e),a=null,u=null},p[0]-s),u=p[0])}function o(e,t){for(var r,n=-1,i=0,o=m.length;o>i;i++)if(r=m[i],r[0]===e&&r[1]===t){n=i;break}return n}var s,a,u,c=e.DeferredActionQueues,h=[].slice,l=[].pop,f=[],m=[],p=[],b=this;r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new c(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,h.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!0,i)},setTimeout:function(){var e=this,t=l.call(arguments),r=arguments[0],n=arguments[1],o=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var s,c;arguments.length>2?(c=h.call(arguments,2),s=function(){n.apply(r,c)}):s=function(){n.call(r)};var f,m;for(f=0,m=p.length;m>f&&!(o<p[f]);f+=2);return p.splice(f,0,o,s),a&&o>u?s:(a&&(clearTimeout(a),a=null),a=b.setTimeout(function(){i(e),a=null,u=null},t),u=o,s)},throttle:function(e,t){for(var r,n=this,i=arguments,o=l.call(i),s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t)return;var u=b.setTimeout(function(){n.run.apply(n,i);for(var o=-1,s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t){o=s;break}o>-1&&f.splice(o,1)},o);f.push([e,t,u])},debounce:function(e,t){var r,n,i,s=this,a=arguments,u=l.call(a);"number"==typeof u?(r=u,u=!1):r=l.call(a),n=o(e,t),-1!==n&&(i=m[n],m.splice(n,1),clearTimeout(i[2]));var c=b.setTimeout(function(){u||s.run.apply(s,a),n=o(e,t),n&&m.splice(n,1)},r);u&&-1===n&&s.run.apply(s,a),m.push([e,t,c])},cancelTimers:function(){var e,t;for(e=0,t=f.length;t>e;e++)clearTimeout(f[e][2]);for(f=[],e=0,t=m.length;t>e;e++)clearTimeout(m[e][2]);m=[],a&&(clearTimeout(a),a=null),p=[],s&&(clearTimeout(s),s=null)},hasTimers:function(){return!!p.length||s},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=p.length;r>t;t+=2)if(p[t+1]===e)return p.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=o,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)},Ember.run.throttle=function(){return o.throttle.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,o=Ember.isGlobalPath=function(e){return i.test(e)},s=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};s.prototype={copy:function(){var e=new s(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=j(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=C.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?D:(e[r]=t,t.properties)):t}function i(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=j(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i){var o=i[t]||e[t];if(!o)return n;var a=Ember.merge({},o);for(var u in n)if(n.hasOwnProperty(u)){var c=n[u];a[u]=r(c)?s(e,u,c,o,{}):c}return a}function c(e,t,n,i,c,h,l,f){if(n instanceof Ember.Descriptor){if(n===_&&c[t])return D;n.func&&(n=o(i,t,n,h,c)),c[t]=n,h[t]=void 0}else r(n)?n=s(e,t,n,h,c):l&&w.call(l,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?n=a(e,t,n,h):f&&w.call(f,t)>=0&&(n=u(e,t,n,h)),c[t]=void 0,h[t]=n}function h(e,t,r,o,s,a){function u(e){delete r[e],delete o[e]}for(var l,f,m,p,b,d,E=0,y=e.length;y>E;E++)if(l=e[E],f=n(t,l),f!==D)if(f){d=Ember.meta(s),s.willMergeMixin&&s.willMergeMixin(f),p=i("concatenatedProperties",f,o,s),b=i("mergedProperties",f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),c(s,m,f[m],d,r,o,p,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(h(l.mixins,t,r,o,s,a),l._without&&A.call(l._without,u))}function l(e,t,r,n){if(T.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=j(n.bindings)):i=n.bindings={},i[t]=r}}function f(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return f(e,t||Ember.meta(e)),e}function p(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}function d(e,t,r){var n=e[t];"function"==typeof n&&(b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,n,"__ember_listens__","removeListener")),"function"==typeof r&&(b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver"),b(e,t,r,"__ember_listens__","addListener"))}function E(t,r,n){var i,o,s,a={},u={},c=Ember.meta(t),f=[];h(r,e(t),a,u,t,f);for(var b=0,E=f.length;E>b;b++)if(i=f[b],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==_)){for(;s&&s instanceof O;){var y=p(t,s,c,a,u);s=y.desc,o=y.value}(void 0!==s||void 0!==o)&&(d(t,i,o),l(t,i,o,c),S(t,i,s,o,c))}return n||m(t,c),t}function y(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(y(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&A.call(t.mixins,function(t){v(e,t,r)})}var g,_,O,C=Ember.ArrayPolyfills.map,w=Ember.ArrayPolyfills.indexOf,A=Ember.ArrayPolyfills.forEach,P=[].slice,j=Ember.create,S=Ember.defineProperty,x=Ember.guidFor,D={},T=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=P.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=P.call(arguments,1);return E(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var I=g.prototype;I.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},I.apply=function(e){return E(e,[this],!1)},I.applyPartial=function(e){return E(e,[this],!0)},I.detect=function(e){if(!e)return!1;if(e instanceof g)return y(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},I.without=function(){var e=new g(this);return e._without=P.call(arguments),e},I.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},_=new Ember.Descriptor,_.toString=function(){return"(Required Property)"},Ember.required=function(){return _},O=function(e){this.methodName=e},O.prototype=new Ember.Descriptor,Ember.alias=function(e){return new O(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new O(e)},Ember.observer=function(e){var t=P.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=P.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("You must pass an array to all.");return new n(function(t,r){function n(e){return function(t){i(e,t)}}function i(e,r){s[e]=r,0===--a&&t(s)}var o,s=[],a=e.length;0===a&&t([]);for(var u=0;u<e.length;u++)o=e[u],o&&"function"==typeof o.then?o.then(n(u),r):i(u,o)})}var n=e.Promise;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";function t(){return function(e,t){process.nextTick(function(){e(t)})}}function r(){return function(e,t){setImmediate(function(){e(t)})}}function n(){var e=[],t=new a(function(){var t=e.slice();e=[],t.forEach(function(e){var t=e[0],r=e[1];t(r)})}),r=document.createElement("div");return t.observe(r,{attributes:!0}),window.addEventListener("unload",function(){t.disconnect(),t=null},!1),function(t,n){e.push([t,n]),r.setAttribute("drainQueue","drainQueue")}}function i(){return function(e,t){u.setTimeout(function(){e(t)},1)}}var o,s="undefined"!=typeof window?window:{},a=s.MutationObserver||s.WebKitMutationObserver,u="undefined"!=typeof global?global:this;o="function"==typeof setImmediate?r():"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():a?n():i(),e.async=o}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={resolve:void 0,reject:void 0,promise:void 0};return e.promise=new n(function(t,r){e.resolve=t,e.reject=r}),e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var o,s,a=n(this);for(e=e.split(/\s+/),i=i||this;s=e.shift();)o=a[s],o||(o=a[s]=[]),-1===r(o,t)&&o.push([t,i])},off:function(e,t){var i,o,s,a=n(this);for(e=e.split(/\s+/);o=e.shift();)t?(i=a[o],s=r(i,t),-1!==s&&i.splice(s,1)):a[o]=[]},trigger:function(e,r){var i,o,s,a,u,c=n(this);if(i=c[e])for(var h=0;h<i.length;h++)o=i[h],s=o[0],a=o[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),s.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),o=r(e);0===o&&n.resolve({});var s=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--o&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(s(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=this,u=new o(function(e,n){t=e,r=n});return s(i).then(function(i){i.push(n(t,r));try{e.apply(a,i)}catch(o){r(o)}}),u}}var o=e.Promise,s=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function o(e){h.onerror&&h.onerror(e.detail)}function s(e,t){e===t?u(e,t):a(e,t)||u(e,t)}function a(e,t){var r,o=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(n(t)&&(o=t.then,i(o)))return o.call(t,function(n){return r?!0:(r=!0,t!==n?s(e,n):u(e,n),void 0)},function(t){return r?!0:(r=!0,c(e,t),void 0)}),!0}catch(a){return c(e,a),!0}return!1}function u(e,t){h.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function c(e,t){h.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var h=e.config,l=t.EventTarget,f=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof f))return new f(e);var n=function(e){r||(r=!0,s(t,e))},i=function(e){r||(r=!0,c(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),this.on("error",o);try{e(n,i)}catch(a){i(a)}},m=function(e,t,r,n){var o,u,h,l,f=i(r);if(f)try{o=r(n.detail),h=!0}catch(m){l=!0,u=m}else o=n.detail,h=!0;a(t,o)||(f&&h?s(t,o):l?c(t,u):"resolve"===e?s(t,o):"reject"===e&&c(t,o))};f.prototype={constructor:f,isRejected:void 0,isFulfilled:void 0,rejectedReason:void 0,fulfillmentValue:void 0,then:function(e,t){this.off("error",o);var r=new this.constructor(function(){});return this.isFulfilled&&h.async(function(t){m("resolve",r,e,{detail:t.fulfillmentValue})},this),this.isRejected&&h.async(function(e){m("reject",r,t,{detail:e.rejectedReason})},this),this.on("promise:resolved",function(t){m("resolve",r,e,t)}),this.on("promise:failed",function(e){m("reject",r,t,e)}),r},fail:function(e){return this.then(null,e)}},l.mixin(f.prototype),r.Promise=f}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t){t(e)})}var n=e.Promise;t.resolve=r}),e("rsvp/rethrow",["exports"],function(e){"use strict";function t(e){throw r.setTimeout(function(){throw e}),e}var r="undefined"==typeof global?this:global;e.rethrow=t}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/rethrow","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,o,s,a,u,c,h){"use strict";function l(e,t){v[e]=t}var f=e.EventTarget,m=t.Promise,p=r.denodeify,b=n.all,d=i.hash,E=o.rethrow,y=s.defer,v=a.config,g=u.resolve,_=c.reject;h.Promise=m,h.EventTarget=f,h.all=b,h.hash=d,h.rethrow=E,h.defer=y,h.denodeify=p,h.configure=l,h.resolve=g,h.reject=_})}(),function(){Ember.MODEL_FACTORY_INJECTIONS=!1||!!Ember.ENV.MODEL_FACTORY_INJECTIONS,e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.factoryCache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this.factoryTypeInjections=new e(t&&t.factoryTypeInjections),this.factoryInjections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=o(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,o=0,s=t.length;s>o;o++){if(n=t[o],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function o(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function s(e,t){var r,n=e.normalize(t),i=e.resolve(n),o=e.factoryCache,s=t.split(":")[0];if(i){if(o.has(t))return o.get(t);if("function"!=typeof i.extend||!Ember.MODEL_FACTORY_INJECTIONS&&"model"===s)return i;var c=a(e,t),h=u(e,t);return h._toString=e.makeToString(i,t),r=i.extend(c),r.reopenClass(h),o.set(t,r),r}}function a(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.typeInjections.get(n)||[]),o=o.concat(e.injections[t]||[]),o=i(e,o),o._debugContainerKey=t,o.container=e,o}function u(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.factoryTypeInjections.get(n)||[]),o=o.concat(e.factoryInjections[t]||[]),o=i(e,o),o._debugContainerKey=t,o}function c(e,t){var r=s(e,t);return o(e,t,"instantiate")===!1?r:r?"function"==typeof r.extend?r.create():r.create(a(e,t)):void 0}function h(e,t){e.cache.eachLocal(function(r,n){o(e,r,"instantiate")!==!1&&t(n)})}function l(e){e.cache.eachLocal(function(t,r){o(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}function f(e,t,r,n){var i=e.get(t);i||(i=[],e.set(t,i)),i.push({property:r,fullName:n})}function m(e,t,r,n){var i=e[t]=e[t]||[];i.push({property:r,fullName:n})}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var o=this.normalize(i);this.registry.set(o,r),this._options.set(o,n||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this.factoryCache.remove(t),this._options.remove(t)},resolve:function(e){return this.resolver(e)||this.registry.get(e)},describe:function(e){return e},normalize:function(e){return e},makeToString:function(e){return e.toString()},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=c(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return s(this,e)},has:function(e){return this.cache.has(e)?!0:!!s(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection"),f(this.typeInjections,e,t,n)},injection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.typeInjection(e,t,n):(m(this.injections,e,t,n),void 0)},factoryTypeInjection:function(e,t,n){this.parent&&r("factoryTypeInjection"),f(this.factoryTypeInjections,e,t,n)},factoryInjection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.factoryTypeInjection(e,t,n):(m(this.factoryInjections,e,t,n),void 0)},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],h(this,function(e){e.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)l(this.children[e]);l(this)}},t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&o.detect(t.constructor))return 1-t.constructor.compare(t,e)}var s=Ember.ORDER_DEFINITION_MAPPING;if(!s){var a=Ember.ORDER_DEFINITION;s=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)s[a[u]]=u;delete Ember.ORDER_DEFINITION}var h=s[r],l=s[i];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,p=t.length,b=Math.min(m,p),d=0,E=0;0===d&&b>E;)d=n(e[E],t[E]),E++;return 0!==d?d:p>m?-1:m>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var y=e.getTime(),v=t.getTime();return v>y?-1:y>v?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}return"{"+n.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,o=e(),s=0,a=null;do a=i,i=this.nextObject(s++,a,o);while(void 0!==i);return t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var o=n(this,"length"),s=null,a=e();void 0===i&&(i=null);for(var u=0;o>u;u++){var c=this.nextObject(u,s,a);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapBy(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapBy:function(e){return this.map(function(t){return n(t,e)})},mapProperty:Ember.aliasMethod("mapBy"),filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterBy:function(){return this.filter(r.apply(this,arguments))},filterProperty:Ember.aliasMethod("filterBy"),rejectBy:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},rejectProperty:Ember.aliasMethod("rejectBy"),find:function(r,i){var o=n(this,"length");void 0===i&&(i=null);for(var s,a,u=null,c=!1,h=e(),l=0;o>l&&!c;l++)s=this.nextObject(l,u,h),(c=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findBy:function(){return this.find(r.apply(this,arguments))},findProperty:Ember.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:function(){return this.every(r.apply(this,arguments))},everyProperty:Ember.aliasMethod("everyBy"),any:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},some:Ember.aliasMethod("any"),anyBy:function(){return this.any(r.apply(this,arguments))},someProperty:Ember.aliasMethod("anyBy"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):o.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),o&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this
|
17
|
+
}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),h=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==h&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){function e(e,t,r){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.changedItems={}}function t(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null}function r(e,t,r,n,i,o){var s={arrayChanged:e,index:r,item:t,propertyName:n,property:i};return o&&(s.previousValues=o),s}function n(e,t,n,i,o){y(e,function(s,a){o.setValue(t.addedItem.call(this,o.getValue(),s,r(e,s,a,i,n),o.sugarMeta))},this)}function i(e,t){var r;e._callbacks(),e._hasInstanceMeta(this,t)?(r=e._instanceMeta(this,t),r.setValue(e.resetValue(r.getValue()))):r=e._instanceMeta(this,t),e.options.initialize&&e.options.initialize.call(this,r.getValue(),{property:e,propertyName:t},r.sugarMeta)}function o(e,t,r){this.context=e,this.propertyName=t,this.cache=h(e).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function s(e){var t=this;this.options=e,this._instanceMetas={},this._dependentKeys=null,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.cacheable(),this.recomputeOnce=function(e){Ember.run.once(this,r,e)};var r=function(e){var r=(t._dependentKeys,t._instanceMeta(this,e)),o=t._callbacks();i.call(this,t,e),y(t._dependentKeys,function(e){var n=u(this,e),i=r.dependentArrays[e];n===i?t._previousItemPropertyKeys[e]&&(delete t._previousItemPropertyKeys[e],r.dependentArraysObserver.setupPropertyObservers(e,t._itemPropertyKeys[e])):(r.dependentArrays[e]=n,i&&r.dependentArraysObserver.teardownObservers(i,e),n&&r.dependentArraysObserver.setupObservers(n,e))},this),y(t._dependentKeys,function(i){var s=u(this,i);s&&n.call(this,s,o,t,e,r)},this)};this.func=function(e){return r.call(this,e),t._instanceMeta(this,e).getValue()}}function a(e){return e}var u=Ember.get,c=(Ember.set,Ember.guidFor),h=Ember.meta,l=Ember.addBeforeObserver,f=Ember.removeBeforeObserver,m=Ember.addObserver,p=Ember.removeObserver,b=Ember.ComputedProperty,d=[].slice,E=Ember.create,y=Ember.EnumerableUtils.forEach,v=/^(.*)\.@each\.(.*)/,g=/(.*\.@each){2,}/;e.prototype={setValue:function(e){this.instanceMeta.setValue(e)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[c(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[c(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},setupPropertyObservers:function(e,t){var r=u(this.instanceMeta.context,e),n=u(r,"length"),i=new Array(n);this.resetTransformations(e,i),y(r,function(n,o){var s=this.createPropertyObserverContext(r,o,this.trackedArraysByGuid[e]);i[o]=s,y(t,function(e){l(n,e,this,s.beforeObserver),m(n,e,this,s.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,o=this,s=this.trackedArraysByGuid[e];s&&s.apply(function(e,s,a){a!==Ember.TrackedArray.DELETE&&y(e,function(e){r=e.beforeObserver,n=e.observer,i=e.item,y(t,function(e){f(i,e,o,r),p(i,e,o,n)})})})},createPropertyObserverContext:function(e,r,n){var i=new t(e,r,n);return this.createPropertyObserver(i),i},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.updateIndexes(e.trackedArray,e.dependentArray),t.itemPropertyWillChange(r,n,e.dependentArray,e.index)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e.index)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new Ember.TrackedArray(t)},addTransformation:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},removeTransformation:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(e,t){var r=u(t,"length");e.apply(function(e,t,n){n!==Ember.TrackedArray.DELETE&&(n!==Ember.TrackedArray.RETAIN||e.length!==r||0!==t)&&y(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(e,t,n){function i(e){f(s,e,this,h[u].beforeObserver),p(s,e,this,h[u].observer)}var o,s,a,u,h,l=this.callbacks.removedItem,m=c(e),b=this.dependentKeysByGuid[m],d=this.cp._itemPropertyKeys[b]||[];for(h=this.removeTransformation(b,t,n),u=n-1;u>=0;--u)a=t+u,s=e.objectAt(a),y(d,i,this),o=r(e,s,a,this.instanceMeta.propertyName,this.cp),this.setValue(l.call(this.instanceMeta.context,this.getValue(),s,o,this.instanceMeta.sugarMeta))},dependentArrayDidChange:function(e,t,n,i){var o,s,a=this.callbacks.addedItem,u=c(e),h=this.dependentKeysByGuid[u],f=new Array(i),p=this.cp._itemPropertyKeys[h];y(e.slice(t,t+i),function(n,i){p&&(s=f[i]=this.createPropertyObserverContext(e,t+i,this.trackedArraysByGuid[h]),y(p,function(e){l(n,e,this,s.beforeObserver),m(n,e,this,s.observer)},this)),o=r(e,n,t+i,this.instanceMeta.propertyName,this.cp),this.setValue(a.call(this.instanceMeta.context,this.getValue(),n,o,this.instanceMeta.sugarMeta))},this),this.addTransformation(h,t,f)},itemPropertyWillChange:function(e,t,r,n){var i=c(e);this.changedItems[i]||(this.changedItems[i]={array:r,index:n,obj:e,previousValues:{}}),this.changedItems[i].previousValues[t]=u(e,t)},itemPropertyDidChange:function(){Ember.run.once(this,"flushChanges")},flushChanges:function(){var e,t,n,i=this.changedItems;for(e in i)t=i[e],n=r(t.array,t.obj,t.index,this.instanceMeta.propertyName,this.cp,t.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,n,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,n,this.instanceMeta.sugarMeta));this.changedItems={}}},o.prototype={getValue:function(){return this.propertyName in this.cache?this.cache[this.propertyName]:this.initialValue},setValue:function(e){void 0!==e?this.cache[this.propertyName]=e:delete this.cache[this.propertyName]}},Ember.ReduceComputedProperty=s,s.prototype=E(b.prototype),s.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||a,addedItem:e.addedItem||a}}return this.callbacks},s.prototype._hasInstanceMeta=function(e,t){var r=c(e),n=r+":"+t;return!!this._instanceMetas[n]},s.prototype._instanceMeta=function(t,r){var n=c(t),i=n+":"+r,s=this._instanceMetas[i];return s||(s=this._instanceMetas[i]=new o(t,r,this.initialValue()),s.dependentArraysObserver=new e(this._callbacks(),this,s,t,r,s.sugarMeta)),s},s.prototype.initialValue=function(){switch(typeof this.options.initialValue){case"undefined":throw new Error("reduce computed properties require an initial value: did you forget to pass one to Ember.reduceComputed?");case"function":return this.options.initialValue();default:return this.options.initialValue}},s.prototype.resetValue=function(){return this.initialValue()},s.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},s.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},s.prototype.property=function(){var e,t,r,n=this,i=(d.call(arguments),[]);return y(d.call(arguments),function(o){if(g.test(o))throw new Error("Nested @each properties not supported: "+o);(e=v.exec(o))?(t=e[1],r=e[2],n.itemPropertyKey(t,r),i.push(t)):i.push(o)}),b.prototype.property.apply(this,i)},Ember.reduceComputed=function(e){var t;if(arguments.length>1&&(t=d.call(arguments,0,-1),e=d.call(arguments,-1)[0]),"object"!=typeof e)throw new Error("Reduce Computed Property declared without an options hash");if(!e.initialValue)throw new Error("Reduce Computed Property declared without an initial value");var r=new s(e);return t&&r.property.apply(r,t),r}}(),function(){function e(){var e=this;return t.apply(this,arguments),this.func=function(t){return function(r){return e._hasInstanceMeta(this,r)||i(e._dependentKeys,function(t){Ember.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this.func),this}var t=Ember.ReduceComputedProperty,r=[].slice,n=Ember.create,i=Ember.EnumerableUtils.forEach;Ember.ArrayComputedProperty=e,e.prototype=n(t.prototype),e.prototype.initialValue=function(){return Ember.A()},e.prototype.resetValue=function(e){return e.clear(),e},Ember.arrayComputed=function(t){var n;if(arguments.length>1&&(n=r.call(arguments,0,-1),t=r.call(arguments,-1)[0]),"object"!=typeof t)throw new Error("Array Computed Property declared without an options hash");var i=new e(t);return n&&i.property.apply(i,n),i}}(),function(){function e(e,n,i,o){function s(e){return Ember.ObjectProxy.detectInstance(e)?r(t(e,"content")):r(e)}var a,u,c,h,l;return arguments.length<4&&(o=t(e,"length")),arguments.length<3&&(i=0),i===o?i:(a=i+Math.floor((o-i)/2),u=e.objectAt(a),h=s(u),l=s(n),h===l?a:(c=this.order(u,n),0===c&&(c=l>h?-1:1),0>c?this.binarySearch(e,n,a+1,o):c>0?this.binarySearch(e,n,i,a):a))}var t=Ember.get,r=(Ember.set,Ember.guidFor),n=Ember.merge,i=[].slice,o=Ember.EnumerableUtils.forEach,s=Ember.EnumerableUtils.map;Ember.computed.max=function(e){return Ember.reduceComputed.call(null,e,{initialValue:-1/0,addedItem:function(e,t){return Math.max(e,t)},removedItem:function(e,t){return e>t?e:void 0}})},Ember.computed.min=function(e){return Ember.reduceComputed.call(null,e,{initialValue:1/0,addedItem:function(e,t){return Math.min(e,t)},removedItem:function(e,t){return t>e?e:void 0}})},Ember.computed.map=function(e,t){var r={addedItem:function(e,r,n){var i=t(r);return e.insertAt(n.index,i),e},removedItem:function(e,t,r){return e.removeAt(r.index,1),e}};return Ember.arrayComputed(e,r)},Ember.computed.mapBy=function(e,r){var n=function(e){return t(e,r)};return Ember.computed.map(e+".@each."+r,n)},Ember.computed.mapProperty=Ember.computed.mapBy,Ember.computed.filter=function(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new Ember.SubArray},addedItem:function(e,r,n,i){var o=!!t(r),s=i.filteredArrayIndexes.addItem(n.index,o);return o&&e.insertAt(s,r),e},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);return i>-1&&e.removeAt(i),e}};return Ember.arrayComputed(e,r)},Ember.computed.filterBy=function(e,r,n){var i;return i=2===arguments.length?function(e){return t(e,r)}:function(e){return t(e,r)===n},Ember.computed.filter(e+".@each."+r,i)},Ember.computed.filterProperty=Ember.computed.filterBy,Ember.computed.uniq=function(){var e=i.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,n,i){var o=r(t);return i.itemCounts[o]?++i.itemCounts[o]:i.itemCounts[o]=1,e.addObject(t),e},removedItem:function(e,t,n,i){var o=r(t),s=i.itemCounts;return 0===--s[o]&&e.removeObject(t),e}}),Ember.arrayComputed.apply(null,e)},Ember.computed.union=Ember.computed.uniq,Ember.computed.intersect=function(){var e=function(e){return s(e.property._dependentKeys,function(e){return r(e)})},t=i.call(arguments);return t.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(t,n,i,o){var s=r(n),a=(e(i),r(i.arrayChanged)),u=i.property._dependentKeys.length,c=o.itemCounts;return c[s]||(c[s]={}),void 0===c[s][a]&&(c[s][a]=0),1===++c[s][a]&&u===Ember.keys(c[s]).length&&t.addObject(n),t},removedItem:function(t,n,i,o){var s,a=r(n),u=(e(i),r(i.arrayChanged)),c=(i.property._dependentKeys.length,o.itemCounts);return void 0===c[a][u]&&(c[a][u]=0),0===--c[a][u]&&(delete c[a][u],s=Ember.keys(c[a]).length,0===s&&delete c[a],t.removeObject(n)),t}}),Ember.arrayComputed.apply(null,t)},Ember.computed.setDiff=function(e,r){if(2!==arguments.length)throw new Error("setDiff requires exactly two dependent arrays.");return Ember.arrayComputed.call(null,e,r,{addedItem:function(n,i,o){var s=t(this,e),a=t(this,r);return o.arrayChanged===s?a.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,o){var s=t(this,e),a=t(this,r);return o.arrayChanged===a?s.contains(i)&&n.addObject(i):n.removeObject(i),n}})},Ember.computed.sort=function(r,i){var s,a;return"function"==typeof i?s=function(t,r,n){n.order=i,n.binarySearch=e}:(a=i,s=function(n,i,s){function u(){var e,n,u,h=t(this,a),l=s.sortProperties=[],f=s.sortPropertyAscending={};i.property.clearItemPropertyKeys(r),o(h,function(t){-1!==(n=t.indexOf(":"))?(e=t.substring(0,n),u="desc"!==t.substring(n+1).toLowerCase()):(e=t,u=!0),l.push(e),f[e]=u,i.property.itemPropertyKey(r,e)}),h.addObserver("@each",this,c)}function c(){Ember.run.once(this,h,i.propertyName)}function h(e){u.call(this),i.property.recomputeOnce.call(this,e)}Ember.addObserver(this,a,c),u.call(this),s.order=function(e,r){for(var n,i,o,s=0;s<this.sortProperties.length;++s)if(n=this.sortProperties[s],i=Ember.compare(t(e,n),t(r,n)),0!==i)return o=this.sortPropertyAscending[n],o?i:-1*i;return 0},s.binarySearch=e}),Ember.arrayComputed.call(null,r,{initialize:s,addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,t,r,i){var o,s,a;return r.previousValues?(o=n({content:t},r.previousValues),a=Ember.ObjectProxy.create(o)):a=t,s=i.binarySearch(e,a),e.removeAt(s),e}})}}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,o=Ember.String.dasherize,s=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return o(this)},String.prototype.underscore=function(){return s(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesImmediately=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return this.observes.apply(this,arguments)},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this},Function.prototype.on=function(){var t=e.call(arguments);return this.__ember_listens__=t,this})}(),function(){Ember.Comparable=Ember.Mixin.create({compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set,r=Array.prototype.slice,n=Ember.getProperties;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){return n.apply(null,[this].concat(r.call(arguments)))},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var o;return o=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),o!==!1&&(o=!0),o}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===o?e(s):e(t)}var i,o,s;return s=this,i=r(this,"_deferred"),o=i.promise,o.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){var e=Ember.get;Ember.ActionHandler=Ember.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){e.actions&&!e._actions&&(e._actions=Ember.merge(e._actions||{},e.actions),delete e.actions)},send:function(t){var r,n=[].slice.call(arguments,1);if(this._actions&&this._actions[t]){if(this._actions[t].apply(this,n)!==!0)return}else if(this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(t)&&this.deprecatedSend.apply(this,[].slice.call(arguments))!==!0)return;(r=e(this,"target"))&&r.send.apply(r,arguments)}})}(),function(){function e(e,r){r.then(function(r){return t(e,"isFulfilled",!0),t(e,"content",r),r},function(r){t(e,"isRejected",!0),t(e,"reason",r)}).fail(i)}var t=Ember.set,r=Ember.get,n=Ember.RSVP.resolve,i=Ember.RSVP.rethrow,o=Ember.computed.not,s=Ember.computed.or;Ember.PromiseProxyMixin=Ember.Mixin.create({reason:null,isPending:o("isSettled").readOnly(),isSettled:s("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:Ember.computed(function(t,r){if(2===arguments.length)return r=n(r),e(this,r),r;throw new Error("PromiseProxy's promise must be set")}),then:function(e,t){return r(this,"promise").then(e,t)}})}(),function(){function e(e,t,r){this.operation=e,this.count=t,this.items=r}function t(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var r=Ember.get,n=Ember.EnumerableUtils.forEach,i="r",o="i",s="d";Ember.TrackedArray=function(t){arguments.length<1&&(t=[]);var n=r(t,"length");this._content=n?[new e(i,n,t)]:[]},Ember.TrackedArray.RETAIN=i,Ember.TrackedArray.INSERT=o,Ember.TrackedArray.DELETE=s,Ember.TrackedArray.prototype={addItems:function(t,n){var i,s,a=r(n,"length"),u=this._findArrayOperation(t),c=u.operation,h=u.index,l=u.rangeStart;s=new e(o,a,n),c?u.split?(this._split(h,t-l,s),i=h+1):(this._content.splice(h,0,s),i=h):(this._content.push(s),i=h),this._composeInsert(i)},removeItems:function(t,r){var n,i,o=this._findArrayOperation(t),a=(o.operation,o.index),u=o.rangeStart;return n=new e(s,r),o.split?(this._split(a,t-u,n),i=a+1):(this._content.splice(a,0,n),i=a),this._composeDelete(i)},apply:function(t){var r=[],o=0;n(this._content,function(e){t(e.items,o,e.operation),e.operation!==s&&(o+=e.count,r=r.concat(e.items))}),this._content=[new e(i,r.length,r)]},_findArrayOperation:function(e){var r,n,i,o,a,u=!1;for(r=o=0,n=this._content.length;n>r;++r)if(i=this._content[r],i.operation!==s){if(a=o+i.count-1,e===o)break;if(e>o&&a>=e){u=!0;break}o=a+1}return new t(i,r,u,o)},_split:function(t,r,n){var i=this._content[t],o=i.items.slice(r),s=new e(i.operation,o.length,o);i.count=r,i.items=i.items.slice(0,r),this._content.splice(t+1,0,n,s)},_composeInsert:function(e){var t=this._content[e],r=this._content[e-1],n=this._content[e+1],i=r&&r.operation,s=n&&n.operation;i===o?(r.count+=t.count,r.items=r.items.concat(t.items),s===o?(r.count+=n.count,r.items=r.items.concat(n.items),this._content.splice(e,2)):this._content.splice(e,1)):s===o&&(t.count+=n.count,t.items=t.items.concat(n.items),this._content.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._content[e],a=i.count,u=this._content[e-1],c=u&&u.operation,h=[];c===s&&(i=u,e-=1);for(var l=e+1;a>0;++l)t=this._content[l],r=t.operation,n=t.count,r!==s?(n>a?(h=h.concat(t.items.splice(0,a)),t.count-=a,l-=1,n=a,a=0):(h=h.concat(t.items),a-=n),r===o&&(i.count-=n)):i.count+=n;return i.count>0?this._content.splice(e+1,l-1-e):this._content.splice(e,1),h}}}(),function(){function e(e,t){this.type=e,this.count=t}var t=(Ember.get,Ember.EnumerableUtils.forEach,"r"),r="f";Ember.SubArray=function(r){arguments.length<1&&(r=0),this._operations=r>0?[new e(t,r)]:[]},Ember.SubArray.prototype={addItem:function(n,i){var o=-1,s=i?t:r,a=this;return this._findOperation(n,function(r,u,c,h,l){var f,m;s===r.type?++r.count:n===c?a._operations.splice(u,0,new e(s,1)):(f=new e(s,1),m=new e(r.type,h-n+1),r.count=n-c,a._operations.splice(u+1,0,f,m)),i&&(o=r.type===t?l+(n-c):l),a._composeAt(u)},function(t){a._operations.push(new e(s,1)),i&&(o=t),a._composeAt(a._operations.length-1)}),o},removeItem:function(e){var r=-1,n=this;return this._findOperation(e,function(i,o,s,a,u){i.type===t&&(r=u+(e-s)),i.count>1?--i.count:(n._operations.splice(o,1),n._composeAt(o))}),r},_findOperation:function(e,r,n){var i,o,s,a,u,c=0;for(i=a=0,o=this._operations.length;o>i;a=u+1,++i){if(s=this._operations[i],u=a+s.count-1,e>=a&&u>=e)return r(s,i,a,u,c),void 0;s.type===t&&(c+=s.count)}n(c)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1))),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))}}}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this),l=u.proto;if(u.proto=this,e){var f=e;e=null,this.reopen.apply(this,f)}if(t){var m=t;t=null;for(var p=this.concatenatedProperties,d=0,g=m.length;g>d;d++){var _=m[d];for(var O in _)if(_.hasOwnProperty(O)){var C=_[O],w=Ember.IS_BINDING;if(w.test(O)){var A=u.bindings;A?u.hasOwnProperty("bindings")||(A=u.bindings=r(u.bindings)):A=u.bindings={},A[O]=C}var P=u.descs[O];if(p&&y(p,O)>=0){var j=this[O];C=j?"function"==typeof j.concat?j.concat(C):Ember.makeArray(j).concat(C):Ember.makeArray(C)}P?P.set(this,O,C):"function"!=typeof this.setUnknownProperty||O in this?E?Ember.defineProperty(this,O,null,C):this[O]=C:this.setUnknownProperty(O,C)}}}b(this,u),this.init.apply(this,arguments),u.proto=l,c(this),h(this,"init")};return s.toString=m.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=m.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=e},s.proto=function(){var e=s.superclass;return e&&e.proto(),o||(o=!0,s.PrototypeMixin.applyPartial(s.prototype),u(s.prototype)),this.prototype},s}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,o=Ember.guidFor,s=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,h=Ember.sendEvent,l=Ember.destroy,f=Ember.run.schedule,m=Ember.Mixin,p=m._apply,b=m.finishPartial,d=m.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,y=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return p(this,arguments,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,f("actions",this,this.willDestroy),f("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var _=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),d.apply(this.PrototypeMixin,arguments),this
|
18
|
+
},reopenClass:function(){return d.apply(this.ClassMixin,arguments),p(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});_.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(_),g.ClassMixin=_,_.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else if(this._toString)e=this._toString;else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,o=u.NAMESPACES,s=0,a=o.length;a>s;s++)i=o[s],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function o(e){return function(){return e}}var s=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=s(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,h={}.hasOwnProperty,l=Ember.guidFor,f=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),o=n;n+i>o;o++)u.push(s.indexOf(a.objectAt(o)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),o=Ember.addObserver,s=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange,h=Ember.meta,l=Ember.defineProperty;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=h(this);if(i.proto===this)return l(this,e,null,t),t;var o=r(this,"content");return n(o,e,t)}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,s){var a=r._objects;a||(a=r._objects={});for(var u,c;--s>=i;){var h=e.objectAt(s);h&&(Ember.removeBeforeObserver(h,t,r,"contentKeyWillChange"),Ember.removeObserver(h,t,r,"contentKeyDidChange"),c=n(h),u=a[c],u[o.call(u,s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.ArrayPolyfills.indexOf,s=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),a=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new s(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s=this._keys;o=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in s)s.hasOwnProperty(n)&&(o>0&&e(t,n,this,r,o),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){a.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){a.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils._replace),r=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(r,n,i){if(this.isFrozen)throw Ember.FROZEN_ERROR;var o=i?e(i,"length"):0;return this.arrayContentWillChange(r,n,o),i&&0!==i.length?t(this,r,n,i):this.splice(r,n),this.arrayContentDidChange(r,n,o),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),n=["length"];Ember.EnumerableUtils.forEach(r.keys(),function(e){Array.prototype[e]&&n.push(e)}),n.length>0&&(r=r.without.apply(r,n)),Ember.NativeArray=r,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){r.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var o=0;n>o;o++)i=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(i),a=this[s],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(o=[i],this.enumerableContentWillChange(null,o),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(i),u=this[a],c=e(this,"length"),h=0===u,l=u===c-1;return u>=0&&c>u&&this[u]===i&&(s=[i],this.enumerableContentWillChange(s,null),h&&Ember.propertyWillChange(this,"firstObject"),l&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(o=this[c-1],this[u]=o,this[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){Ember.get,Ember.ControllerMixin=Ember.Mixin.create(Ember.ActionHandler,{isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),deprecatedSendHandles:function(e){return!!this[e]},deprecatedSend:function(e){var t=[].slice.call(arguments,1);this[e].apply(this,t)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,i,o)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,o){var s=e(this,"_subControllers"),a=s.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this._super(),this.set("_subControllers",Ember.A())},content:Ember.computed(function(){return Ember.A()}),controllerAt:function(t,r,n){var i,o=e(this,"container"),s=e(this,"_subControllers"),a=s[t];if(a)return a;if(i="controller:"+n,!o.has(i))throw new Error('Could not resolve itemController: "'+n+'"');return a=o.lookupFactory(i).create({target:this,parentController:e(this,"parentController")||this,content:r}),s[t]=a,a},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
data/dist/ember-runtime.prod.js
CHANGED
@@ -61,7 +61,7 @@ var define, requireModule;
|
|
61
61
|
|
62
62
|
@class Ember
|
63
63
|
@static
|
64
|
-
@version 1.0.0
|
64
|
+
@version 1.0.0
|
65
65
|
*/
|
66
66
|
|
67
67
|
if ('undefined' === typeof Ember) {
|
@@ -88,10 +88,10 @@ Ember.toString = function() { return "Ember"; };
|
|
88
88
|
/**
|
89
89
|
@property VERSION
|
90
90
|
@type String
|
91
|
-
@default '1.0.0
|
91
|
+
@default '1.0.0'
|
92
92
|
@final
|
93
93
|
*/
|
94
|
-
Ember.VERSION = '1.0.0
|
94
|
+
Ember.VERSION = '1.0.0';
|
95
95
|
|
96
96
|
/**
|
97
97
|
Standard environmental variables. You can define these in a global `ENV`
|
@@ -4433,8 +4433,8 @@ function registerComputedWithProperties(name, macro) {
|
|
4433
4433
|
property is null, an empty string, empty array, or empty function.
|
4434
4434
|
|
4435
4435
|
Note: When using `Ember.computed.empty` to watch an array make sure to
|
4436
|
-
use the `array.length`
|
4437
|
-
|
4436
|
+
use the `array.length` syntax so the computed can subscribe to transitions
|
4437
|
+
from empty to non-empty states.
|
4438
4438
|
|
4439
4439
|
Example
|
4440
4440
|
|
@@ -4442,9 +4442,9 @@ function registerComputedWithProperties(name, macro) {
|
|
4442
4442
|
var ToDoList = Ember.Object.extend({
|
4443
4443
|
done: Ember.computed.empty('todos.length')
|
4444
4444
|
});
|
4445
|
-
var todoList = ToDoList.create({
|
4445
|
+
var todoList = ToDoList.create({todos: ['Unit Test', 'Documentation', 'Release']});
|
4446
4446
|
todoList.get('done'); // false
|
4447
|
-
todoList.get('
|
4447
|
+
todoList.get('todos').clear(); // []
|
4448
4448
|
todoList.get('done'); // true
|
4449
4449
|
```
|
4450
4450
|
|
@@ -5546,7 +5546,7 @@ define("backburner",
|
|
5546
5546
|
clearTimeout(debouncee[2]);
|
5547
5547
|
}
|
5548
5548
|
|
5549
|
-
var timer =
|
5549
|
+
var timer = global.setTimeout(function() {
|
5550
5550
|
if (!immediate) {
|
5551
5551
|
self.run.apply(self, args);
|
5552
5552
|
}
|
@@ -5615,8 +5615,8 @@ define("backburner",
|
|
5615
5615
|
function createAutorun(backburner) {
|
5616
5616
|
backburner.begin();
|
5617
5617
|
autorun = global.setTimeout(function() {
|
5618
|
-
backburner.end();
|
5619
5618
|
autorun = null;
|
5619
|
+
backburner.end();
|
5620
5620
|
});
|
5621
5621
|
}
|
5622
5622
|
|
@@ -7057,19 +7057,19 @@ Ember.mixin = function(obj) {
|
|
7057
7057
|
`Ember.Mixin.extend`.
|
7058
7058
|
|
7059
7059
|
Note that mixins extend a constructor's prototype so arrays and object literals
|
7060
|
-
defined as properties will be shared amongst objects that implement the mixin.
|
7060
|
+
defined as properties will be shared amongst objects that implement the mixin.
|
7061
7061
|
If you want to define an property in a mixin that is not shared, you can define
|
7062
7062
|
it either as a computed property or have it be created on initialization of the object.
|
7063
|
-
|
7063
|
+
|
7064
7064
|
```javascript
|
7065
7065
|
//filters array will be shared amongst any object implementing mixin
|
7066
7066
|
App.Filterable = Ember.Mixin.create({
|
7067
|
-
filters: Ember.A()
|
7067
|
+
filters: Ember.A()
|
7068
7068
|
});
|
7069
7069
|
|
7070
7070
|
//filters will be a separate array for every object implementing the mixin
|
7071
7071
|
App.Filterable = Ember.Mixin.create({
|
7072
|
-
filters: Ember.computed(function(){return Ember.A();})
|
7072
|
+
filters: Ember.computed(function(){return Ember.A();})
|
7073
7073
|
});
|
7074
7074
|
|
7075
7075
|
//filters will be created as a separate array during the object's initialization
|
@@ -7316,6 +7316,22 @@ Ember.aliasMethod = function(methodName) {
|
|
7316
7316
|
//
|
7317
7317
|
|
7318
7318
|
/**
|
7319
|
+
Specify a method that observes property changes.
|
7320
|
+
|
7321
|
+
```javascript
|
7322
|
+
Ember.Object.extend({
|
7323
|
+
valueObserver: Ember.observer(function() {
|
7324
|
+
// Executes whenever the "value" property changes
|
7325
|
+
}, 'value')
|
7326
|
+
});
|
7327
|
+
```
|
7328
|
+
|
7329
|
+
In the future this method may become asynchronous. If you want to ensure
|
7330
|
+
synchronous behavior, use `immediateObserver`.
|
7331
|
+
|
7332
|
+
Also available as `Function.prototype.observes` if prototype extensions are
|
7333
|
+
enabled.
|
7334
|
+
|
7319
7335
|
@method observer
|
7320
7336
|
@for Ember
|
7321
7337
|
@param {Function} func
|
@@ -7328,9 +7344,23 @@ Ember.observer = function(func) {
|
|
7328
7344
|
return func;
|
7329
7345
|
};
|
7330
7346
|
|
7331
|
-
// If observers ever become asynchronous, Ember.immediateObserver
|
7332
|
-
// must remain synchronous.
|
7333
7347
|
/**
|
7348
|
+
Specify a method that observes property changes.
|
7349
|
+
|
7350
|
+
```javascript
|
7351
|
+
Ember.Object.extend({
|
7352
|
+
valueObserver: Ember.immediateObserver(function() {
|
7353
|
+
// Executes whenever the "value" property changes
|
7354
|
+
}, 'value')
|
7355
|
+
});
|
7356
|
+
```
|
7357
|
+
|
7358
|
+
In the future, `Ember.observer` may become asynchronous. In this event,
|
7359
|
+
`Ember.immediateObserver` will maintain the synchronous behavior.
|
7360
|
+
|
7361
|
+
Also available as `Function.prototype.observesImmediately` if prototype extensions are
|
7362
|
+
enabled.
|
7363
|
+
|
7334
7364
|
@method immediateObserver
|
7335
7365
|
@for Ember
|
7336
7366
|
@param {Function} func
|
@@ -7358,24 +7388,31 @@ Ember.immediateObserver = function() {
|
|
7358
7388
|
|
7359
7389
|
```javascript
|
7360
7390
|
App.PersonView = Ember.View.extend({
|
7391
|
+
|
7361
7392
|
friends: [{ name: 'Tom' }, { name: 'Stefan' }, { name: 'Kris' }],
|
7362
|
-
|
7393
|
+
|
7394
|
+
valueWillChange: Ember.beforeObserver(function(obj, keyName) {
|
7363
7395
|
this.changingFrom = obj.get(keyName);
|
7364
|
-
}
|
7365
|
-
|
7396
|
+
}, 'content.value'),
|
7397
|
+
|
7398
|
+
valueDidChange: Ember.observer(function(obj, keyName) {
|
7366
7399
|
// only run if updating a value already in the DOM
|
7367
7400
|
if (this.get('state') === 'inDOM') {
|
7368
|
-
|
7369
|
-
|
7401
|
+
var color = obj.get(keyName) > this.changingFrom ? 'green' : 'red';
|
7402
|
+
// logic
|
7370
7403
|
}
|
7371
|
-
}
|
7372
|
-
|
7404
|
+
}, 'content.value'),
|
7405
|
+
|
7406
|
+
friendsDidChange: Ember.observer(function(obj, keyName) {
|
7373
7407
|
// some logic
|
7374
7408
|
// obj.get(keyName) returns friends array
|
7375
|
-
}
|
7409
|
+
}, 'friends.@each.name')
|
7376
7410
|
});
|
7377
7411
|
```
|
7378
7412
|
|
7413
|
+
Also available as `Function.prototype.observesBefore` if prototype extensions are
|
7414
|
+
enabled.
|
7415
|
+
|
7379
7416
|
@method beforeObserver
|
7380
7417
|
@for Ember
|
7381
7418
|
@param {Function} func
|
@@ -7459,6 +7496,7 @@ define("rsvp/async",
|
|
7459
7496
|
var browserGlobal = (typeof window !== 'undefined') ? window : {};
|
7460
7497
|
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
7461
7498
|
var async;
|
7499
|
+
var local = (typeof global !== 'undefined') ? global : this;
|
7462
7500
|
|
7463
7501
|
// old node
|
7464
7502
|
function useNextTick() {
|
@@ -7509,7 +7547,7 @@ define("rsvp/async",
|
|
7509
7547
|
|
7510
7548
|
function useSetTimeout() {
|
7511
7549
|
return function(callback, arg) {
|
7512
|
-
|
7550
|
+
local.setTimeout(function() {
|
7513
7551
|
callback(arg);
|
7514
7552
|
}, 1);
|
7515
7553
|
};
|
@@ -8048,6 +8086,13 @@ define("rsvp",
|
|
8048
8086
|
})();
|
8049
8087
|
|
8050
8088
|
(function() {
|
8089
|
+
/**
|
8090
|
+
Flag to enable/disable model factory injections (disabled by default)
|
8091
|
+
If model factory injections are enabled, models should not be
|
8092
|
+
accessed globally (only through `container.lookupFactory('model:modelName'))`);
|
8093
|
+
*/
|
8094
|
+
Ember.MODEL_FACTORY_INJECTIONS = false || !!Ember.ENV.MODEL_FACTORY_INJECTIONS;
|
8095
|
+
|
8051
8096
|
define("container",
|
8052
8097
|
[],
|
8053
8098
|
function() {
|
@@ -8326,6 +8371,7 @@ define("container",
|
|
8326
8371
|
|
8327
8372
|
container.unregister('model:user')
|
8328
8373
|
container.lookup('model:user') === undefined //=> true
|
8374
|
+
```
|
8329
8375
|
|
8330
8376
|
@method unregister
|
8331
8377
|
@param {String} fullName
|
@@ -8409,7 +8455,7 @@ define("container",
|
|
8409
8455
|
*/
|
8410
8456
|
makeToString: function(factory, fullName) {
|
8411
8457
|
return factory.toString();
|
8412
|
-
},
|
8458
|
+
},
|
8413
8459
|
|
8414
8460
|
/**
|
8415
8461
|
Given a fullName return a corresponding instance.
|
@@ -8817,6 +8863,7 @@ define("container",
|
|
8817
8863
|
var factory = container.resolve(name);
|
8818
8864
|
var injectedFactory;
|
8819
8865
|
var cache = container.factoryCache;
|
8866
|
+
var type = fullName.split(":")[0];
|
8820
8867
|
|
8821
8868
|
if (!factory) { return; }
|
8822
8869
|
|
@@ -8824,7 +8871,7 @@ define("container",
|
|
8824
8871
|
return cache.get(fullName);
|
8825
8872
|
}
|
8826
8873
|
|
8827
|
-
if (typeof factory.extend !== 'function') {
|
8874
|
+
if (typeof factory.extend !== 'function' || (!Ember.MODEL_FACTORY_INJECTIONS && type === 'model')) {
|
8828
8875
|
// TODO: think about a 'safe' merge style extension
|
8829
8876
|
// for now just fallback to create time injection
|
8830
8877
|
return factory;
|
@@ -10627,6 +10674,9 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
10627
10674
|
return an enumerable that maps automatically to the named key on the
|
10628
10675
|
member objects.
|
10629
10676
|
|
10677
|
+
If you merely want to watch for any items being added or removed to the array,
|
10678
|
+
use the `[]` property instead of `@each`.
|
10679
|
+
|
10630
10680
|
@property @each
|
10631
10681
|
*/
|
10632
10682
|
'@each': Ember.computed(function() {
|
@@ -10658,7 +10708,7 @@ var get = Ember.get,
|
|
10658
10708
|
eachPropertyPattern = /^(.*)\.@each\.(.*)/,
|
10659
10709
|
doubleEachPropertyPattern = /(.*\.@each){2,}/;
|
10660
10710
|
|
10661
|
-
|
10711
|
+
/*
|
10662
10712
|
Tracks changes to dependent arrays, as well as to properties of items in
|
10663
10713
|
dependent arrays.
|
10664
10714
|
|
@@ -10847,22 +10897,29 @@ DependentArraysObserver.prototype = {
|
|
10847
10897
|
guid = guidFor(dependentArray),
|
10848
10898
|
dependentKey = this.dependentKeysByGuid[guid],
|
10849
10899
|
itemPropertyKeys = this.cp._itemPropertyKeys[dependentKey] || [],
|
10900
|
+
item,
|
10850
10901
|
itemIndex,
|
10902
|
+
sliceIndex,
|
10851
10903
|
observerContexts;
|
10852
10904
|
|
10853
10905
|
observerContexts = this.removeTransformation(dependentKey, index, removedCount);
|
10854
|
-
|
10906
|
+
|
10907
|
+
|
10908
|
+
function removeObservers(propertyKey) {
|
10909
|
+
removeBeforeObserver(item, propertyKey, this, observerContexts[sliceIndex].beforeObserver);
|
10910
|
+
removeObserver(item, propertyKey, this, observerContexts[sliceIndex].observer);
|
10911
|
+
}
|
10912
|
+
|
10913
|
+
for (sliceIndex = removedCount - 1; sliceIndex >= 0; --sliceIndex) {
|
10855
10914
|
itemIndex = index + sliceIndex;
|
10915
|
+
item = dependentArray.objectAt(itemIndex);
|
10856
10916
|
|
10857
|
-
forEach(itemPropertyKeys,
|
10858
|
-
removeBeforeObserver(item, propertyKey, this, observerContexts[sliceIndex].beforeObserver);
|
10859
|
-
removeObserver(item, propertyKey, this, observerContexts[sliceIndex].observer);
|
10860
|
-
}, this);
|
10917
|
+
forEach(itemPropertyKeys, removeObservers, this);
|
10861
10918
|
|
10862
10919
|
changeMeta = createChangeMeta(dependentArray, item, itemIndex, this.instanceMeta.propertyName, this.cp);
|
10863
10920
|
this.setValue( removedItem.call(
|
10864
10921
|
this.instanceMeta.context, this.getValue(), item, changeMeta, this.instanceMeta.sugarMeta));
|
10865
|
-
}
|
10922
|
+
}
|
10866
10923
|
},
|
10867
10924
|
|
10868
10925
|
dependentArrayDidChange: function (dependentArray, index, removedCount, addedCount) {
|
@@ -10876,8 +10933,8 @@ DependentArraysObserver.prototype = {
|
|
10876
10933
|
|
10877
10934
|
forEach(dependentArray.slice(index, index + addedCount), function (item, sliceIndex) {
|
10878
10935
|
if (itemPropertyKeys) {
|
10879
|
-
observerContext =
|
10880
|
-
observerContexts[sliceIndex] =
|
10936
|
+
observerContext =
|
10937
|
+
observerContexts[sliceIndex] =
|
10881
10938
|
this.createPropertyObserverContext(dependentArray, index + sliceIndex, this.trackedArraysByGuid[dependentKey]);
|
10882
10939
|
forEach(itemPropertyKeys, function (propertyKey) {
|
10883
10940
|
addBeforeObserver(item, propertyKey, this, observerContext.beforeObserver);
|
@@ -10894,30 +10951,29 @@ DependentArraysObserver.prototype = {
|
|
10894
10951
|
},
|
10895
10952
|
|
10896
10953
|
itemPropertyWillChange: function (obj, keyName, array, index) {
|
10897
|
-
var
|
10954
|
+
var guid = guidFor(obj);
|
10898
10955
|
|
10899
|
-
if (!this.changedItems[
|
10900
|
-
this.changedItems[
|
10901
|
-
array: array,
|
10956
|
+
if (!this.changedItems[guid]) {
|
10957
|
+
this.changedItems[guid] = {
|
10958
|
+
array: array,
|
10902
10959
|
index: index,
|
10903
10960
|
obj: obj,
|
10904
|
-
|
10905
|
-
previousValue: get(obj, keyName)
|
10961
|
+
previousValues: {}
|
10906
10962
|
};
|
10907
10963
|
}
|
10964
|
+
|
10965
|
+
this.changedItems[guid].previousValues[keyName] = get(obj, keyName);
|
10908
10966
|
},
|
10909
10967
|
|
10910
10968
|
itemPropertyDidChange: function(obj, keyName, array, index) {
|
10911
10969
|
Ember.run.once(this, 'flushChanges');
|
10912
10970
|
},
|
10913
10971
|
|
10914
|
-
// TODO: it probably makes more sense to remove the item during `willChange`
|
10915
|
-
// and add it back (with the new value) during `didChange`
|
10916
10972
|
flushChanges: function() {
|
10917
10973
|
var changedItems = this.changedItems, key, c, changeMeta;
|
10918
10974
|
for (key in changedItems) {
|
10919
10975
|
c = changedItems[key];
|
10920
|
-
changeMeta = createChangeMeta(c.array, c.obj, c.index, this.instanceMeta.propertyName, this.cp, c.
|
10976
|
+
changeMeta = createChangeMeta(c.array, c.obj, c.index, this.instanceMeta.propertyName, this.cp, c.previousValues);
|
10921
10977
|
this.setValue(
|
10922
10978
|
this.callbacks.removedItem.call(this.instanceMeta.context, this.getValue(), c.obj, changeMeta, this.instanceMeta.sugarMeta));
|
10923
10979
|
this.setValue(
|
@@ -10927,18 +10983,19 @@ DependentArraysObserver.prototype = {
|
|
10927
10983
|
}
|
10928
10984
|
};
|
10929
10985
|
|
10930
|
-
function createChangeMeta(dependentArray, item, index, propertyName, property,
|
10986
|
+
function createChangeMeta(dependentArray, item, index, propertyName, property, previousValues) {
|
10931
10987
|
var meta = {
|
10932
10988
|
arrayChanged: dependentArray,
|
10933
10989
|
index: index,
|
10934
10990
|
item: item,
|
10935
10991
|
propertyName: propertyName,
|
10936
|
-
property: property
|
10937
|
-
// previous value is only available for item property changes!
|
10938
|
-
previousValue: previousValue
|
10992
|
+
property: property
|
10939
10993
|
};
|
10940
10994
|
|
10941
|
-
if (
|
10995
|
+
if (previousValues) {
|
10996
|
+
// previous values only available for item property changes
|
10997
|
+
meta.previousValues = previousValues;
|
10998
|
+
}
|
10942
10999
|
|
10943
11000
|
return meta;
|
10944
11001
|
}
|
@@ -11062,7 +11119,9 @@ function ReduceComputedProperty(options) {
|
|
11062
11119
|
|
11063
11120
|
forEach(cp._dependentKeys, function(dependentKey) {
|
11064
11121
|
var dependentArray = get(this, dependentKey);
|
11065
|
-
|
11122
|
+
if (dependentArray) {
|
11123
|
+
addItems.call(this, dependentArray, callbacks, cp, propertyName, meta);
|
11124
|
+
}
|
11066
11125
|
}, this);
|
11067
11126
|
};
|
11068
11127
|
|
@@ -11164,7 +11223,122 @@ ReduceComputedProperty.prototype.property = function () {
|
|
11164
11223
|
return ComputedProperty.prototype.property.apply(this, propertyArgs);
|
11165
11224
|
};
|
11166
11225
|
|
11226
|
+
/**
|
11227
|
+
Creates a computed property which operates on dependent arrays and
|
11228
|
+
is updated with "one at a time" semantics. When items are added or
|
11229
|
+
removed from the dependent array(s) a reduce computed only operates
|
11230
|
+
on the change instead of re-evaluating the entire array.
|
11231
|
+
|
11232
|
+
If there are more than one arguments the first arguments are
|
11233
|
+
considered to be dependent property keys. The last argument is
|
11234
|
+
required to be an options object. The options object can have the
|
11235
|
+
following four properties.
|
11236
|
+
|
11237
|
+
`initialValue` - A value or function that will be used as the initial
|
11238
|
+
value for the computed. If this property is a function the result of calling
|
11239
|
+
the function will be used as the initial value. This property is required.
|
11167
11240
|
|
11241
|
+
`initialize` - An optional initialize function. Typically this will be used
|
11242
|
+
to set up state on the instanceMeta object.
|
11243
|
+
|
11244
|
+
`removedItem` - A function that is called each time an element is removed
|
11245
|
+
from the array.
|
11246
|
+
|
11247
|
+
`addedItem` - A function that is called each time an element is added to
|
11248
|
+
the array.
|
11249
|
+
|
11250
|
+
|
11251
|
+
The `initialize` function has the following signature:
|
11252
|
+
|
11253
|
+
```javascript
|
11254
|
+
function (initialValue, changeMeta, instanceMeta)
|
11255
|
+
```
|
11256
|
+
|
11257
|
+
`initialValue` - The value of the `initialValue` property from the
|
11258
|
+
options object.
|
11259
|
+
|
11260
|
+
`changeMeta` - An object which contains meta information about the
|
11261
|
+
computed. It contains the following properties:
|
11262
|
+
|
11263
|
+
- `property` the computed property
|
11264
|
+
- `propertyName` the name of the property on the object
|
11265
|
+
|
11266
|
+
`instanceMeta` - An object that can be used to store meta
|
11267
|
+
information needed for calculating your computed. For example a
|
11268
|
+
unique computed might use this to store the number of times a given
|
11269
|
+
element is found in the dependent array.
|
11270
|
+
|
11271
|
+
|
11272
|
+
The `removedItem` and `addedItem` functions both have the following signature:
|
11273
|
+
|
11274
|
+
```javascript
|
11275
|
+
function (accumulatedValue, item, changeMeta, instanceMeta)
|
11276
|
+
```
|
11277
|
+
|
11278
|
+
`accumulatedValue` - The value returned from the last time
|
11279
|
+
`removedItem` or `addedItem` was called or `initialValue`.
|
11280
|
+
|
11281
|
+
`item` - the element added or removed from the array
|
11282
|
+
|
11283
|
+
`changeMeta` - An object which contains meta information about the
|
11284
|
+
change. It contains the following properties:
|
11285
|
+
|
11286
|
+
- `property` the computed property
|
11287
|
+
- `propertyName` the name of the property on the object
|
11288
|
+
- `index` the index of the added or removed item
|
11289
|
+
- `item` the added or removed item: this is exactly the same as
|
11290
|
+
the second arg
|
11291
|
+
- `arrayChanged` the array that triggered the change. Can be
|
11292
|
+
useful when depending on multiple arrays.
|
11293
|
+
|
11294
|
+
For property changes triggered on an item property change (when
|
11295
|
+
depKey is something like `someArray.@each.someProperty`),
|
11296
|
+
`changeMeta` will also contain the following property:
|
11297
|
+
|
11298
|
+
- `previousValues` an object whose keys are the properties that changed on
|
11299
|
+
the item, and whose values are the item's previous values.
|
11300
|
+
|
11301
|
+
`previousValues` is important Ember coalesces item property changes via
|
11302
|
+
Ember.run.once. This means that by the time removedItem gets called, item has
|
11303
|
+
the new values, but you may need the previous value (eg for sorting &
|
11304
|
+
filtering).
|
11305
|
+
|
11306
|
+
`instanceMeta` - An object that can be used to store meta
|
11307
|
+
information needed for calculating your computed. For example a
|
11308
|
+
unique computed might use this to store the number of times a given
|
11309
|
+
element is found in the dependent array.
|
11310
|
+
|
11311
|
+
The `removedItem` and `addedItem` functions should return the accumulated
|
11312
|
+
value. It is acceptable to not return anything (ie return undefined)
|
11313
|
+
to invalidate the computation. This is generally not a good idea for
|
11314
|
+
arrayComputed but it's used in eg max and min.
|
11315
|
+
|
11316
|
+
Example
|
11317
|
+
|
11318
|
+
```javascript
|
11319
|
+
Ember.computed.max = function (dependentKey) {
|
11320
|
+
return Ember.reduceComputed.call(null, dependentKey, {
|
11321
|
+
initialValue: -Infinity,
|
11322
|
+
|
11323
|
+
addedItem: function (accumulatedValue, item, changeMeta, instanceMeta) {
|
11324
|
+
return Math.max(accumulatedValue, item);
|
11325
|
+
},
|
11326
|
+
|
11327
|
+
removedItem: function (accumulatedValue, item, changeMeta, instanceMeta) {
|
11328
|
+
if (item < accumulatedValue) {
|
11329
|
+
return accumulatedValue;
|
11330
|
+
}
|
11331
|
+
}
|
11332
|
+
});
|
11333
|
+
};
|
11334
|
+
```
|
11335
|
+
|
11336
|
+
@method reduceComputed
|
11337
|
+
@for Ember
|
11338
|
+
@param {String} [dependentKeys*]
|
11339
|
+
@param {Object} options
|
11340
|
+
@returns {Ember.ComputedProperty}
|
11341
|
+
*/
|
11168
11342
|
Ember.reduceComputed = function (options) {
|
11169
11343
|
var args;
|
11170
11344
|
|
@@ -11190,7 +11364,6 @@ Ember.reduceComputed = function (options) {
|
|
11190
11364
|
return cp;
|
11191
11365
|
};
|
11192
11366
|
|
11193
|
-
|
11194
11367
|
})();
|
11195
11368
|
|
11196
11369
|
|
@@ -11235,7 +11408,120 @@ ArrayComputedProperty.prototype.resetValue = function (array) {
|
|
11235
11408
|
return array;
|
11236
11409
|
};
|
11237
11410
|
|
11411
|
+
/**
|
11412
|
+
Creates a computed property which operates on dependent arrays and
|
11413
|
+
is updated with "one at a time" semantics. When items are added or
|
11414
|
+
removed from the dependent array(s) an array computed only operates
|
11415
|
+
on the change instead of re-evaluating the entire array. This should
|
11416
|
+
return an array, if you'd like to use "one at a time" semantics and
|
11417
|
+
compute some value other then an array look at
|
11418
|
+
`Ember.reduceComputed`.
|
11419
|
+
|
11420
|
+
If there are more than one arguments the first arguments are
|
11421
|
+
considered to be dependent property keys. The last argument is
|
11422
|
+
required to be an options object. The options object can have the
|
11423
|
+
following three properties.
|
11424
|
+
|
11425
|
+
`initialize` - An optional initialize function. Typically this will be used
|
11426
|
+
to set up state on the instanceMeta object.
|
11427
|
+
|
11428
|
+
`removedItem` - A function that is called each time an element is
|
11429
|
+
removed from the array.
|
11430
|
+
|
11431
|
+
`addedItem` - A function that is called each time an element is
|
11432
|
+
added to the array.
|
11433
|
+
|
11434
|
+
|
11435
|
+
The `initialize` function has the following signature:
|
11436
|
+
|
11437
|
+
```javascript
|
11438
|
+
function (array, changeMeta, instanceMeta)
|
11439
|
+
```
|
11238
11440
|
|
11441
|
+
`array` - The initial value of the arrayComputed, an empty array.
|
11442
|
+
|
11443
|
+
`changeMeta` - An object which contains meta information about the
|
11444
|
+
computed. It contains the following properties:
|
11445
|
+
|
11446
|
+
- `property` the computed property
|
11447
|
+
- `propertyName` the name of the property on the object
|
11448
|
+
|
11449
|
+
`instanceMeta` - An object that can be used to store meta
|
11450
|
+
information needed for calculating your computed. For example a
|
11451
|
+
unique computed might use this to store the number of times a given
|
11452
|
+
element is found in the dependent array.
|
11453
|
+
|
11454
|
+
|
11455
|
+
The `removedItem` and `addedItem` functions both have the following signature:
|
11456
|
+
|
11457
|
+
```javascript
|
11458
|
+
function (accumulatedValue, item, changeMeta, instanceMeta)
|
11459
|
+
```
|
11460
|
+
|
11461
|
+
`accumulatedValue` - The value returned from the last time
|
11462
|
+
`removedItem` or `addedItem` was called or an empty array.
|
11463
|
+
|
11464
|
+
`item` - the element added or removed from the array
|
11465
|
+
|
11466
|
+
`changeMeta` - An object which contains meta information about the
|
11467
|
+
change. It contains the following properties:
|
11468
|
+
|
11469
|
+
- `property` the computed property
|
11470
|
+
- `propertyName` the name of the property on the object
|
11471
|
+
- `index` the index of the added or removed item
|
11472
|
+
- `item` the added or removed item: this is exactly the same as
|
11473
|
+
the second arg
|
11474
|
+
- `arrayChanged` the array that triggered the change. Can be
|
11475
|
+
useful when depending on multiple arrays.
|
11476
|
+
|
11477
|
+
For property changes triggered on an item property change (when
|
11478
|
+
depKey is something like `someArray.@each.someProperty`),
|
11479
|
+
`changeMeta` will also contain the following property:
|
11480
|
+
|
11481
|
+
- `previousValues` an object whose keys are the properties that changed on
|
11482
|
+
the item, and whose values are the item's previous values.
|
11483
|
+
|
11484
|
+
`previousValues` is important Ember coalesces item property changes via
|
11485
|
+
Ember.run.once. This means that by the time removedItem gets called, item has
|
11486
|
+
the new values, but you may need the previous value (eg for sorting &
|
11487
|
+
filtering).
|
11488
|
+
|
11489
|
+
`instanceMeta` - An object that can be used to store meta
|
11490
|
+
information needed for calculating your computed. For example a
|
11491
|
+
unique computed might use this to store the number of times a given
|
11492
|
+
element is found in the dependent array.
|
11493
|
+
|
11494
|
+
The `removedItem` and `addedItem` functions should return the accumulated
|
11495
|
+
value. It is acceptable to not return anything (ie return undefined)
|
11496
|
+
to invalidate the computation. This is generally not a good idea for
|
11497
|
+
arrayComputed but it's used in eg max and min.
|
11498
|
+
|
11499
|
+
Example
|
11500
|
+
|
11501
|
+
```javascript
|
11502
|
+
Ember.computed.map = function(dependentKey, callback) {
|
11503
|
+
var options = {
|
11504
|
+
addedItem: function(array, item, changeMeta, instanceMeta) {
|
11505
|
+
var mapped = callback(item);
|
11506
|
+
array.insertAt(changeMeta.index, mapped);
|
11507
|
+
return array;
|
11508
|
+
},
|
11509
|
+
removedItem: function(array, item, changeMeta, instanceMeta) {
|
11510
|
+
array.removeAt(changeMeta.index, 1);
|
11511
|
+
return array;
|
11512
|
+
}
|
11513
|
+
};
|
11514
|
+
|
11515
|
+
return Ember.arrayComputed(dependentKey, options);
|
11516
|
+
};
|
11517
|
+
```
|
11518
|
+
|
11519
|
+
@method arrayComputed
|
11520
|
+
@for Ember
|
11521
|
+
@param {String} [dependentKeys*]
|
11522
|
+
@param {Object} options
|
11523
|
+
@returns {Ember.ComputedProperty}
|
11524
|
+
*/
|
11239
11525
|
Ember.arrayComputed = function (options) {
|
11240
11526
|
var args;
|
11241
11527
|
|
@@ -11262,12 +11548,45 @@ Ember.arrayComputed = function (options) {
|
|
11262
11548
|
|
11263
11549
|
|
11264
11550
|
(function() {
|
11551
|
+
/**
|
11552
|
+
@module ember
|
11553
|
+
@submodule ember-runtime
|
11554
|
+
*/
|
11555
|
+
|
11265
11556
|
var get = Ember.get,
|
11266
11557
|
set = Ember.set,
|
11558
|
+
guidFor = Ember.guidFor,
|
11559
|
+
merge = Ember.merge,
|
11267
11560
|
a_slice = [].slice,
|
11268
11561
|
forEach = Ember.EnumerableUtils.forEach,
|
11269
11562
|
map = Ember.EnumerableUtils.map;
|
11270
11563
|
|
11564
|
+
/**
|
11565
|
+
A computed property that calculates the maximum value in the
|
11566
|
+
dependent array. This will return `-Infinity` when the dependent
|
11567
|
+
array is empty.
|
11568
|
+
|
11569
|
+
Example
|
11570
|
+
|
11571
|
+
```javascript
|
11572
|
+
App.Person = Ember.Object.extend({
|
11573
|
+
childAges: Ember.computed.mapBy('children', 'age'),
|
11574
|
+
maxChildAge: Ember.computed.max('childAges')
|
11575
|
+
});
|
11576
|
+
|
11577
|
+
var lordByron = App.Person.create({children: []});
|
11578
|
+
lordByron.get('maxChildAge'); // -Infinity
|
11579
|
+
lordByron.get('children').pushObject({name: 'Augusta Ada Byron', age: 7});
|
11580
|
+
lordByron.get('maxChildAge'); // 7
|
11581
|
+
lordByron.get('children').pushObjects([{name: 'Allegra Byron', age: 5}, {name: 'Elizabeth Medora Leigh', age: 8}]);
|
11582
|
+
lordByron.get('maxChildAge'); // 8
|
11583
|
+
```
|
11584
|
+
|
11585
|
+
@method computed.max
|
11586
|
+
@for Ember
|
11587
|
+
@param {String} dependentKey
|
11588
|
+
@return {Ember.ComputedProperty} computes the largest value in the dependentKey's array
|
11589
|
+
*/
|
11271
11590
|
Ember.computed.max = function (dependentKey) {
|
11272
11591
|
return Ember.reduceComputed.call(null, dependentKey, {
|
11273
11592
|
initialValue: -Infinity,
|
@@ -11284,6 +11603,32 @@ Ember.computed.max = function (dependentKey) {
|
|
11284
11603
|
});
|
11285
11604
|
};
|
11286
11605
|
|
11606
|
+
/**
|
11607
|
+
A computed property that calculates the minimum value in the
|
11608
|
+
dependent array. This will return `Infinity` when the dependent
|
11609
|
+
array is empty.
|
11610
|
+
|
11611
|
+
Example
|
11612
|
+
|
11613
|
+
```javascript
|
11614
|
+
App.Person = Ember.Object.extend({
|
11615
|
+
childAges: Ember.computed.mapBy('children', 'age'),
|
11616
|
+
minChildAge: Ember.computed.min('childAges')
|
11617
|
+
});
|
11618
|
+
|
11619
|
+
var lordByron = App.Person.create({children: []});
|
11620
|
+
lordByron.get('minChildAge'); // Infinity
|
11621
|
+
lordByron.get('children').pushObject({name: 'Augusta Ada Byron', age: 7});
|
11622
|
+
lordByron.get('minChildAge'); // 7
|
11623
|
+
lordByron.get('children').pushObjects([{name: 'Allegra Byron', age: 5}, {name: 'Elizabeth Medora Leigh', age: 8}]);
|
11624
|
+
lordByron.get('minChildAge'); // 5
|
11625
|
+
```
|
11626
|
+
|
11627
|
+
@method computed.min
|
11628
|
+
@for Ember
|
11629
|
+
@param {String} dependentKey
|
11630
|
+
@return {Ember.ComputedProperty} computes the smallest value in the dependentKey's array
|
11631
|
+
*/
|
11287
11632
|
Ember.computed.min = function (dependentKey) {
|
11288
11633
|
return Ember.reduceComputed.call(null, dependentKey, {
|
11289
11634
|
initialValue: Infinity,
|
@@ -11300,6 +11645,36 @@ Ember.computed.min = function (dependentKey) {
|
|
11300
11645
|
});
|
11301
11646
|
};
|
11302
11647
|
|
11648
|
+
/**
|
11649
|
+
Returns an array mapped via the callback
|
11650
|
+
|
11651
|
+
The callback method you provide should have the following signature:
|
11652
|
+
|
11653
|
+
```javascript
|
11654
|
+
function(item);
|
11655
|
+
```
|
11656
|
+
|
11657
|
+
- `item` is the current item in the iteration.
|
11658
|
+
|
11659
|
+
Example
|
11660
|
+
|
11661
|
+
```javascript
|
11662
|
+
App.Hampster = Ember.Object.extend({
|
11663
|
+
excitingChores: Ember.computed.map('chores', function(chore) {
|
11664
|
+
return chore.toUpperCase() + '!';
|
11665
|
+
})
|
11666
|
+
});
|
11667
|
+
|
11668
|
+
var hampster = App.Hampster.create({chores: ['cook', 'clean', 'write more unit tests']});
|
11669
|
+
hampster.get('excitingChores'); // ['COOK!', 'CLEAN!', 'WRITE MORE UNIT TESTS!']
|
11670
|
+
```
|
11671
|
+
|
11672
|
+
@method computed.map
|
11673
|
+
@for Ember
|
11674
|
+
@param {String} dependentKey
|
11675
|
+
@param {Function} callback
|
11676
|
+
@return {Ember.ComputedProperty} an array mapped via the callback
|
11677
|
+
*/
|
11303
11678
|
Ember.computed.map = function(dependentKey, callback) {
|
11304
11679
|
var options = {
|
11305
11680
|
addedItem: function(array, item, changeMeta, instanceMeta) {
|
@@ -11316,11 +11691,79 @@ Ember.computed.map = function(dependentKey, callback) {
|
|
11316
11691
|
return Ember.arrayComputed(dependentKey, options);
|
11317
11692
|
};
|
11318
11693
|
|
11319
|
-
|
11694
|
+
/**
|
11695
|
+
Returns an array mapped to the specified key.
|
11696
|
+
|
11697
|
+
Example
|
11698
|
+
|
11699
|
+
```javascript
|
11700
|
+
App.Person = Ember.Object.extend({
|
11701
|
+
childAges: Ember.computed.mapBy('children', 'age'),
|
11702
|
+
minChildAge: Ember.computed.min('childAges')
|
11703
|
+
});
|
11704
|
+
|
11705
|
+
var lordByron = App.Person.create({children: []});
|
11706
|
+
lordByron.get('childAge'); // []
|
11707
|
+
lordByron.get('children').pushObject({name: 'Augusta Ada Byron', age: 7});
|
11708
|
+
lordByron.get('childAge'); // [7]
|
11709
|
+
lordByron.get('children').pushObjects([{name: 'Allegra Byron', age: 5}, {name: 'Elizabeth Medora Leigh', age: 8}]);
|
11710
|
+
lordByron.get('childAge'); // [7, 5, 8]
|
11711
|
+
```
|
11712
|
+
|
11713
|
+
@method computed.mapBy
|
11714
|
+
@for Ember
|
11715
|
+
@param {String} dependentKey
|
11716
|
+
@param {String} propertyKey
|
11717
|
+
@return {Ember.ComputedProperty} an array mapped to the specified key
|
11718
|
+
*/
|
11719
|
+
Ember.computed.mapBy = function(dependentKey, propertyKey) {
|
11320
11720
|
var callback = function(item) { return get(item, propertyKey); };
|
11321
11721
|
return Ember.computed.map(dependentKey + '.@each.' + propertyKey, callback);
|
11322
11722
|
};
|
11323
11723
|
|
11724
|
+
/**
|
11725
|
+
@method computed.mapProperty
|
11726
|
+
@for Ember
|
11727
|
+
@deprecated Use `Ember.computed.mapBy` instead
|
11728
|
+
@param dependentKey
|
11729
|
+
@param propertyKey
|
11730
|
+
*/
|
11731
|
+
Ember.computed.mapProperty = Ember.computed.mapBy;
|
11732
|
+
|
11733
|
+
/**
|
11734
|
+
Filters the array by the callback.
|
11735
|
+
|
11736
|
+
The callback method you provide should have the following signature:
|
11737
|
+
|
11738
|
+
```javascript
|
11739
|
+
function(item);
|
11740
|
+
```
|
11741
|
+
|
11742
|
+
- `item` is the current item in the iteration.
|
11743
|
+
|
11744
|
+
Example
|
11745
|
+
|
11746
|
+
```javascript
|
11747
|
+
App.Hampster = Ember.Object.extend({
|
11748
|
+
remainingChores: Ember.computed.filter('chores', function(chore) {
|
11749
|
+
return !chore.done;
|
11750
|
+
})
|
11751
|
+
});
|
11752
|
+
|
11753
|
+
var hampster = App.Hampster.create({chores: [
|
11754
|
+
{name: 'cook', done: true},
|
11755
|
+
{name: 'clean', done: true},
|
11756
|
+
{name: 'write more unit tests', done: false}
|
11757
|
+
]});
|
11758
|
+
hampster.get('remainingChores'); // [{name: 'write more unit tests', done: false}]
|
11759
|
+
```
|
11760
|
+
|
11761
|
+
@method computed.filter
|
11762
|
+
@for Ember
|
11763
|
+
@param {String} dependentKey
|
11764
|
+
@param {Function} callback
|
11765
|
+
@return {Ember.ComputedProperty} the filtered array
|
11766
|
+
*/
|
11324
11767
|
Ember.computed.filter = function(dependentKey, callback) {
|
11325
11768
|
var options = {
|
11326
11769
|
initialize: function (array, changeMeta, instanceMeta) {
|
@@ -11334,6 +11777,8 @@ Ember.computed.filter = function(dependentKey, callback) {
|
|
11334
11777
|
if (match) {
|
11335
11778
|
array.insertAt(filterIndex, item);
|
11336
11779
|
}
|
11780
|
+
|
11781
|
+
return array;
|
11337
11782
|
},
|
11338
11783
|
|
11339
11784
|
removedItem: function(array, item, changeMeta, instanceMeta) {
|
@@ -11342,13 +11787,40 @@ Ember.computed.filter = function(dependentKey, callback) {
|
|
11342
11787
|
if (filterIndex > -1) {
|
11343
11788
|
array.removeAt(filterIndex);
|
11344
11789
|
}
|
11790
|
+
|
11791
|
+
return array;
|
11345
11792
|
}
|
11346
11793
|
};
|
11347
11794
|
|
11348
11795
|
return Ember.arrayComputed(dependentKey, options);
|
11349
11796
|
};
|
11350
11797
|
|
11351
|
-
|
11798
|
+
/**
|
11799
|
+
Filters the array by the property and value
|
11800
|
+
|
11801
|
+
Example
|
11802
|
+
|
11803
|
+
```javascript
|
11804
|
+
App.Hampster = Ember.Object.extend({
|
11805
|
+
remainingChores: Ember.computed.filterBy('chores', 'done', false)
|
11806
|
+
});
|
11807
|
+
|
11808
|
+
var hampster = App.Hampster.create({chores: [
|
11809
|
+
{name: 'cook', done: true},
|
11810
|
+
{name: 'clean', done: true},
|
11811
|
+
{name: 'write more unit tests', done: false}
|
11812
|
+
]});
|
11813
|
+
hampster.get('remainingChores'); // [{name: 'write more unit tests', done: false}]
|
11814
|
+
```
|
11815
|
+
|
11816
|
+
@method computed.filterBy
|
11817
|
+
@for Ember
|
11818
|
+
@param {String} dependentKey
|
11819
|
+
@param {String} propertyKey
|
11820
|
+
@param {String} value
|
11821
|
+
@return {Ember.ComputedProperty} the filtered array
|
11822
|
+
*/
|
11823
|
+
Ember.computed.filterBy = function(dependentKey, propertyKey, value) {
|
11352
11824
|
var callback;
|
11353
11825
|
|
11354
11826
|
if (arguments.length === 2) {
|
@@ -11364,6 +11836,42 @@ Ember.computed.filterProperty = function(dependentKey, propertyKey, value) {
|
|
11364
11836
|
return Ember.computed.filter(dependentKey + '.@each.' + propertyKey, callback);
|
11365
11837
|
};
|
11366
11838
|
|
11839
|
+
/**
|
11840
|
+
@method computed.filterProperty
|
11841
|
+
@for Ember
|
11842
|
+
@param dependentKey
|
11843
|
+
@param propertyKey
|
11844
|
+
@param value
|
11845
|
+
@deprecated Use `Ember.computed.filterBy` instead
|
11846
|
+
*/
|
11847
|
+
Ember.computed.filterProperty = Ember.computed.filterBy;
|
11848
|
+
|
11849
|
+
/**
|
11850
|
+
A computed property which returns a new array with all the unique
|
11851
|
+
elements from one or more dependent arrays.
|
11852
|
+
|
11853
|
+
Example
|
11854
|
+
|
11855
|
+
```javascript
|
11856
|
+
App.Hampster = Ember.Object.extend({
|
11857
|
+
uniqueFruits: Ember.computed.uniq('fruits')
|
11858
|
+
});
|
11859
|
+
|
11860
|
+
var hampster = App.Hampster.create({fruits: [
|
11861
|
+
'banana',
|
11862
|
+
'grape',
|
11863
|
+
'kale',
|
11864
|
+
'banana'
|
11865
|
+
]});
|
11866
|
+
hampster.get('uniqueFruits'); // ['banana', 'grape', 'kale']
|
11867
|
+
```
|
11868
|
+
|
11869
|
+
@method computed.uniq
|
11870
|
+
@for Ember
|
11871
|
+
@param {String} propertyKey*
|
11872
|
+
@return {Ember.ComputedProperty} computes a new array with all the
|
11873
|
+
unique elements from the dependent array
|
11874
|
+
*/
|
11367
11875
|
Ember.computed.uniq = function() {
|
11368
11876
|
var args = a_slice.call(arguments);
|
11369
11877
|
args.push({
|
@@ -11372,7 +11880,7 @@ Ember.computed.uniq = function() {
|
|
11372
11880
|
},
|
11373
11881
|
|
11374
11882
|
addedItem: function(array, item, changeMeta, instanceMeta) {
|
11375
|
-
var guid =
|
11883
|
+
var guid = guidFor(item);
|
11376
11884
|
|
11377
11885
|
if (!instanceMeta.itemCounts[guid]) {
|
11378
11886
|
instanceMeta.itemCounts[guid] = 1;
|
@@ -11383,7 +11891,7 @@ Ember.computed.uniq = function() {
|
|
11383
11891
|
return array;
|
11384
11892
|
},
|
11385
11893
|
removedItem: function(array, item, _, instanceMeta) {
|
11386
|
-
var guid =
|
11894
|
+
var guid = guidFor(item),
|
11387
11895
|
itemCounts = instanceMeta.itemCounts;
|
11388
11896
|
|
11389
11897
|
if (--itemCounts[guid] === 0) {
|
@@ -11394,12 +11902,44 @@ Ember.computed.uniq = function() {
|
|
11394
11902
|
});
|
11395
11903
|
return Ember.arrayComputed.apply(null, args);
|
11396
11904
|
};
|
11905
|
+
|
11906
|
+
/**
|
11907
|
+
Alias for [Ember.computed.uniq](/api/#method_computed_uniq).
|
11908
|
+
|
11909
|
+
@method computed.union
|
11910
|
+
@for Ember
|
11911
|
+
@param {String} propertyKey*
|
11912
|
+
@return {Ember.ComputedProperty} computes a new array with all the
|
11913
|
+
unique elements from the dependent array
|
11914
|
+
*/
|
11397
11915
|
Ember.computed.union = Ember.computed.uniq;
|
11398
11916
|
|
11917
|
+
/**
|
11918
|
+
A computed property which returns a new array with all the duplicated
|
11919
|
+
elements from two or more dependeny arrays.
|
11920
|
+
|
11921
|
+
Example
|
11922
|
+
|
11923
|
+
```javascript
|
11924
|
+
var obj = Ember.Object.createWithMixins({
|
11925
|
+
adaFriends: ['Charles Babbage', 'John Hobhouse', 'William King', 'Mary Somerville'],
|
11926
|
+
charlesFriends: ['William King', 'Mary Somerville', 'Ada Lovelace', 'George Peacock'],
|
11927
|
+
friendsInCommon: Ember.computed.intersect('adaFriends', 'charlesFriends')
|
11928
|
+
});
|
11929
|
+
|
11930
|
+
obj.get('friendsInCommon'); // ['William King', 'Mary Somerville']
|
11931
|
+
```
|
11932
|
+
|
11933
|
+
@method computed.intersect
|
11934
|
+
@for Ember
|
11935
|
+
@param {String} propertyKey*
|
11936
|
+
@return {Ember.ComputedProperty} computes a new array with all the
|
11937
|
+
duplicated elements from the dependent arrays
|
11938
|
+
*/
|
11399
11939
|
Ember.computed.intersect = function () {
|
11400
11940
|
var getDependentKeyGuids = function (changeMeta) {
|
11401
11941
|
return map(changeMeta.property._dependentKeys, function (dependentKey) {
|
11402
|
-
return
|
11942
|
+
return guidFor(dependentKey);
|
11403
11943
|
});
|
11404
11944
|
};
|
11405
11945
|
|
@@ -11410,9 +11950,9 @@ Ember.computed.intersect = function () {
|
|
11410
11950
|
},
|
11411
11951
|
|
11412
11952
|
addedItem: function(array, item, changeMeta, instanceMeta) {
|
11413
|
-
var itemGuid =
|
11953
|
+
var itemGuid = guidFor(item),
|
11414
11954
|
dependentGuids = getDependentKeyGuids(changeMeta),
|
11415
|
-
dependentGuid =
|
11955
|
+
dependentGuid = guidFor(changeMeta.arrayChanged),
|
11416
11956
|
numberOfDependentArrays = changeMeta.property._dependentKeys.length,
|
11417
11957
|
itemCounts = instanceMeta.itemCounts;
|
11418
11958
|
|
@@ -11421,15 +11961,15 @@ Ember.computed.intersect = function () {
|
|
11421
11961
|
|
11422
11962
|
if (++itemCounts[itemGuid][dependentGuid] === 1 &&
|
11423
11963
|
numberOfDependentArrays === Ember.keys(itemCounts[itemGuid]).length) {
|
11424
|
-
|
11964
|
+
|
11425
11965
|
array.addObject(item);
|
11426
11966
|
}
|
11427
11967
|
return array;
|
11428
11968
|
},
|
11429
11969
|
removedItem: function(array, item, changeMeta, instanceMeta) {
|
11430
|
-
var itemGuid =
|
11970
|
+
var itemGuid = guidFor(item),
|
11431
11971
|
dependentGuids = getDependentKeyGuids(changeMeta),
|
11432
|
-
dependentGuid =
|
11972
|
+
dependentGuid = guidFor(changeMeta.arrayChanged),
|
11433
11973
|
numberOfDependentArrays = changeMeta.property._dependentKeys.length,
|
11434
11974
|
numberOfArraysItemAppearsIn,
|
11435
11975
|
itemCounts = instanceMeta.itemCounts;
|
@@ -11450,6 +11990,34 @@ Ember.computed.intersect = function () {
|
|
11450
11990
|
return Ember.arrayComputed.apply(null, args);
|
11451
11991
|
};
|
11452
11992
|
|
11993
|
+
/**
|
11994
|
+
A computed property which returns a new array with all the
|
11995
|
+
properties from the first dependent array that are not in the second
|
11996
|
+
dependent array.
|
11997
|
+
|
11998
|
+
Example
|
11999
|
+
|
12000
|
+
```javascript
|
12001
|
+
App.Hampster = Ember.Object.extend({
|
12002
|
+
likes: ['banana', 'grape', 'kale'],
|
12003
|
+
wants: Ember.computed.setDiff('likes', 'fruits')
|
12004
|
+
});
|
12005
|
+
|
12006
|
+
var hampster = App.Hampster.create({fruits: [
|
12007
|
+
'grape',
|
12008
|
+
'kale',
|
12009
|
+
]});
|
12010
|
+
hampster.get('wants'); // ['banana']
|
12011
|
+
```
|
12012
|
+
|
12013
|
+
@method computed.setDiff
|
12014
|
+
@for Ember
|
12015
|
+
@param {String} setAProperty
|
12016
|
+
@param {String} setBProperty
|
12017
|
+
@return {Ember.ComputedProperty} computes a new array with all the
|
12018
|
+
items from the first dependent array that are not in the second
|
12019
|
+
dependent array
|
12020
|
+
*/
|
11453
12021
|
Ember.computed.setDiff = function (setAProperty, setBProperty) {
|
11454
12022
|
if (arguments.length !== 2) {
|
11455
12023
|
throw new Error("setDiff requires exactly two dependent arrays.");
|
@@ -11458,7 +12026,7 @@ Ember.computed.setDiff = function (setAProperty, setBProperty) {
|
|
11458
12026
|
addedItem: function (array, item, changeMeta, instanceMeta) {
|
11459
12027
|
var setA = get(this, setAProperty),
|
11460
12028
|
setB = get(this, setBProperty);
|
11461
|
-
|
12029
|
+
|
11462
12030
|
if (changeMeta.arrayChanged === setA) {
|
11463
12031
|
if (!setB.contains(item)) {
|
11464
12032
|
array.addObject(item);
|
@@ -11472,7 +12040,7 @@ Ember.computed.setDiff = function (setAProperty, setBProperty) {
|
|
11472
12040
|
removedItem: function (array, item, changeMeta, instanceMeta) {
|
11473
12041
|
var setA = get(this, setAProperty),
|
11474
12042
|
setB = get(this, setBProperty);
|
11475
|
-
|
12043
|
+
|
11476
12044
|
if (changeMeta.arrayChanged === setB) {
|
11477
12045
|
if (setA.contains(item)) {
|
11478
12046
|
array.addObject(item);
|
@@ -11486,7 +12054,7 @@ Ember.computed.setDiff = function (setAProperty, setBProperty) {
|
|
11486
12054
|
};
|
11487
12055
|
|
11488
12056
|
function binarySearch(array, item, low, high) {
|
11489
|
-
var mid, midItem, res;
|
12057
|
+
var mid, midItem, res, guidMid, guidItem;
|
11490
12058
|
|
11491
12059
|
if (arguments.length < 4) { high = get(array, 'length'); }
|
11492
12060
|
if (arguments.length < 3) { low = 0; }
|
@@ -11498,7 +12066,18 @@ function binarySearch(array, item, low, high) {
|
|
11498
12066
|
mid = low + Math.floor((high - low) / 2);
|
11499
12067
|
midItem = array.objectAt(mid);
|
11500
12068
|
|
12069
|
+
guidMid = _guidFor(midItem);
|
12070
|
+
guidItem = _guidFor(item);
|
12071
|
+
|
12072
|
+
if (guidMid === guidItem) {
|
12073
|
+
return mid;
|
12074
|
+
}
|
12075
|
+
|
11501
12076
|
res = this.order(midItem, item);
|
12077
|
+
if (res === 0) {
|
12078
|
+
res = guidMid < guidItem ? -1 : 1;
|
12079
|
+
}
|
12080
|
+
|
11502
12081
|
|
11503
12082
|
if (res < 0) {
|
11504
12083
|
return this.binarySearch(array, item, mid+1, high);
|
@@ -11507,8 +12086,66 @@ function binarySearch(array, item, low, high) {
|
|
11507
12086
|
}
|
11508
12087
|
|
11509
12088
|
return mid;
|
12089
|
+
|
12090
|
+
function _guidFor(item) {
|
12091
|
+
if (Ember.ObjectProxy.detectInstance(item)) {
|
12092
|
+
return guidFor(get(item, 'content'));
|
12093
|
+
}
|
12094
|
+
return guidFor(item);
|
12095
|
+
}
|
11510
12096
|
}
|
11511
12097
|
|
12098
|
+
/**
|
12099
|
+
A computed property which returns a new array with all the
|
12100
|
+
properties from the first dependent array sorted based on a property
|
12101
|
+
or sort function.
|
12102
|
+
|
12103
|
+
The callback method you provide should have the following signature:
|
12104
|
+
|
12105
|
+
```javascript
|
12106
|
+
function(itemA, itemB);
|
12107
|
+
```
|
12108
|
+
|
12109
|
+
- `itemA` the first item to compare.
|
12110
|
+
- `itemB` the second item to compare.
|
12111
|
+
|
12112
|
+
This function should return `-1` when `itemA` should come before
|
12113
|
+
`itemB`. It should return `1` when `itemA` should come after
|
12114
|
+
`itemB`. If the `itemA` and `itemB` are equal this function should return `0`.
|
12115
|
+
|
12116
|
+
Example
|
12117
|
+
|
12118
|
+
```javascript
|
12119
|
+
var ToDoList = Ember.Object.extend({
|
12120
|
+
todosSorting: ['name'],
|
12121
|
+
sortedTodos: Ember.computed.sort('todos', 'todosSorting'),
|
12122
|
+
priorityTodos: Ember.computed.sort('todos', function(a, b){
|
12123
|
+
if (a.priority > b.priority) {
|
12124
|
+
return 1;
|
12125
|
+
} else if (a.priority < b.priority) {
|
12126
|
+
return -1;
|
12127
|
+
}
|
12128
|
+
return 0;
|
12129
|
+
}),
|
12130
|
+
});
|
12131
|
+
var todoList = ToDoList.create({todos: [
|
12132
|
+
{name: 'Unit Test', priority: 2},
|
12133
|
+
{name: 'Documentation', priority: 3},
|
12134
|
+
{name: 'Release', priority: 1}
|
12135
|
+
]});
|
12136
|
+
|
12137
|
+
todoList.get('sortedTodos'); // [{name:'Documentation', priority:3}, {name:'Release', priority:1}, {name:'Unit Test', priority:2}]
|
12138
|
+
todoList.get('priroityTodos'); // [{name:'Release', priority:1}, {name:'Unit Test', priority:2}, {name:'Documentation', priority:3}]
|
12139
|
+
```
|
12140
|
+
|
12141
|
+
@method computed.sort
|
12142
|
+
@for Ember
|
12143
|
+
@param {String} dependentKey
|
12144
|
+
@param {String or Function} sortDefinition a dependent key to an
|
12145
|
+
array of sort properties or a function to use when sorting
|
12146
|
+
@return {Ember.ComputedProperty} computes a new sorted array based
|
12147
|
+
on the sort property array or callback function
|
12148
|
+
*/
|
11512
12149
|
Ember.computed.sort = function (itemsKey, sortDefinition) {
|
11513
12150
|
|
11514
12151
|
|
@@ -11595,9 +12232,8 @@ Ember.computed.sort = function (itemsKey, sortDefinition) {
|
|
11595
12232
|
removedItem: function (array, item, changeMeta, instanceMeta) {
|
11596
12233
|
var proxyProperties, index, searchItem;
|
11597
12234
|
|
11598
|
-
if (changeMeta.
|
11599
|
-
proxyProperties = { content: item };
|
11600
|
-
proxyProperties[changeMeta.keyChanged] = changeMeta.previousValue;
|
12235
|
+
if (changeMeta.previousValues) {
|
12236
|
+
proxyProperties = merge({ content: item }, changeMeta.previousValues);
|
11601
12237
|
|
11602
12238
|
searchItem = Ember.ObjectProxy.create(proxyProperties);
|
11603
12239
|
} else {
|
@@ -12021,9 +12657,9 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
12021
12657
|
Computed properties allow you to treat a function like a property:
|
12022
12658
|
|
12023
12659
|
```javascript
|
12024
|
-
MyApp.
|
12025
|
-
firstName:
|
12026
|
-
lastName:
|
12660
|
+
MyApp.President = Ember.Object.extend({
|
12661
|
+
firstName: '',
|
12662
|
+
lastName: '',
|
12027
12663
|
|
12028
12664
|
fullName: function() {
|
12029
12665
|
return this.get('firstName') + ' ' + this.get('lastName');
|
@@ -12032,7 +12668,12 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
12032
12668
|
}.property()
|
12033
12669
|
});
|
12034
12670
|
|
12035
|
-
MyApp.
|
12671
|
+
var president = MyApp.President.create({
|
12672
|
+
firstName: "Barack",
|
12673
|
+
lastName: "Obama"
|
12674
|
+
});
|
12675
|
+
|
12676
|
+
president.get('fullName'); // "Barack Obama"
|
12036
12677
|
```
|
12037
12678
|
|
12038
12679
|
Treating a function like a property is useful because they can work with
|
@@ -12044,9 +12685,9 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
12044
12685
|
about these dependencies like this:
|
12045
12686
|
|
12046
12687
|
```javascript
|
12047
|
-
MyApp.
|
12048
|
-
firstName:
|
12049
|
-
lastName:
|
12688
|
+
MyApp.President = Ember.Object.extend({
|
12689
|
+
firstName: '',
|
12690
|
+
lastName: '',
|
12050
12691
|
|
12051
12692
|
fullName: function() {
|
12052
12693
|
return this.get('firstName') + ' ' + this.get('lastName');
|
@@ -12083,15 +12724,18 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
12083
12724
|
For example:
|
12084
12725
|
|
12085
12726
|
```javascript
|
12086
|
-
Ember.Object.
|
12727
|
+
Ember.Object.extend({
|
12087
12728
|
valueObserver: function() {
|
12088
12729
|
// Executes whenever the "value" property changes
|
12089
12730
|
}.observes('value')
|
12090
12731
|
});
|
12091
12732
|
```
|
12092
12733
|
|
12093
|
-
|
12094
|
-
|
12734
|
+
In the future this method may become asynchronous. If you want to ensure
|
12735
|
+
synchronous behavior, use `observesImmediately`.
|
12736
|
+
|
12737
|
+
See `Ember.observer`.
|
12738
|
+
|
12095
12739
|
@method observes
|
12096
12740
|
@for Function
|
12097
12741
|
*/
|
@@ -12100,24 +12744,58 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
12100
12744
|
return this;
|
12101
12745
|
};
|
12102
12746
|
|
12747
|
+
/**
|
12748
|
+
The `observesImmediately` extension of Javascript's Function prototype is
|
12749
|
+
available when `Ember.EXTEND_PROTOTYPES` or
|
12750
|
+
`Ember.EXTEND_PROTOTYPES.Function` is true, which is the default.
|
12751
|
+
|
12752
|
+
You can observe property changes simply by adding the `observesImmediately`
|
12753
|
+
call to the end of your method declarations in classes that you write.
|
12754
|
+
For example:
|
12755
|
+
|
12756
|
+
```javascript
|
12757
|
+
Ember.Object.extend({
|
12758
|
+
valueObserver: function() {
|
12759
|
+
// Executes immediately after the "value" property changes
|
12760
|
+
}.observesImmediately('value')
|
12761
|
+
});
|
12762
|
+
```
|
12763
|
+
|
12764
|
+
In the future, `observes` may become asynchronous. In this event,
|
12765
|
+
`observesImmediately` will maintain the synchronous behavior.
|
12766
|
+
|
12767
|
+
See `Ember.immediateObserver`.
|
12768
|
+
|
12769
|
+
@method observesImmediately
|
12770
|
+
@for Function
|
12771
|
+
*/
|
12772
|
+
Function.prototype.observesImmediately = function() {
|
12773
|
+
for (var i=0, l=arguments.length; i<l; i++) {
|
12774
|
+
var arg = arguments[i];
|
12775
|
+
|
12776
|
+
}
|
12777
|
+
|
12778
|
+
return this.observes.apply(this, arguments);
|
12779
|
+
};
|
12780
|
+
|
12103
12781
|
/**
|
12104
12782
|
The `observesBefore` extension of Javascript's Function prototype is
|
12105
12783
|
available when `Ember.EXTEND_PROTOTYPES` or
|
12106
12784
|
`Ember.EXTEND_PROTOTYPES.Function` is true, which is the default.
|
12107
12785
|
|
12108
|
-
You can get notified when a property
|
12786
|
+
You can get notified when a property change is about to happen by
|
12109
12787
|
by adding the `observesBefore` call to the end of your method
|
12110
12788
|
declarations in classes that you write. For example:
|
12111
12789
|
|
12112
12790
|
```javascript
|
12113
|
-
Ember.Object.
|
12791
|
+
Ember.Object.extend({
|
12114
12792
|
valueObserver: function() {
|
12115
12793
|
// Executes whenever the "value" property is about to change
|
12116
12794
|
}.observesBefore('value')
|
12117
12795
|
});
|
12118
12796
|
```
|
12119
12797
|
|
12120
|
-
See `Ember.
|
12798
|
+
See `Ember.beforeObserver`.
|
12121
12799
|
|
12122
12800
|
@method observesBefore
|
12123
12801
|
@for Function
|
@@ -13560,11 +14238,6 @@ Ember.Evented = Ember.Mixin.create({
|
|
13560
14238
|
Ember.sendEvent(this, name, args);
|
13561
14239
|
},
|
13562
14240
|
|
13563
|
-
fire: function(name) {
|
13564
|
-
|
13565
|
-
this.trigger.apply(this, arguments);
|
13566
|
-
},
|
13567
|
-
|
13568
14241
|
/**
|
13569
14242
|
Cancels subscription for given name, target, and method.
|
13570
14243
|
|
@@ -13743,6 +14416,121 @@ Ember.ActionHandler = Ember.Mixin.create({
|
|
13743
14416
|
|
13744
14417
|
|
13745
14418
|
|
14419
|
+
(function() {
|
14420
|
+
var set = Ember.set, get = Ember.get,
|
14421
|
+
resolve = Ember.RSVP.resolve,
|
14422
|
+
rethrow = Ember.RSVP.rethrow,
|
14423
|
+
not = Ember.computed.not,
|
14424
|
+
or = Ember.computed.or;
|
14425
|
+
|
14426
|
+
/**
|
14427
|
+
@module ember
|
14428
|
+
@submodule ember-runtime
|
14429
|
+
*/
|
14430
|
+
|
14431
|
+
function installPromise(proxy, promise) {
|
14432
|
+
promise.then(function(value) {
|
14433
|
+
set(proxy, 'isFulfilled', true);
|
14434
|
+
set(proxy, 'content', value);
|
14435
|
+
|
14436
|
+
return value;
|
14437
|
+
}, function(reason) {
|
14438
|
+
set(proxy, 'isRejected', true);
|
14439
|
+
set(proxy, 'reason', reason);
|
14440
|
+
}).fail(rethrow);
|
14441
|
+
}
|
14442
|
+
|
14443
|
+
/**
|
14444
|
+
A low level mixin making ObjectProxy, ObjectController or ArrayController's promise aware.
|
14445
|
+
|
14446
|
+
```javascript
|
14447
|
+
var ObjectPromiseController = Ember.ObjectController.extend(Ember.PromiseProxyMixin);
|
14448
|
+
|
14449
|
+
var controller = ObjectPromiseController.create({
|
14450
|
+
promise: $.getJSON('/some/remote/data.json')
|
14451
|
+
});
|
14452
|
+
|
14453
|
+
controller.then(function(json){
|
14454
|
+
// the json
|
14455
|
+
}, function(reason) {
|
14456
|
+
// the reason why you have no json
|
14457
|
+
});
|
14458
|
+
```
|
14459
|
+
|
14460
|
+
the controller has bindable attributes which
|
14461
|
+
track the promises life cycle
|
14462
|
+
|
14463
|
+
```javascript
|
14464
|
+
controller.get('isPending') //=> true
|
14465
|
+
controller.get('isSettled') //=> false
|
14466
|
+
controller.get('isRejected') //=> false
|
14467
|
+
controller.get('isFulfilled') //=> false
|
14468
|
+
```
|
14469
|
+
|
14470
|
+
When the the $.getJSON completes, and the promise is fulfilled
|
14471
|
+
with json, the life cycle attributes will update accordingly.
|
14472
|
+
|
14473
|
+
```javascript
|
14474
|
+
controller.get('isPending') //=> false
|
14475
|
+
controller.get('isSettled') //=> true
|
14476
|
+
controller.get('isRejected') //=> false
|
14477
|
+
controller.get('isFulfilled') //=> true
|
14478
|
+
```
|
14479
|
+
|
14480
|
+
As the controller is an ObjectController, and the json now its content,
|
14481
|
+
all the json properties will be available directly from the controller.
|
14482
|
+
|
14483
|
+
```javascript
|
14484
|
+
// Assuming the following json:
|
14485
|
+
{
|
14486
|
+
firstName: 'Stefan',
|
14487
|
+
lastName: 'Penner'
|
14488
|
+
}
|
14489
|
+
|
14490
|
+
// both properties will accessible on the controller
|
14491
|
+
controller.get('firstName') //=> 'Stefan'
|
14492
|
+
controller.get('lastName') //=> 'Penner'
|
14493
|
+
```
|
14494
|
+
|
14495
|
+
If the controller is backing a template, the attributes are
|
14496
|
+
bindable from within that template
|
14497
|
+
```handlebars
|
14498
|
+
{{#if isPending}}
|
14499
|
+
loading...
|
14500
|
+
{{else}}
|
14501
|
+
firstName: {{firstName}}
|
14502
|
+
lastName: {{lastName}}
|
14503
|
+
{{/if}}
|
14504
|
+
```
|
14505
|
+
@class Ember.PromiseProxyMixin
|
14506
|
+
*/
|
14507
|
+
Ember.PromiseProxyMixin = Ember.Mixin.create({
|
14508
|
+
reason: null,
|
14509
|
+
isPending: not('isSettled').readOnly(),
|
14510
|
+
isSettled: or('isRejected', 'isFulfilled').readOnly(),
|
14511
|
+
isRejected: false,
|
14512
|
+
isFulfilled: false,
|
14513
|
+
|
14514
|
+
promise: Ember.computed(function(key, promise) {
|
14515
|
+
if (arguments.length === 2) {
|
14516
|
+
promise = resolve(promise);
|
14517
|
+
installPromise(this, promise);
|
14518
|
+
return promise;
|
14519
|
+
} else {
|
14520
|
+
throw new Error("PromiseProxy's promise must be set");
|
14521
|
+
}
|
14522
|
+
}),
|
14523
|
+
|
14524
|
+
then: function(fulfill, reject) {
|
14525
|
+
return get(this, 'promise').then(fulfill, reject);
|
14526
|
+
}
|
14527
|
+
});
|
14528
|
+
|
14529
|
+
|
14530
|
+
})();
|
14531
|
+
|
14532
|
+
|
14533
|
+
|
13746
14534
|
(function() {
|
13747
14535
|
|
13748
14536
|
})();
|
@@ -15438,7 +16226,9 @@ var get = Ember.get,
|
|
15438
16226
|
removeBeforeObserver = Ember.removeBeforeObserver,
|
15439
16227
|
removeObserver = Ember.removeObserver,
|
15440
16228
|
propertyWillChange = Ember.propertyWillChange,
|
15441
|
-
propertyDidChange = Ember.propertyDidChange
|
16229
|
+
propertyDidChange = Ember.propertyDidChange,
|
16230
|
+
meta = Ember.meta,
|
16231
|
+
defineProperty = Ember.defineProperty;
|
15442
16232
|
|
15443
16233
|
function contentPropertyWillChange(content, contentKey) {
|
15444
16234
|
var key = contentKey.slice(8); // remove "content."
|
@@ -15556,6 +16346,14 @@ Ember.ObjectProxy = Ember.Object.extend(/** @scope Ember.ObjectProxy.prototype *
|
|
15556
16346
|
},
|
15557
16347
|
|
15558
16348
|
setUnknownProperty: function (key, value) {
|
16349
|
+
var m = meta(this);
|
16350
|
+
if (m.proto === this) {
|
16351
|
+
// if marked as prototype then just defineProperty
|
16352
|
+
// rather than delegate
|
16353
|
+
defineProperty(this, key, null, value);
|
16354
|
+
return value;
|
16355
|
+
}
|
16356
|
+
|
15559
16357
|
var content = get(this, 'content');
|
15560
16358
|
|
15561
16359
|
return set(content, key, value);
|
@@ -15563,25 +16361,6 @@ Ember.ObjectProxy = Ember.Object.extend(/** @scope Ember.ObjectProxy.prototype *
|
|
15563
16361
|
|
15564
16362
|
});
|
15565
16363
|
|
15566
|
-
Ember.ObjectProxy.reopenClass({
|
15567
|
-
create: function () {
|
15568
|
-
var mixin, prototype, i, l, properties, keyName;
|
15569
|
-
if (arguments.length) {
|
15570
|
-
prototype = this.proto();
|
15571
|
-
for (i = 0, l = arguments.length; i < l; i++) {
|
15572
|
-
properties = arguments[i];
|
15573
|
-
for (keyName in properties) {
|
15574
|
-
if (!properties.hasOwnProperty(keyName) || keyName in prototype) { continue; }
|
15575
|
-
if (!mixin) mixin = {};
|
15576
|
-
mixin[keyName] = null;
|
15577
|
-
}
|
15578
|
-
}
|
15579
|
-
if (mixin) this._initMixins([mixin]);
|
15580
|
-
}
|
15581
|
-
return this._super.apply(this, arguments);
|
15582
|
-
}
|
15583
|
-
});
|
15584
|
-
|
15585
16364
|
})();
|
15586
16365
|
|
15587
16366
|
|
@@ -15594,7 +16373,8 @@ Ember.ObjectProxy.reopenClass({
|
|
15594
16373
|
|
15595
16374
|
|
15596
16375
|
var set = Ember.set, get = Ember.get, guidFor = Ember.guidFor;
|
15597
|
-
var forEach = Ember.EnumerableUtils.forEach
|
16376
|
+
var forEach = Ember.EnumerableUtils.forEach,
|
16377
|
+
indexOf = Ember.ArrayPolyfills.indexOf;
|
15598
16378
|
|
15599
16379
|
var EachArray = Ember.Object.extend(Ember.Array, {
|
15600
16380
|
|
@@ -15652,7 +16432,7 @@ function removeObserverForContentKey(content, keyName, proxy, idx, loc) {
|
|
15652
16432
|
|
15653
16433
|
guid = guidFor(item);
|
15654
16434
|
indicies = objects[guid];
|
15655
|
-
indicies[
|
16435
|
+
indicies[indexOf.call(indicies, loc)] = null;
|
15656
16436
|
}
|
15657
16437
|
}
|
15658
16438
|
}
|
@@ -17056,11 +17836,15 @@ Ember.ArrayController = Ember.ArrayProxy.extend(Ember.ControllerMixin,
|
|
17056
17836
|
},
|
17057
17837
|
|
17058
17838
|
init: function() {
|
17059
|
-
if (!this.get('content')) { Ember.defineProperty(this, 'content', undefined, Ember.A()); }
|
17060
17839
|
this._super();
|
17840
|
+
|
17061
17841
|
this.set('_subControllers', Ember.A());
|
17062
17842
|
},
|
17063
17843
|
|
17844
|
+
content: Ember.computed(function () {
|
17845
|
+
return Ember.A();
|
17846
|
+
}),
|
17847
|
+
|
17064
17848
|
controllerAt: function(idx, object, controllerClass) {
|
17065
17849
|
var container = get(this, 'container'),
|
17066
17850
|
subControllers = get(this, '_subControllers'),
|