ember-source 2.11.0.beta.4 → 2.11.0.beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +42 -34
- data/dist/ember-template-compiler.js +77 -38
- data/dist/ember-testing.js +2 -2
- data/dist/ember-tests.js +73071 -0
- data/dist/ember-tests.prod.js +72592 -0
- data/dist/ember.debug.js +810 -561
- data/dist/ember.js +810 -561
- data/dist/ember.min.js +200 -191
- data/dist/ember.prod.js +606 -557
- metadata +4 -3
    
        data/dist/ember.js
    CHANGED
    
    | @@ -1,12 +1,12 @@ | |
| 1 1 | 
             
            ;(function() {
         | 
| 2 2 | 
             
            /*!
         | 
| 3 3 | 
             
             * @overview  Ember - JavaScript Application Framework
         | 
| 4 | 
            -
             * @copyright Copyright 2011- | 
| 4 | 
            +
             * @copyright Copyright 2011-2017 Tilde Inc. and contributors
         | 
| 5 5 | 
             
             *            Portions Copyright 2006-2011 Strobe Inc.
         | 
| 6 6 | 
             
             *            Portions Copyright 2008-2011 Apple Inc. All rights reserved.
         | 
| 7 7 | 
             
             * @license   Licensed under MIT license
         | 
| 8 8 | 
             
             *            See https://raw.github.com/emberjs/ember.js/master/LICENSE
         | 
| 9 | 
            -
             * @version   2.11.0-beta. | 
| 9 | 
            +
             * @version   2.11.0-beta.8
         | 
| 10 10 | 
             
             */
         | 
| 11 11 |  | 
| 12 12 | 
             
            var enifed, requireModule, Ember;
         | 
| @@ -6840,16 +6840,15 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6840 6840 |  | 
| 6841 6841 | 
             
                The easiest way to create an `Ember.Component` is via
         | 
| 6842 6842 | 
             
                a template. If you name a template
         | 
| 6843 | 
            -
                `components/my-foo`, you will be able to use
         | 
| 6843 | 
            +
                `app/components/my-foo.hbs`, you will be able to use
         | 
| 6844 6844 | 
             
                `{{my-foo}}` in other templates, which will make
         | 
| 6845 6845 | 
             
                an instance of the isolated component.
         | 
| 6846 6846 |  | 
| 6847 | 
            -
                ``` | 
| 6848 | 
            -
                {{ | 
| 6847 | 
            +
                ```app/components/my-foo.hbs
         | 
| 6848 | 
            +
                {{person-profile person=currentUser}}
         | 
| 6849 6849 | 
             
                ```
         | 
| 6850 6850 |  | 
| 6851 | 
            -
                ``` | 
| 6852 | 
            -
                <!-- app-profile template -->
         | 
| 6851 | 
            +
                ```app/components/person-profile.hbs
         | 
| 6853 6852 | 
             
                <h1>{{person.title}}</h1>
         | 
| 6854 6853 | 
             
                <img src={{person.avatar}}>
         | 
| 6855 6854 | 
             
                <p class='signature'>{{person.signature}}</p>
         | 
| @@ -6861,14 +6860,13 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6861 6860 | 
             
                context of the surrounding context or outer controller:
         | 
| 6862 6861 |  | 
| 6863 6862 | 
             
                ```handlebars
         | 
| 6864 | 
            -
                {{# | 
| 6863 | 
            +
                {{#person-profile person=currentUser}}
         | 
| 6865 6864 | 
             
                  <p>Admin mode</p>
         | 
| 6866 6865 | 
             
                  {{! Executed in the controller's context. }}
         | 
| 6867 | 
            -
                {{/ | 
| 6866 | 
            +
                {{/person-profile}}
         | 
| 6868 6867 | 
             
                ```
         | 
| 6869 6868 |  | 
| 6870 | 
            -
                ``` | 
| 6871 | 
            -
                <!-- app-profile template -->
         | 
| 6869 | 
            +
                ```app/components/person-profile.hbs
         | 
| 6872 6870 | 
             
                <h1>{{person.title}}</h1>
         | 
| 6873 6871 | 
             
                {{! Executed in the component's context. }}
         | 
| 6874 6872 | 
             
                {{yield}} {{! block contents }}
         | 
| @@ -6877,16 +6875,17 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6877 6875 | 
             
                If you want to customize the component, in order to
         | 
| 6878 6876 | 
             
                handle events or actions, you implement a subclass
         | 
| 6879 6877 | 
             
                of `Ember.Component` named after the name of the
         | 
| 6880 | 
            -
                component. | 
| 6881 | 
            -
                your subclass like `AppProfileComponent`.
         | 
| 6878 | 
            +
                component.
         | 
| 6882 6879 |  | 
| 6883 6880 | 
             
                For example, you could implement the action
         | 
| 6884 | 
            -
                `hello` for the ` | 
| 6881 | 
            +
                `hello` for the `person-profile` component:
         | 
| 6885 6882 |  | 
| 6886 | 
            -
                ``` | 
| 6887 | 
            -
                 | 
| 6883 | 
            +
                ```app/components/person-profile.js
         | 
| 6884 | 
            +
                import Ember from 'ember';
         | 
| 6885 | 
            +
              
         | 
| 6886 | 
            +
                export default Ember.Component.extend({
         | 
| 6888 6887 | 
             
                  actions: {
         | 
| 6889 | 
            -
                    hello | 
| 6888 | 
            +
                    hello(name) {
         | 
| 6890 6889 | 
             
                      console.log("Hello", name);
         | 
| 6891 6890 | 
             
                    }
         | 
| 6892 6891 | 
             
                  }
         | 
| @@ -6895,19 +6894,423 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6895 6894 |  | 
| 6896 6895 | 
             
                And then use it in the component's template:
         | 
| 6897 6896 |  | 
| 6898 | 
            -
                ``` | 
| 6899 | 
            -
                <!-- app-profile template -->
         | 
| 6897 | 
            +
                ```app/templates/components/person-profile.hbs
         | 
| 6900 6898 | 
             
                <h1>{{person.title}}</h1>
         | 
| 6901 6899 | 
             
                {{yield}} <!-- block contents -->
         | 
| 6902 6900 | 
             
                <button {{action 'hello' person.name}}>
         | 
| 6903 6901 | 
             
                  Say Hello to {{person.name}}
         | 
| 6904 6902 | 
             
                </button>
         | 
| 6905 6903 | 
             
                ```
         | 
| 6904 | 
            +
              
         | 
| 6906 6905 | 
             
                Components must have a `-` in their name to avoid
         | 
| 6907 6906 | 
             
                conflicts with built-in controls that wrap HTML
         | 
| 6908 6907 | 
             
                elements. This is consistent with the same
         | 
| 6909 6908 | 
             
                requirement in web components.
         | 
| 6910 6909 |  | 
| 6910 | 
            +
              
         | 
| 6911 | 
            +
                ## HTML Tag
         | 
| 6912 | 
            +
              
         | 
| 6913 | 
            +
                The default HTML tag name used for a component's DOM representation is `div`.
         | 
| 6914 | 
            +
                This can be customized by setting the `tagName` property.
         | 
| 6915 | 
            +
                The following component class:
         | 
| 6916 | 
            +
              
         | 
| 6917 | 
            +
                ```app/components/emphasized-paragraph.js
         | 
| 6918 | 
            +
                import Ember from 'ember';
         | 
| 6919 | 
            +
              
         | 
| 6920 | 
            +
                export default Ember.Component.extend({
         | 
| 6921 | 
            +
                  tagName: 'em'
         | 
| 6922 | 
            +
                });
         | 
| 6923 | 
            +
                ```
         | 
| 6924 | 
            +
              
         | 
| 6925 | 
            +
                Would result in instances with the following HTML:
         | 
| 6926 | 
            +
              
         | 
| 6927 | 
            +
                ```html
         | 
| 6928 | 
            +
                <em id="ember1" class="ember-view"></em>
         | 
| 6929 | 
            +
                ```
         | 
| 6930 | 
            +
              
         | 
| 6931 | 
            +
              
         | 
| 6932 | 
            +
                ## HTML `class` Attribute
         | 
| 6933 | 
            +
              
         | 
| 6934 | 
            +
                The HTML `class` attribute of a component's tag can be set by providing a
         | 
| 6935 | 
            +
                `classNames` property that is set to an array of strings:
         | 
| 6936 | 
            +
              
         | 
| 6937 | 
            +
                ```app/components/my-widget.js
         | 
| 6938 | 
            +
                import Ember from 'ember';
         | 
| 6939 | 
            +
              
         | 
| 6940 | 
            +
                export default Ember.Component.extend({
         | 
| 6941 | 
            +
                  classNames: ['my-class', 'my-other-class']
         | 
| 6942 | 
            +
                });
         | 
| 6943 | 
            +
                ```
         | 
| 6944 | 
            +
              
         | 
| 6945 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 6946 | 
            +
              
         | 
| 6947 | 
            +
                ```html
         | 
| 6948 | 
            +
                <div id="ember1" class="ember-view my-class my-other-class"></div>
         | 
| 6949 | 
            +
                ```
         | 
| 6950 | 
            +
              
         | 
| 6951 | 
            +
                `class` attribute values can also be set by providing a `classNameBindings`
         | 
| 6952 | 
            +
                property set to an array of properties names for the component. The return value
         | 
| 6953 | 
            +
                of these properties will be added as part of the value for the components's `class`
         | 
| 6954 | 
            +
                attribute. These properties can be computed properties:
         | 
| 6955 | 
            +
              
         | 
| 6956 | 
            +
                ```app/components/my-widget.js
         | 
| 6957 | 
            +
                import Ember from 'ember';
         | 
| 6958 | 
            +
              
         | 
| 6959 | 
            +
                export default Ember.Component.extend({
         | 
| 6960 | 
            +
                  classNameBindings: ['propertyA', 'propertyB'],
         | 
| 6961 | 
            +
                  propertyA: 'from-a',
         | 
| 6962 | 
            +
                  propertyB: Ember.computed(function() {
         | 
| 6963 | 
            +
                    if (someLogic) { return 'from-b'; }
         | 
| 6964 | 
            +
                  })
         | 
| 6965 | 
            +
                });
         | 
| 6966 | 
            +
                ```
         | 
| 6967 | 
            +
              
         | 
| 6968 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 6969 | 
            +
              
         | 
| 6970 | 
            +
                ```html
         | 
| 6971 | 
            +
                <div id="ember1" class="ember-view from-a from-b"></div>
         | 
| 6972 | 
            +
                ```
         | 
| 6973 | 
            +
              
         | 
| 6974 | 
            +
                If the value of a class name binding returns a boolean the property name
         | 
| 6975 | 
            +
                itself will be used as the class name if the property is true.
         | 
| 6976 | 
            +
                The class name will not be added if the value is `false` or `undefined`.
         | 
| 6977 | 
            +
              
         | 
| 6978 | 
            +
                ```app/components/my-widget.js
         | 
| 6979 | 
            +
                import Ember from 'ember';
         | 
| 6980 | 
            +
              
         | 
| 6981 | 
            +
                export default Ember.Component.extend({
         | 
| 6982 | 
            +
                  classNameBindings: ['hovered'],
         | 
| 6983 | 
            +
                  hovered: true
         | 
| 6984 | 
            +
                });
         | 
| 6985 | 
            +
                ```
         | 
| 6986 | 
            +
              
         | 
| 6987 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 6988 | 
            +
              
         | 
| 6989 | 
            +
                ```html
         | 
| 6990 | 
            +
                <div id="ember1" class="ember-view hovered"></div>
         | 
| 6991 | 
            +
                ```
         | 
| 6992 | 
            +
              
         | 
| 6993 | 
            +
                When using boolean class name bindings you can supply a string value other
         | 
| 6994 | 
            +
                than the property name for use as the `class` HTML attribute by appending the
         | 
| 6995 | 
            +
                preferred value after a ":" character when defining the binding:
         | 
| 6996 | 
            +
              
         | 
| 6997 | 
            +
                ```app/components/my-widget.js
         | 
| 6998 | 
            +
                import Ember from 'ember';
         | 
| 6999 | 
            +
              
         | 
| 7000 | 
            +
                export default Ember.Component.extend({
         | 
| 7001 | 
            +
                  classNameBindings: ['awesome:so-very-cool'],
         | 
| 7002 | 
            +
                  awesome: true
         | 
| 7003 | 
            +
                });
         | 
| 7004 | 
            +
                ```
         | 
| 7005 | 
            +
              
         | 
| 7006 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7007 | 
            +
              
         | 
| 7008 | 
            +
                ```html
         | 
| 7009 | 
            +
                <div id="ember1" class="ember-view so-very-cool"></div>
         | 
| 7010 | 
            +
                ```
         | 
| 7011 | 
            +
              
         | 
| 7012 | 
            +
                Boolean value class name bindings whose property names are in a
         | 
| 7013 | 
            +
                camelCase-style format will be converted to a dasherized format:
         | 
| 7014 | 
            +
              
         | 
| 7015 | 
            +
                ```app/components/my-widget.js
         | 
| 7016 | 
            +
                import Ember from 'ember';
         | 
| 7017 | 
            +
              
         | 
| 7018 | 
            +
                export default Ember.Component.extend({
         | 
| 7019 | 
            +
                  classNameBindings: ['isUrgent'],
         | 
| 7020 | 
            +
                  isUrgent: true
         | 
| 7021 | 
            +
                });
         | 
| 7022 | 
            +
                ```
         | 
| 7023 | 
            +
              
         | 
| 7024 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7025 | 
            +
              
         | 
| 7026 | 
            +
                ```html
         | 
| 7027 | 
            +
                <div id="ember1" class="ember-view is-urgent"></div>
         | 
| 7028 | 
            +
                ```
         | 
| 7029 | 
            +
              
         | 
| 7030 | 
            +
                Class name bindings can also refer to object values that are found by
         | 
| 7031 | 
            +
                traversing a path relative to the component itself:
         | 
| 7032 | 
            +
              
         | 
| 7033 | 
            +
                ```app/components/my-widget.js
         | 
| 7034 | 
            +
                import Ember from 'ember';
         | 
| 7035 | 
            +
              
         | 
| 7036 | 
            +
                export default Ember.Component.extend({
         | 
| 7037 | 
            +
                  classNameBindings: ['messages.empty'],
         | 
| 7038 | 
            +
                  messages: Ember.Object.create({
         | 
| 7039 | 
            +
                    empty: true
         | 
| 7040 | 
            +
                  })
         | 
| 7041 | 
            +
                });
         | 
| 7042 | 
            +
                ```
         | 
| 7043 | 
            +
              
         | 
| 7044 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7045 | 
            +
              
         | 
| 7046 | 
            +
                ```html
         | 
| 7047 | 
            +
                <div id="ember1" class="ember-view empty"></div>
         | 
| 7048 | 
            +
                ```
         | 
| 7049 | 
            +
              
         | 
| 7050 | 
            +
                If you want to add a class name for a property which evaluates to true and
         | 
| 7051 | 
            +
                and a different class name if it evaluates to false, you can pass a binding
         | 
| 7052 | 
            +
                like this:
         | 
| 7053 | 
            +
              
         | 
| 7054 | 
            +
                ```app/components/my-widget.js
         | 
| 7055 | 
            +
                import Ember from 'ember';
         | 
| 7056 | 
            +
              
         | 
| 7057 | 
            +
                export default Ember.Component.extend({
         | 
| 7058 | 
            +
                  classNameBindings: ['isEnabled:enabled:disabled'],
         | 
| 7059 | 
            +
                  isEnabled: true
         | 
| 7060 | 
            +
                });
         | 
| 7061 | 
            +
                ```
         | 
| 7062 | 
            +
              
         | 
| 7063 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7064 | 
            +
              
         | 
| 7065 | 
            +
                ```html
         | 
| 7066 | 
            +
                <div id="ember1" class="ember-view enabled"></div>
         | 
| 7067 | 
            +
                ```
         | 
| 7068 | 
            +
              
         | 
| 7069 | 
            +
                When isEnabled is `false`, the resulting HTML representation looks like
         | 
| 7070 | 
            +
                this:
         | 
| 7071 | 
            +
              
         | 
| 7072 | 
            +
                ```html
         | 
| 7073 | 
            +
                <div id="ember1" class="ember-view disabled"></div>
         | 
| 7074 | 
            +
                ```
         | 
| 7075 | 
            +
              
         | 
| 7076 | 
            +
                This syntax offers the convenience to add a class if a property is `false`:
         | 
| 7077 | 
            +
              
         | 
| 7078 | 
            +
                ```app/components/my-widget.js
         | 
| 7079 | 
            +
                import Ember from 'ember';
         | 
| 7080 | 
            +
              
         | 
| 7081 | 
            +
                // Applies no class when isEnabled is true and class 'disabled' when isEnabled is false
         | 
| 7082 | 
            +
                export default Ember.Component.extend({
         | 
| 7083 | 
            +
                  classNameBindings: ['isEnabled::disabled'],
         | 
| 7084 | 
            +
                  isEnabled: true
         | 
| 7085 | 
            +
                });
         | 
| 7086 | 
            +
                ```
         | 
| 7087 | 
            +
              
         | 
| 7088 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7089 | 
            +
              
         | 
| 7090 | 
            +
                ```html
         | 
| 7091 | 
            +
                <div id="ember1" class="ember-view"></div>
         | 
| 7092 | 
            +
                ```
         | 
| 7093 | 
            +
              
         | 
| 7094 | 
            +
                When the `isEnabled` property on the component is set to `false`, it will result
         | 
| 7095 | 
            +
                in component instances with an HTML representation of:
         | 
| 7096 | 
            +
              
         | 
| 7097 | 
            +
                ```html
         | 
| 7098 | 
            +
                <div id="ember1" class="ember-view disabled"></div>
         | 
| 7099 | 
            +
                ```
         | 
| 7100 | 
            +
              
         | 
| 7101 | 
            +
                Updates to the value of a class name binding will result in automatic
         | 
| 7102 | 
            +
                update of the  HTML `class` attribute in the component's rendered HTML
         | 
| 7103 | 
            +
                representation. If the value becomes `false` or `undefined` the class name
         | 
| 7104 | 
            +
                will be removed.
         | 
| 7105 | 
            +
                Both `classNames` and `classNameBindings` are concatenated properties. See
         | 
| 7106 | 
            +
                [Ember.Object](/api/classes/Ember.Object.html) documentation for more
         | 
| 7107 | 
            +
                information about concatenated properties.
         | 
| 7108 | 
            +
              
         | 
| 7109 | 
            +
              
         | 
| 7110 | 
            +
                ## HTML Attributes
         | 
| 7111 | 
            +
              
         | 
| 7112 | 
            +
                The HTML attribute section of a component's tag can be set by providing an
         | 
| 7113 | 
            +
                `attributeBindings` property set to an array of property names on the component.
         | 
| 7114 | 
            +
                The return value of these properties will be used as the value of the component's
         | 
| 7115 | 
            +
                HTML associated attribute:
         | 
| 7116 | 
            +
              
         | 
| 7117 | 
            +
                ```app/components/my-anchor.js
         | 
| 7118 | 
            +
                import Ember from 'ember';
         | 
| 7119 | 
            +
              
         | 
| 7120 | 
            +
                export default Ember.Component.extend({
         | 
| 7121 | 
            +
                  tagName: 'a',
         | 
| 7122 | 
            +
                  attributeBindings: ['href'],
         | 
| 7123 | 
            +
                  href: 'http://google.com'
         | 
| 7124 | 
            +
                });
         | 
| 7125 | 
            +
                ```
         | 
| 7126 | 
            +
              
         | 
| 7127 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7128 | 
            +
              
         | 
| 7129 | 
            +
                ```html
         | 
| 7130 | 
            +
                <a id="ember1" class="ember-view" href="http://google.com"></a>
         | 
| 7131 | 
            +
                ```
         | 
| 7132 | 
            +
              
         | 
| 7133 | 
            +
                One property can be mapped on to another by placing a ":" between
         | 
| 7134 | 
            +
                the source property and the destination property:
         | 
| 7135 | 
            +
              
         | 
| 7136 | 
            +
                ```app/components/my-anchor.js
         | 
| 7137 | 
            +
                import Ember from 'ember';
         | 
| 7138 | 
            +
              
         | 
| 7139 | 
            +
                export default Ember.Component.extend({
         | 
| 7140 | 
            +
                  tagName: 'a',
         | 
| 7141 | 
            +
                  attributeBindings: ['url:href'],
         | 
| 7142 | 
            +
                  url: 'http://google.com'
         | 
| 7143 | 
            +
                });
         | 
| 7144 | 
            +
                ```
         | 
| 7145 | 
            +
              
         | 
| 7146 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7147 | 
            +
              
         | 
| 7148 | 
            +
                ```html
         | 
| 7149 | 
            +
                <a id="ember1" class="ember-view" href="http://google.com"></a>
         | 
| 7150 | 
            +
                ```
         | 
| 7151 | 
            +
              
         | 
| 7152 | 
            +
                Namespaced attributes (e.g. `xlink:href`) are supported, but have to be
         | 
| 7153 | 
            +
                mapped, since `:` is not a valid character for properties in Javascript:
         | 
| 7154 | 
            +
              
         | 
| 7155 | 
            +
                ```app/components/my-use.js
         | 
| 7156 | 
            +
                import Ember from 'ember';
         | 
| 7157 | 
            +
              
         | 
| 7158 | 
            +
                export default Ember.Component.extend({
         | 
| 7159 | 
            +
                  tagName: 'use',
         | 
| 7160 | 
            +
                  attributeBindings: ['xlinkHref:xlink:href'],
         | 
| 7161 | 
            +
                  xlinkHref: '#triangle'
         | 
| 7162 | 
            +
                });
         | 
| 7163 | 
            +
                ```
         | 
| 7164 | 
            +
              
         | 
| 7165 | 
            +
                Will result in component instances with an HTML representation of:
         | 
| 7166 | 
            +
              
         | 
| 7167 | 
            +
                ```html
         | 
| 7168 | 
            +
                <use xlink:href="#triangle"></use>
         | 
| 7169 | 
            +
                ```
         | 
| 7170 | 
            +
              
         | 
| 7171 | 
            +
                If the return value of an `attributeBindings` monitored property is a boolean
         | 
| 7172 | 
            +
                the attribute will be present or absent depending on the value:
         | 
| 7173 | 
            +
              
         | 
| 7174 | 
            +
                ```app/components/my-text-input.js
         | 
| 7175 | 
            +
                import Ember from 'ember';
         | 
| 7176 | 
            +
              
         | 
| 7177 | 
            +
                export default Ember.Component.extend({
         | 
| 7178 | 
            +
                  tagName: 'input',
         | 
| 7179 | 
            +
                  attributeBindings: ['disabled'],
         | 
| 7180 | 
            +
                  disabled: false
         | 
| 7181 | 
            +
                });
         | 
| 7182 | 
            +
                ```
         | 
| 7183 | 
            +
              
         | 
| 7184 | 
            +
                Will result in a component instance with an HTML representation of:
         | 
| 7185 | 
            +
              
         | 
| 7186 | 
            +
                ```html
         | 
| 7187 | 
            +
                <input id="ember1" class="ember-view" />
         | 
| 7188 | 
            +
                ```
         | 
| 7189 | 
            +
              
         | 
| 7190 | 
            +
                `attributeBindings` can refer to computed properties:
         | 
| 7191 | 
            +
              
         | 
| 7192 | 
            +
                ```app/components/my-text-input.js
         | 
| 7193 | 
            +
                import Ember from 'ember';
         | 
| 7194 | 
            +
              
         | 
| 7195 | 
            +
                export default Ember.Component.extend({
         | 
| 7196 | 
            +
                  tagName: 'input',
         | 
| 7197 | 
            +
                  attributeBindings: ['disabled'],
         | 
| 7198 | 
            +
                  disabled: Ember.computed(function() {
         | 
| 7199 | 
            +
                    if (someLogic) {
         | 
| 7200 | 
            +
                      return true;
         | 
| 7201 | 
            +
                    } else {
         | 
| 7202 | 
            +
                      return false;
         | 
| 7203 | 
            +
                    }
         | 
| 7204 | 
            +
                  })
         | 
| 7205 | 
            +
                });
         | 
| 7206 | 
            +
                ```
         | 
| 7207 | 
            +
              
         | 
| 7208 | 
            +
                To prevent setting an attribute altogether, use `null` or `undefined` as the
         | 
| 7209 | 
            +
                return value of the `attributeBindings` monitored property:
         | 
| 7210 | 
            +
              
         | 
| 7211 | 
            +
                ```app/components/my-text-input.js
         | 
| 7212 | 
            +
                import Ember from 'ember';
         | 
| 7213 | 
            +
              
         | 
| 7214 | 
            +
                export default Ember.Component.extend({
         | 
| 7215 | 
            +
                  tagName: 'form',
         | 
| 7216 | 
            +
                  attributeBindings: ['novalidate'],
         | 
| 7217 | 
            +
                  novalidate: null
         | 
| 7218 | 
            +
                });
         | 
| 7219 | 
            +
                ```
         | 
| 7220 | 
            +
              
         | 
| 7221 | 
            +
                Updates to the property of an attribute binding will result in automatic
         | 
| 7222 | 
            +
                update of the  HTML attribute in the component's rendered HTML representation.
         | 
| 7223 | 
            +
                `attributeBindings` is a concatenated property. See [Ember.Object](/api/classes/Ember.Object.html)
         | 
| 7224 | 
            +
                documentation for more information about concatenated properties.
         | 
| 7225 | 
            +
              
         | 
| 7226 | 
            +
              
         | 
| 7227 | 
            +
                ## Layouts
         | 
| 7228 | 
            +
              
         | 
| 7229 | 
            +
                See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
         | 
| 7230 | 
            +
                for more information.
         | 
| 7231 | 
            +
              
         | 
| 7232 | 
            +
              
         | 
| 7233 | 
            +
                ## Responding to Browser Events
         | 
| 7234 | 
            +
              
         | 
| 7235 | 
            +
                Components can respond to user-initiated events in one of three ways: method
         | 
| 7236 | 
            +
                implementation, through an event manager, and through `{{action}}` helper use
         | 
| 7237 | 
            +
                in their template or layout.
         | 
| 7238 | 
            +
              
         | 
| 7239 | 
            +
              
         | 
| 7240 | 
            +
                ### Method Implementation
         | 
| 7241 | 
            +
              
         | 
| 7242 | 
            +
                Components can respond to user-initiated events by implementing a method that
         | 
| 7243 | 
            +
                matches the event name. A `jQuery.Event` object will be passed as the
         | 
| 7244 | 
            +
                argument to this method.
         | 
| 7245 | 
            +
              
         | 
| 7246 | 
            +
                ```app/components/my-widget.js
         | 
| 7247 | 
            +
                import Ember from 'ember';
         | 
| 7248 | 
            +
              
         | 
| 7249 | 
            +
                export default Ember.Component.extend({
         | 
| 7250 | 
            +
                  click(event) {
         | 
| 7251 | 
            +
                    // will be called when an instance's
         | 
| 7252 | 
            +
                    // rendered element is clicked
         | 
| 7253 | 
            +
                  }
         | 
| 7254 | 
            +
                });
         | 
| 7255 | 
            +
                ```
         | 
| 7256 | 
            +
              
         | 
| 7257 | 
            +
              
         | 
| 7258 | 
            +
                ### `{{action}}` Helper
         | 
| 7259 | 
            +
              
         | 
| 7260 | 
            +
                See [Ember.Templates.helpers.action](/api/classes/Ember.Templates.helpers.html#method_action).
         | 
| 7261 | 
            +
              
         | 
| 7262 | 
            +
              
         | 
| 7263 | 
            +
                ### Event Names
         | 
| 7264 | 
            +
              
         | 
| 7265 | 
            +
                All of the event handling approaches described above respond to the same set
         | 
| 7266 | 
            +
                of events. The names of the built-in events are listed below. (The hash of
         | 
| 7267 | 
            +
                built-in events exists in `Ember.EventDispatcher`.) Additional, custom events
         | 
| 7268 | 
            +
                can be registered by using `Ember.Application.customEvents`.
         | 
| 7269 | 
            +
              
         | 
| 7270 | 
            +
                Touch events:
         | 
| 7271 | 
            +
              
         | 
| 7272 | 
            +
                * `touchStart`
         | 
| 7273 | 
            +
                * `touchMove`
         | 
| 7274 | 
            +
                * `touchEnd`
         | 
| 7275 | 
            +
                * `touchCancel`
         | 
| 7276 | 
            +
              
         | 
| 7277 | 
            +
                Keyboard events:
         | 
| 7278 | 
            +
              
         | 
| 7279 | 
            +
                * `keyDown`
         | 
| 7280 | 
            +
                * `keyUp`
         | 
| 7281 | 
            +
                * `keyPress`
         | 
| 7282 | 
            +
              
         | 
| 7283 | 
            +
                Mouse events:
         | 
| 7284 | 
            +
              
         | 
| 7285 | 
            +
                * `mouseDown`
         | 
| 7286 | 
            +
                * `mouseUp`
         | 
| 7287 | 
            +
                * `contextMenu`
         | 
| 7288 | 
            +
                * `click`
         | 
| 7289 | 
            +
                * `doubleClick`
         | 
| 7290 | 
            +
                * `mouseMove`
         | 
| 7291 | 
            +
                * `focusIn`
         | 
| 7292 | 
            +
                * `focusOut`
         | 
| 7293 | 
            +
                * `mouseEnter`
         | 
| 7294 | 
            +
                * `mouseLeave`
         | 
| 7295 | 
            +
              
         | 
| 7296 | 
            +
                Form events:
         | 
| 7297 | 
            +
              
         | 
| 7298 | 
            +
                * `submit`
         | 
| 7299 | 
            +
                * `change`
         | 
| 7300 | 
            +
                * `focusIn`
         | 
| 7301 | 
            +
                * `focusOut`
         | 
| 7302 | 
            +
                * `input`
         | 
| 7303 | 
            +
              
         | 
| 7304 | 
            +
                HTML5 drag and drop events:
         | 
| 7305 | 
            +
              
         | 
| 7306 | 
            +
                * `dragStart`
         | 
| 7307 | 
            +
                * `drag`
         | 
| 7308 | 
            +
                * `dragEnter`
         | 
| 7309 | 
            +
                * `dragLeave`
         | 
| 7310 | 
            +
                * `dragOver`
         | 
| 7311 | 
            +
                * `dragEnd`
         | 
| 7312 | 
            +
                * `drop`
         | 
| 7313 | 
            +
              
         | 
| 6911 7314 | 
             
                @class Component
         | 
| 6912 7315 | 
             
                @namespace Ember
         | 
| 6913 7316 | 
             
                @extends Ember.CoreView
         | 
| @@ -6915,6 +7318,7 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6915 7318 | 
             
                @uses Ember.ClassNamesSupport
         | 
| 6916 7319 | 
             
                @uses Ember.ActionSupport
         | 
| 6917 7320 | 
             
                @uses Ember.ViewMixin
         | 
| 7321 | 
            +
                @uses Ember.ViewStateSupport
         | 
| 6918 7322 | 
             
                @public
         | 
| 6919 7323 | 
             
              */
         | 
| 6920 7324 | 
             
              var Component = _emberViews.CoreView.extend(_emberViews.ChildViewsSupport, _emberViews.ViewStateSupport, _emberViews.ClassNamesSupport, _emberRuntime.TargetActionSupport, _emberViews.ActionSupport, _emberViews.ViewMixin, (_CoreView$extend = {
         | 
| @@ -6955,6 +7359,8 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 6955 7359 | 
             
                      }
         | 
| 6956 7360 | 
             
                    }
         | 
| 6957 7361 | 
             
                  })());
         | 
| 7362 | 
            +
             | 
| 7363 | 
            +
                  _emberMetal.assert('You cannot use a computed property for the component\'s `tagName` (' + this + ').', !(this.tagName && this.tagName.isDescriptor));
         | 
| 6958 7364 | 
             
                },
         | 
| 6959 7365 |  | 
| 6960 7366 | 
             
                rerender: function () {
         | 
| @@ -7006,8 +7412,8 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 7006 7412 | 
             
               `name` and `age`:
         | 
| 7007 7413 | 
             
                ```javascript
         | 
| 7008 7414 | 
             
               let MyComponent = Ember.Component.extend;
         | 
| 7009 | 
            -
             | 
| 7010 | 
            -
             | 
| 7415 | 
            +
                MyComponent.reopenClass({
         | 
| 7416 | 
            +
                 positionalParams: ['name', 'age']
         | 
| 7011 7417 | 
             
               });
         | 
| 7012 7418 | 
             
               ```
         | 
| 7013 7419 | 
             
                It can then be invoked like this:
         | 
| @@ -7016,14 +7422,14 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 7016 7422 | 
             
               ```
         | 
| 7017 7423 | 
             
                The parameters can be referred to just like named parameters:
         | 
| 7018 7424 | 
             
                ```hbs
         | 
| 7019 | 
            -
               Name: {{ | 
| 7425 | 
            +
               Name: {{name}}, Age: {{age}}.
         | 
| 7020 7426 | 
             
               ```
         | 
| 7021 7427 | 
             
                Using a string instead of an array allows for an arbitrary number of
         | 
| 7022 7428 | 
             
               parameters:
         | 
| 7023 7429 | 
             
                ```javascript
         | 
| 7024 7430 | 
             
               let MyComponent = Ember.Component.extend;
         | 
| 7025 | 
            -
             | 
| 7026 | 
            -
             | 
| 7431 | 
            +
                MyComponent.reopenClass({
         | 
| 7432 | 
            +
                 positionalParams: 'names'
         | 
| 7027 7433 | 
             
               });
         | 
| 7028 7434 | 
             
               ```
         | 
| 7029 7435 | 
             
                It can then be invoked like this:
         | 
| @@ -7032,7 +7438,7 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 7032 7438 | 
             
               ```
         | 
| 7033 7439 | 
             
               The parameters can then be referred to by enumerating over the list:
         | 
| 7034 7440 | 
             
                ```hbs
         | 
| 7035 | 
            -
               {{#each  | 
| 7441 | 
            +
               {{#each names as |name|}}{{name}}{{/each}}
         | 
| 7036 7442 | 
             
               ```
         | 
| 7037 7443 | 
             
                @static
         | 
| 7038 7444 | 
             
               @public
         | 
| @@ -7140,6 +7546,67 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb | |
| 7140 7546 | 
             
               @since 1.13.0
         | 
| 7141 7547 | 
             
               */
         | 
| 7142 7548 |  | 
| 7549 | 
            +
              /**
         | 
| 7550 | 
            +
                A component may contain a layout. A layout is a regular template but
         | 
| 7551 | 
            +
                supersedes the `template` property during rendering. It is the
         | 
| 7552 | 
            +
                responsibility of the layout template to retrieve the `template`
         | 
| 7553 | 
            +
                property from the component (or alternatively, call `Handlebars.helpers.yield`,
         | 
| 7554 | 
            +
                `{{yield}}`) to render it in the correct location.
         | 
| 7555 | 
            +
                This is useful for a component that has a shared wrapper, but which delegates
         | 
| 7556 | 
            +
                the rendering of the contents of the wrapper to the `template` property
         | 
| 7557 | 
            +
                on a subclass.
         | 
| 7558 | 
            +
                @property layout
         | 
| 7559 | 
            +
                @type Function
         | 
| 7560 | 
            +
                @public
         | 
| 7561 | 
            +
              */
         | 
| 7562 | 
            +
             | 
| 7563 | 
            +
              /**
         | 
| 7564 | 
            +
                The name of the layout to lookup if no layout is provided.
         | 
| 7565 | 
            +
                By default `Ember.Component` will lookup a template with this name in
         | 
| 7566 | 
            +
                `Ember.TEMPLATES` (a shared global object).
         | 
| 7567 | 
            +
                @property layoutName
         | 
| 7568 | 
            +
                @type String
         | 
| 7569 | 
            +
                @default null
         | 
| 7570 | 
            +
                @private
         | 
| 7571 | 
            +
              */
         | 
| 7572 | 
            +
             | 
| 7573 | 
            +
              /**
         | 
| 7574 | 
            +
                Returns a jQuery object for this component's element. If you pass in a selector
         | 
| 7575 | 
            +
                string, this method will return a jQuery object, using the current element
         | 
| 7576 | 
            +
                as its buffer.
         | 
| 7577 | 
            +
                For example, calling `component.$('li')` will return a jQuery object containing
         | 
| 7578 | 
            +
                all of the `li` elements inside the DOM element of this component.
         | 
| 7579 | 
            +
                @method $
         | 
| 7580 | 
            +
                @param {String} [selector] a jQuery-compatible selector string
         | 
| 7581 | 
            +
                @return {jQuery} the jQuery object for the DOM node
         | 
| 7582 | 
            +
                @public
         | 
| 7583 | 
            +
              */
         | 
| 7584 | 
            +
             | 
| 7585 | 
            +
              /**
         | 
| 7586 | 
            +
                The HTML `id` of the component's element in the DOM. You can provide this
         | 
| 7587 | 
            +
                value yourself but it must be unique (just as in HTML):
         | 
| 7588 | 
            +
                 ```handlebars
         | 
| 7589 | 
            +
                {{my-component elementId="a-really-cool-id"}}
         | 
| 7590 | 
            +
                ```
         | 
| 7591 | 
            +
                If not manually set a default value will be provided by the framework.
         | 
| 7592 | 
            +
                Once rendered an element's `elementId` is considered immutable and you
         | 
| 7593 | 
            +
                should never change it. If you need to compute a dynamic value for the
         | 
| 7594 | 
            +
                `elementId`, you should do this when the component or element is being
         | 
| 7595 | 
            +
                instantiated:
         | 
| 7596 | 
            +
                 ```javascript
         | 
| 7597 | 
            +
                export default Ember.Component.extend({
         | 
| 7598 | 
            +
                  init() {
         | 
| 7599 | 
            +
                    this._super(...arguments);
         | 
| 7600 | 
            +
                     var index = this.get('index');
         | 
| 7601 | 
            +
                    this.set('elementId', `component-id${index}`);
         | 
| 7602 | 
            +
                  }
         | 
| 7603 | 
            +
                });
         | 
| 7604 | 
            +
                ```
         | 
| 7605 | 
            +
                 @property elementId
         | 
| 7606 | 
            +
                @type String
         | 
| 7607 | 
            +
                @public
         | 
| 7608 | 
            +
              */
         | 
| 7609 | 
            +
             | 
| 7143 7610 | 
             
              /**
         | 
| 7144 7611 | 
             
               If `false`, the view will appear hidden in DOM.
         | 
| 7145 7612 | 
             
                @property isVisible
         | 
| @@ -7563,7 +8030,7 @@ enifed('ember-glimmer/components/link-to', ['exports', 'ember-console', 'ember-m | |
| 7563 8030 | 
             
                @namespace Ember
         | 
| 7564 8031 | 
             
                @extends Ember.Component
         | 
| 7565 8032 | 
             
                @see {Ember.Templates.helpers.link-to}
         | 
| 7566 | 
            -
                @ | 
| 8033 | 
            +
                @public
         | 
| 7567 8034 | 
             
              **/
         | 
| 7568 8035 | 
             
              var LinkComponent = _emberGlimmerComponent.default.extend({
         | 
| 7569 8036 | 
             
                layout: _emberGlimmerTemplatesLinkTo.default,
         | 
| @@ -8423,7 +8890,7 @@ enifed('ember-glimmer/dom', ['exports', 'glimmer-runtime', 'glimmer-node'], func | |
| 8423 8890 | 
             
              exports.DOMTreeConstruction = _glimmerRuntime.DOMTreeConstruction;
         | 
| 8424 8891 | 
             
              exports.NodeDOMTreeConstruction = _glimmerNode.NodeDOMTreeConstruction;
         | 
| 8425 8892 | 
             
            });
         | 
| 8426 | 
            -
            enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'ember-views', 'glimmer-runtime', 'ember-glimmer/syntax/curly-component', 'ember-glimmer/syntax', 'ember-glimmer/syntax/dynamic-component', 'ember-glimmer/utils/iterable', 'ember-glimmer/utils/references', 'ember-glimmer/helpers/if-unless', 'ember-glimmer/utils/bindings', 'ember-glimmer/helpers/action', 'ember-glimmer/helpers/component', 'ember-glimmer/helpers/concat', 'ember-glimmer/helpers/debugger', 'ember-glimmer/helpers/get', 'ember-glimmer/helpers/hash', 'ember-glimmer/helpers/loc', 'ember-glimmer/helpers/log', 'ember-glimmer/helpers/mut', 'ember-glimmer/helpers/readonly', 'ember-glimmer/helpers/unbound', 'ember-glimmer/helpers/-class', 'ember-glimmer/helpers/-input-type', 'ember-glimmer/helpers/query-param', 'ember-glimmer/helpers/each-in', 'ember-glimmer/helpers/-normalize-class', 'ember-glimmer/helpers/-html-safe', 'ember-glimmer/protocol-for-url', 'ember-glimmer/modifiers/action'], function (exports, _emberUtils, _emberMetal, _emberViews, _glimmerRuntime, _emberGlimmerSyntaxCurlyComponent, _emberGlimmerSyntax, _emberGlimmerSyntaxDynamicComponent, _emberGlimmerUtilsIterable, _emberGlimmerUtilsReferences, _emberGlimmerHelpersIfUnless, _emberGlimmerUtilsBindings, _emberGlimmerHelpersAction, _emberGlimmerHelpersComponent, _emberGlimmerHelpersConcat, _emberGlimmerHelpersDebugger, _emberGlimmerHelpersGet, _emberGlimmerHelpersHash, _emberGlimmerHelpersLoc, _emberGlimmerHelpersLog, _emberGlimmerHelpersMut, _emberGlimmerHelpersReadonly, _emberGlimmerHelpersUnbound, _emberGlimmerHelpersClass, _emberGlimmerHelpersInputType, _emberGlimmerHelpersQueryParam, _emberGlimmerHelpersEachIn, _emberGlimmerHelpersNormalizeClass, _emberGlimmerHelpersHtmlSafe, _emberGlimmerProtocolForUrl, _emberGlimmerModifiersAction) {
         | 
| 8893 | 
            +
            enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'ember-views', 'glimmer-runtime', 'ember-glimmer/syntax/curly-component', 'ember-glimmer/syntax', 'ember-glimmer/syntax/dynamic-component', 'ember-glimmer/utils/iterable', 'ember-glimmer/utils/references', 'ember-glimmer/utils/debug-stack', 'ember-glimmer/helpers/if-unless', 'ember-glimmer/utils/bindings', 'ember-glimmer/helpers/action', 'ember-glimmer/helpers/component', 'ember-glimmer/helpers/concat', 'ember-glimmer/helpers/debugger', 'ember-glimmer/helpers/get', 'ember-glimmer/helpers/hash', 'ember-glimmer/helpers/loc', 'ember-glimmer/helpers/log', 'ember-glimmer/helpers/mut', 'ember-glimmer/helpers/readonly', 'ember-glimmer/helpers/unbound', 'ember-glimmer/helpers/-class', 'ember-glimmer/helpers/-input-type', 'ember-glimmer/helpers/query-param', 'ember-glimmer/helpers/each-in', 'ember-glimmer/helpers/-normalize-class', 'ember-glimmer/helpers/-html-safe', 'ember-glimmer/protocol-for-url', 'ember-glimmer/modifiers/action'], function (exports, _emberUtils, _emberMetal, _emberViews, _glimmerRuntime, _emberGlimmerSyntaxCurlyComponent, _emberGlimmerSyntax, _emberGlimmerSyntaxDynamicComponent, _emberGlimmerUtilsIterable, _emberGlimmerUtilsReferences, _emberGlimmerUtilsDebugStack, _emberGlimmerHelpersIfUnless, _emberGlimmerUtilsBindings, _emberGlimmerHelpersAction, _emberGlimmerHelpersComponent, _emberGlimmerHelpersConcat, _emberGlimmerHelpersDebugger, _emberGlimmerHelpersGet, _emberGlimmerHelpersHash, _emberGlimmerHelpersLoc, _emberGlimmerHelpersLog, _emberGlimmerHelpersMut, _emberGlimmerHelpersReadonly, _emberGlimmerHelpersUnbound, _emberGlimmerHelpersClass, _emberGlimmerHelpersInputType, _emberGlimmerHelpersQueryParam, _emberGlimmerHelpersEachIn, _emberGlimmerHelpersNormalizeClass, _emberGlimmerHelpersHtmlSafe, _emberGlimmerProtocolForUrl, _emberGlimmerModifiersAction) {
         | 
| 8427 8894 | 
             
              'use strict';
         | 
| 8428 8895 |  | 
| 8429 8896 | 
             
              var builtInComponents = {
         | 
| @@ -8533,6 +9000,10 @@ enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'e | |
| 8533 9000 | 
             
                    '-html-safe': _emberGlimmerHelpersHtmlSafe.default,
         | 
| 8534 9001 | 
             
                    '-get-dynamic-var': _glimmerRuntime.getDynamicVar
         | 
| 8535 9002 | 
             
                  };
         | 
| 9003 | 
            +
             | 
| 9004 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 9005 | 
            +
                    return _this.debugStack = new _emberGlimmerUtilsDebugStack.default();
         | 
| 9006 | 
            +
                  });
         | 
| 8536 9007 | 
             
                }
         | 
| 8537 9008 |  | 
| 8538 9009 | 
             
                // Hello future traveler, welcome to the world of syntax refinement.
         | 
| @@ -11891,7 +12362,28 @@ enifed('ember-glimmer/syntax', ['exports', 'ember-glimmer/syntax/render', 'ember | |
| 11891 12362 | 
             
                return _class2;
         | 
| 11892 12363 | 
             
              })());
         | 
| 11893 12364 | 
             
            });
         | 
| 11894 | 
            -
            enifed('ember-glimmer/syntax/ | 
| 12365 | 
            +
            enifed('ember-glimmer/syntax/abstract-manager', ['exports', 'ember-metal'], function (exports, _emberMetal) {
         | 
| 12366 | 
            +
              'use strict';
         | 
| 12367 | 
            +
             | 
| 12368 | 
            +
              var AbstractManager = function AbstractManager() {
         | 
| 12369 | 
            +
                babelHelpers.classCallCheck(this, AbstractManager);
         | 
| 12370 | 
            +
              };
         | 
| 12371 | 
            +
             | 
| 12372 | 
            +
              _emberMetal.runInDebug(function () {
         | 
| 12373 | 
            +
                AbstractManager.prototype._pushToDebugStack = function (name, environment) {
         | 
| 12374 | 
            +
                  this.debugStack = environment.debugStack;
         | 
| 12375 | 
            +
                  this.debugStack.push(name);
         | 
| 12376 | 
            +
                };
         | 
| 12377 | 
            +
             | 
| 12378 | 
            +
                AbstractManager.prototype._pushEngineToDebugStack = function (name, environment) {
         | 
| 12379 | 
            +
                  this.debugStack = environment.debugStack;
         | 
| 12380 | 
            +
                  this.debugStack.pushEngine(name);
         | 
| 12381 | 
            +
                };
         | 
| 12382 | 
            +
              });
         | 
| 12383 | 
            +
             | 
| 12384 | 
            +
              exports.default = AbstractManager;
         | 
| 12385 | 
            +
            });
         | 
| 12386 | 
            +
            enifed('ember-glimmer/syntax/curly-component', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-glimmer/utils/bindings', 'ember-glimmer/component', 'ember-metal', 'ember-views', 'ember-glimmer/utils/process-args', 'container', 'ember-glimmer/syntax/abstract-manager'], function (exports, _emberUtils, _glimmerRuntime, _emberGlimmerUtilsBindings, _emberGlimmerComponent, _emberMetal, _emberViews, _emberGlimmerUtilsProcessArgs, _container, _emberGlimmerSyntaxAbstractManager) {
         | 
| 11895 12387 | 
             
              'use strict';
         | 
| 11896 12388 |  | 
| 11897 12389 | 
             
              exports.validatePositionalParameters = validatePositionalParameters;
         | 
| @@ -12061,9 +12553,13 @@ babelHelpers.classCallCheck(this, ComponentStateBucket); | |
| 12061 12553 | 
             
                return component.instrumentDetails({ initialRender: false });
         | 
| 12062 12554 | 
             
              }
         | 
| 12063 12555 |  | 
| 12064 | 
            -
              var CurlyComponentManager = (function () {
         | 
| 12556 | 
            +
              var CurlyComponentManager = (function (_AbstractManager) {
         | 
| 12557 | 
            +
            babelHelpers.inherits(CurlyComponentManager, _AbstractManager);
         | 
| 12558 | 
            +
             | 
| 12065 12559 | 
             
                function CurlyComponentManager() {
         | 
| 12066 12560 | 
             
            babelHelpers.classCallCheck(this, CurlyComponentManager);
         | 
| 12561 | 
            +
             | 
| 12562 | 
            +
                  _AbstractManager.apply(this, arguments);
         | 
| 12067 12563 | 
             
                }
         | 
| 12068 12564 |  | 
| 12069 12565 | 
             
                CurlyComponentManager.prototype.prepareArgs = function prepareArgs(definition, args) {
         | 
| @@ -12073,6 +12569,12 @@ babelHelpers.classCallCheck(this, CurlyComponentManager); | |
| 12073 12569 | 
             
                };
         | 
| 12074 12570 |  | 
| 12075 12571 | 
             
                CurlyComponentManager.prototype.create = function create(environment, definition, args, dynamicScope, callerSelfRef, hasBlock) {
         | 
| 12572 | 
            +
                  var _this = this;
         | 
| 12573 | 
            +
             | 
| 12574 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 12575 | 
            +
                    return _this._pushToDebugStack('component:' + definition.name, environment);
         | 
| 12576 | 
            +
                  });
         | 
| 12577 | 
            +
             | 
| 12076 12578 | 
             
                  var parentView = dynamicScope.view;
         | 
| 12077 12579 |  | 
| 12078 12580 | 
             
                  var klass = definition.ComponentClass;
         | 
| @@ -12201,8 +12703,14 @@ babelHelpers.classCallCheck(this, CurlyComponentManager); | |
| 12201 12703 | 
             
                };
         | 
| 12202 12704 |  | 
| 12203 12705 | 
             
                CurlyComponentManager.prototype.didRenderLayout = function didRenderLayout(bucket, bounds) {
         | 
| 12706 | 
            +
                  var _this2 = this;
         | 
| 12707 | 
            +
             | 
| 12204 12708 | 
             
                  bucket.component[_emberGlimmerComponent.BOUNDS] = bounds;
         | 
| 12205 12709 | 
             
                  bucket.finalize();
         | 
| 12710 | 
            +
             | 
| 12711 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 12712 | 
            +
                    return _this2.debugStack.pop();
         | 
| 12713 | 
            +
                  });
         | 
| 12206 12714 | 
             
                };
         | 
| 12207 12715 |  | 
| 12208 12716 | 
             
                CurlyComponentManager.prototype.getTag = function getTag(_ref3) {
         | 
| @@ -12223,11 +12731,17 @@ babelHelpers.classCallCheck(this, CurlyComponentManager); | |
| 12223 12731 | 
             
                };
         | 
| 12224 12732 |  | 
| 12225 12733 | 
             
                CurlyComponentManager.prototype.update = function update(bucket, _, dynamicScope) {
         | 
| 12734 | 
            +
                  var _this3 = this;
         | 
| 12735 | 
            +
             | 
| 12226 12736 | 
             
                  var component = bucket.component;
         | 
| 12227 12737 | 
             
                  var args = bucket.args;
         | 
| 12228 12738 | 
             
                  var argsRevision = bucket.argsRevision;
         | 
| 12229 12739 | 
             
                  var environment = bucket.environment;
         | 
| 12230 12740 |  | 
| 12741 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 12742 | 
            +
                    return _this3._pushToDebugStack(component._debugContainerKey, environment);
         | 
| 12743 | 
            +
                  });
         | 
| 12744 | 
            +
             | 
| 12231 12745 | 
             
                  bucket.finalizer = _emberMetal._instrumentStart('render.component', rerenderInstrumentDetails, component);
         | 
| 12232 12746 |  | 
| 12233 12747 | 
             
                  if (!args.tag.validate(argsRevision)) {
         | 
| @@ -12256,7 +12770,13 @@ babelHelpers.classCallCheck(this, CurlyComponentManager); | |
| 12256 12770 | 
             
                };
         | 
| 12257 12771 |  | 
| 12258 12772 | 
             
                CurlyComponentManager.prototype.didUpdateLayout = function didUpdateLayout(bucket) {
         | 
| 12773 | 
            +
                  var _this4 = this;
         | 
| 12774 | 
            +
             | 
| 12259 12775 | 
             
                  bucket.finalize();
         | 
| 12776 | 
            +
             | 
| 12777 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 12778 | 
            +
                    return _this4.debugStack.pop();
         | 
| 12779 | 
            +
                  });
         | 
| 12260 12780 | 
             
                };
         | 
| 12261 12781 |  | 
| 12262 12782 | 
             
                CurlyComponentManager.prototype.didUpdate = function didUpdate(_ref5) {
         | 
| @@ -12274,7 +12794,7 @@ babelHelpers.classCallCheck(this, CurlyComponentManager); | |
| 12274 12794 | 
             
                };
         | 
| 12275 12795 |  | 
| 12276 12796 | 
             
                return CurlyComponentManager;
         | 
| 12277 | 
            -
              })();
         | 
| 12797 | 
            +
              })(_emberGlimmerSyntaxAbstractManager.default);
         | 
| 12278 12798 |  | 
| 12279 12799 | 
             
              var MANAGER = new CurlyComponentManager();
         | 
| 12280 12800 |  | 
| @@ -12288,8 +12808,14 @@ babelHelpers.classCallCheck(this, TopComponentManager); | |
| 12288 12808 | 
             
                }
         | 
| 12289 12809 |  | 
| 12290 12810 | 
             
                TopComponentManager.prototype.create = function create(environment, definition, args, dynamicScope, currentScope, hasBlock) {
         | 
| 12811 | 
            +
                  var _this5 = this;
         | 
| 12812 | 
            +
             | 
| 12291 12813 | 
             
                  var component = definition.ComponentClass;
         | 
| 12292 12814 |  | 
| 12815 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 12816 | 
            +
                    return _this5._pushToDebugStack(component._debugContainerKey, environment);
         | 
| 12817 | 
            +
                  });
         | 
| 12818 | 
            +
             | 
| 12293 12819 | 
             
                  var finalizer = _emberMetal._instrumentStart('render.component', initialRenderInstrumentDetails, component);
         | 
| 12294 12820 |  | 
| 12295 12821 | 
             
                  dynamicScope.view = component;
         | 
| @@ -12647,7 +13173,7 @@ enifed('ember-glimmer/syntax/input', ['exports', 'ember-metal', 'ember-glimmer/s | |
| 12647 13173 | 
             
              };
         | 
| 12648 13174 | 
             
              exports.InputSyntax = InputSyntax;
         | 
| 12649 13175 | 
             
            });
         | 
| 12650 | 
            -
            enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet) {
         | 
| 13176 | 
            +
            enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet', 'ember-glimmer/syntax/abstract-manager'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet, _emberGlimmerSyntaxAbstractManager) {
         | 
| 12651 13177 | 
             
              /**
         | 
| 12652 13178 | 
             
              @module ember
         | 
| 12653 13179 | 
             
              @submodule ember-glimmer
         | 
| @@ -12709,9 +13235,13 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref | |
| 12709 13235 |  | 
| 12710 13236 | 
             
              exports.MountSyntax = MountSyntax;
         | 
| 12711 13237 |  | 
| 12712 | 
            -
              var MountManager = (function () {
         | 
| 13238 | 
            +
              var MountManager = (function (_AbstractManager) {
         | 
| 13239 | 
            +
                babelHelpers.inherits(MountManager, _AbstractManager);
         | 
| 13240 | 
            +
             | 
| 12713 13241 | 
             
                function MountManager() {
         | 
| 12714 13242 | 
             
                  babelHelpers.classCallCheck(this, MountManager);
         | 
| 13243 | 
            +
             | 
| 13244 | 
            +
                  _AbstractManager.apply(this, arguments);
         | 
| 12715 13245 | 
             
                }
         | 
| 12716 13246 |  | 
| 12717 13247 | 
             
                MountManager.prototype.prepareArgs = function prepareArgs(definition, args) {
         | 
| @@ -12722,6 +13252,12 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref | |
| 12722 13252 | 
             
                  var name = _ref.name;
         | 
| 12723 13253 | 
             
                  var env = _ref.env;
         | 
| 12724 13254 |  | 
| 13255 | 
            +
                  var _this = this;
         | 
| 13256 | 
            +
             | 
| 13257 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13258 | 
            +
                    return _this._pushEngineToDebugStack('engine:' + name, env);
         | 
| 13259 | 
            +
                  });
         | 
| 13260 | 
            +
             | 
| 12725 13261 | 
             
                  dynamicScope.outletState = _glimmerReference.UNDEFINED_REFERENCE;
         | 
| 12726 13262 |  | 
| 12727 13263 | 
             
                  var engine = env.owner.buildChildEngineInstance(name);
         | 
| @@ -12757,7 +13293,13 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref | |
| 12757 13293 |  | 
| 12758 13294 | 
             
                MountManager.prototype.didCreateElement = function didCreateElement() {};
         | 
| 12759 13295 |  | 
| 12760 | 
            -
                MountManager.prototype.didRenderLayout = function didRenderLayout() { | 
| 13296 | 
            +
                MountManager.prototype.didRenderLayout = function didRenderLayout() {
         | 
| 13297 | 
            +
                  var _this2 = this;
         | 
| 13298 | 
            +
             | 
| 13299 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13300 | 
            +
                    return _this2.debugStack.pop();
         | 
| 13301 | 
            +
                  });
         | 
| 13302 | 
            +
                };
         | 
| 12761 13303 |  | 
| 12762 13304 | 
             
                MountManager.prototype.didCreate = function didCreate(state) {};
         | 
| 12763 13305 |  | 
| @@ -12768,7 +13310,7 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref | |
| 12768 13310 | 
             
                MountManager.prototype.didUpdate = function didUpdate(state) {};
         | 
| 12769 13311 |  | 
| 12770 13312 | 
             
                return MountManager;
         | 
| 12771 | 
            -
              })();
         | 
| 13313 | 
            +
              })(_emberGlimmerSyntaxAbstractManager.default);
         | 
| 12772 13314 |  | 
| 12773 13315 | 
             
              var MOUNT_MANAGER = new MountManager();
         | 
| 12774 13316 |  | 
| @@ -12785,7 +13327,7 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref | |
| 12785 13327 | 
             
                return MountDefinition;
         | 
| 12786 13328 | 
             
              })(_glimmerRuntime.ComponentDefinition);
         | 
| 12787 13329 | 
             
            });
         | 
| 12788 | 
            -
            enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-metal', 'ember-glimmer/utils/references', 'glimmer-reference'], function (exports, _emberUtils, _glimmerRuntime, _emberMetal, _emberGlimmerUtilsReferences, _glimmerReference) {
         | 
| 13330 | 
            +
            enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-metal', 'ember-glimmer/utils/references', 'glimmer-reference', 'ember-glimmer/syntax/abstract-manager'], function (exports, _emberUtils, _glimmerRuntime, _emberMetal, _emberGlimmerUtilsReferences, _glimmerReference, _emberGlimmerSyntaxAbstractManager) {
         | 
| 12789 13331 | 
             
              /**
         | 
| 12790 13332 | 
             
              @module ember
         | 
| 12791 13333 | 
             
              @submodule ember-glimmer
         | 
| @@ -12974,9 +13516,13 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 12974 13516 | 
             
                return StateBucket;
         | 
| 12975 13517 | 
             
              })();
         | 
| 12976 13518 |  | 
| 12977 | 
            -
              var OutletComponentManager = (function () {
         | 
| 13519 | 
            +
              var OutletComponentManager = (function (_AbstractManager) {
         | 
| 13520 | 
            +
                babelHelpers.inherits(OutletComponentManager, _AbstractManager);
         | 
| 13521 | 
            +
             | 
| 12978 13522 | 
             
                function OutletComponentManager() {
         | 
| 12979 13523 | 
             
                  babelHelpers.classCallCheck(this, OutletComponentManager);
         | 
| 13524 | 
            +
             | 
| 13525 | 
            +
                  _AbstractManager.apply(this, arguments);
         | 
| 12980 13526 | 
             
                }
         | 
| 12981 13527 |  | 
| 12982 13528 | 
             
                OutletComponentManager.prototype.prepareArgs = function prepareArgs(definition, args) {
         | 
| @@ -12984,6 +13530,12 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 12984 13530 | 
             
                };
         | 
| 12985 13531 |  | 
| 12986 13532 | 
             
                OutletComponentManager.prototype.create = function create(environment, definition, args, dynamicScope) {
         | 
| 13533 | 
            +
                  var _this = this;
         | 
| 13534 | 
            +
             | 
| 13535 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13536 | 
            +
                    return _this._pushToDebugStack('template:' + definition.template.meta.moduleName, environment);
         | 
| 13537 | 
            +
                  });
         | 
| 13538 | 
            +
             | 
| 12987 13539 | 
             
                  var outletStateReference = dynamicScope.outletState = dynamicScope.outletState.get('outlets').get(definition.outletName);
         | 
| 12988 13540 | 
             
                  var outletState = outletStateReference.value();
         | 
| 12989 13541 | 
             
                  return new StateBucket(outletState);
         | 
| @@ -13008,7 +13560,13 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 13008 13560 | 
             
                };
         | 
| 13009 13561 |  | 
| 13010 13562 | 
             
                OutletComponentManager.prototype.didRenderLayout = function didRenderLayout(bucket) {
         | 
| 13563 | 
            +
                  var _this2 = this;
         | 
| 13564 | 
            +
             | 
| 13011 13565 | 
             
                  bucket.finalize();
         | 
| 13566 | 
            +
             | 
| 13567 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13568 | 
            +
                    return _this2.debugStack.pop();
         | 
| 13569 | 
            +
                  });
         | 
| 13012 13570 | 
             
                };
         | 
| 13013 13571 |  | 
| 13014 13572 | 
             
                OutletComponentManager.prototype.didCreateElement = function didCreateElement() {};
         | 
| @@ -13022,7 +13580,7 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 13022 13580 | 
             
                OutletComponentManager.prototype.didUpdate = function didUpdate(state) {};
         | 
| 13023 13581 |  | 
| 13024 13582 | 
             
                return OutletComponentManager;
         | 
| 13025 | 
            -
              })();
         | 
| 13583 | 
            +
              })(_emberGlimmerSyntaxAbstractManager.default);
         | 
| 13026 13584 |  | 
| 13027 13585 | 
             
              var MANAGER = new OutletComponentManager();
         | 
| 13028 13586 |  | 
| @@ -13036,6 +13594,12 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 13036 13594 | 
             
                }
         | 
| 13037 13595 |  | 
| 13038 13596 | 
             
                TopLevelOutletComponentManager.prototype.create = function create(environment, definition, args, dynamicScope) {
         | 
| 13597 | 
            +
                  var _this3 = this;
         | 
| 13598 | 
            +
             | 
| 13599 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13600 | 
            +
                    return _this3._pushToDebugStack('template:' + definition.template.meta.moduleName, environment);
         | 
| 13601 | 
            +
                  });
         | 
| 13602 | 
            +
             | 
| 13039 13603 | 
             
                  return new StateBucket(dynamicScope.outletState.value());
         | 
| 13040 13604 | 
             
                };
         | 
| 13041 13605 |  | 
| @@ -13116,7 +13680,7 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim | |
| 13116 13680 |  | 
| 13117 13681 | 
             
              OutletLayoutCompiler.id = 'outlet';
         | 
| 13118 13682 | 
             
            });
         | 
| 13119 | 
            -
            enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet) {
         | 
| 13683 | 
            +
            enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet', 'ember-glimmer/syntax/abstract-manager'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet, _emberGlimmerSyntaxAbstractManager) {
         | 
| 13120 13684 | 
             
              /**
         | 
| 13121 13685 | 
             
              @module ember
         | 
| 13122 13686 | 
             
              @submodule ember-glimmer
         | 
| @@ -13255,9 +13819,13 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re | |
| 13255 13819 |  | 
| 13256 13820 | 
             
              exports.RenderSyntax = RenderSyntax;
         | 
| 13257 13821 |  | 
| 13258 | 
            -
              var AbstractRenderManager = (function () {
         | 
| 13822 | 
            +
              var AbstractRenderManager = (function (_AbstractManager) {
         | 
| 13823 | 
            +
                babelHelpers.inherits(AbstractRenderManager, _AbstractManager);
         | 
| 13824 | 
            +
             | 
| 13259 13825 | 
             
                function AbstractRenderManager() {
         | 
| 13260 13826 | 
             
                  babelHelpers.classCallCheck(this, AbstractRenderManager);
         | 
| 13827 | 
            +
             | 
| 13828 | 
            +
                  _AbstractManager.apply(this, arguments);
         | 
| 13261 13829 | 
             
                }
         | 
| 13262 13830 |  | 
| 13263 13831 | 
             
                AbstractRenderManager.prototype.prepareArgs = function prepareArgs(definition, args) {
         | 
| @@ -13297,7 +13865,13 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re | |
| 13297 13865 | 
             
                AbstractRenderManager.prototype.didUpdate = function didUpdate() {};
         | 
| 13298 13866 |  | 
| 13299 13867 | 
             
                return AbstractRenderManager;
         | 
| 13300 | 
            -
              })();
         | 
| 13868 | 
            +
              })(_emberGlimmerSyntaxAbstractManager.default);
         | 
| 13869 | 
            +
             | 
| 13870 | 
            +
              _emberMetal.runInDebug(function () {
         | 
| 13871 | 
            +
                AbstractRenderManager.prototype.didRenderLayout = function () {
         | 
| 13872 | 
            +
                  this.debugStack.pop();
         | 
| 13873 | 
            +
                };
         | 
| 13874 | 
            +
              });
         | 
| 13301 13875 |  | 
| 13302 13876 | 
             
              var SingletonRenderManager = (function (_AbstractRenderManager) {
         | 
| 13303 13877 | 
             
                babelHelpers.inherits(SingletonRenderManager, _AbstractRenderManager);
         | 
| @@ -13309,11 +13883,17 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re | |
| 13309 13883 | 
             
                }
         | 
| 13310 13884 |  | 
| 13311 13885 | 
             
                SingletonRenderManager.prototype.create = function create(environment, definition, args, dynamicScope) {
         | 
| 13886 | 
            +
                  var _this = this;
         | 
| 13887 | 
            +
             | 
| 13312 13888 | 
             
                  var name = definition.name;
         | 
| 13313 13889 | 
             
                  var env = definition.env;
         | 
| 13314 13890 |  | 
| 13315 13891 | 
             
                  var controller = env.owner.lookup('controller:' + name) || _emberRouting.generateController(env.owner, name);
         | 
| 13316 13892 |  | 
| 13893 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13894 | 
            +
                    return _this._pushToDebugStack('controller:' + name + ' (with the render helper)', environment);
         | 
| 13895 | 
            +
                  });
         | 
| 13896 | 
            +
             | 
| 13317 13897 | 
             
                  if (dynamicScope.rootOutletState) {
         | 
| 13318 13898 | 
             
                    dynamicScope.outletState = dynamicScope.rootOutletState.getOrphan(name);
         | 
| 13319 13899 | 
             
                  }
         | 
| @@ -13336,6 +13916,8 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re | |
| 13336 13916 | 
             
                }
         | 
| 13337 13917 |  | 
| 13338 13918 | 
             
                NonSingletonRenderManager.prototype.create = function create(environment, definition, args, dynamicScope) {
         | 
| 13919 | 
            +
                  var _this2 = this;
         | 
| 13920 | 
            +
             | 
| 13339 13921 | 
             
                  var name = definition.name;
         | 
| 13340 13922 | 
             
                  var env = definition.env;
         | 
| 13341 13923 |  | 
| @@ -13344,6 +13926,10 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re | |
| 13344 13926 | 
             
                  var factory = env.owner._lookupFactory('controller:' + name) || _emberRouting.generateControllerFactory(env.owner, name);
         | 
| 13345 13927 | 
             
                  var controller = factory.create({ model: modelRef.value() });
         | 
| 13346 13928 |  | 
| 13929 | 
            +
                  _emberMetal.runInDebug(function () {
         | 
| 13930 | 
            +
                    return _this2._pushToDebugStack('controller:' + name + ' (with the render helper)', environment);
         | 
| 13931 | 
            +
                  });
         | 
| 13932 | 
            +
             | 
| 13347 13933 | 
             
                  if (dynamicScope.rootOutletState) {
         | 
| 13348 13934 | 
             
                    dynamicScope.outletState = dynamicScope.rootOutletState.getOrphan(name);
         | 
| 13349 13935 | 
             
                  }
         | 
| @@ -13683,6 +14269,99 @@ enifed('ember-glimmer/utils/bindings', ['exports', 'glimmer-reference', 'glimmer | |
| 13683 14269 | 
             
                return ColonClassNameBindingReference;
         | 
| 13684 14270 | 
             
              })(_glimmerReference.CachedReference);
         | 
| 13685 14271 | 
             
            });
         | 
| 14272 | 
            +
            enifed('ember-glimmer/utils/debug-stack', ['exports', 'ember-metal'], function (exports, _emberMetal) {
         | 
| 14273 | 
            +
              'use strict';
         | 
| 14274 | 
            +
             | 
| 14275 | 
            +
              var DebugStack = undefined;
         | 
| 14276 | 
            +
             | 
| 14277 | 
            +
              _emberMetal.runInDebug(function () {
         | 
| 14278 | 
            +
                var Element = function Element(name) {
         | 
| 14279 | 
            +
                  babelHelpers.classCallCheck(this, Element);
         | 
| 14280 | 
            +
             | 
| 14281 | 
            +
                  this.name = name;
         | 
| 14282 | 
            +
                };
         | 
| 14283 | 
            +
             | 
| 14284 | 
            +
                var TemplateElement = (function (_Element) {
         | 
| 14285 | 
            +
                  babelHelpers.inherits(TemplateElement, _Element);
         | 
| 14286 | 
            +
             | 
| 14287 | 
            +
                  function TemplateElement() {
         | 
| 14288 | 
            +
                    babelHelpers.classCallCheck(this, TemplateElement);
         | 
| 14289 | 
            +
             | 
| 14290 | 
            +
                    _Element.apply(this, arguments);
         | 
| 14291 | 
            +
                  }
         | 
| 14292 | 
            +
             | 
| 14293 | 
            +
                  return TemplateElement;
         | 
| 14294 | 
            +
                })(Element);
         | 
| 14295 | 
            +
             | 
| 14296 | 
            +
                var EngineElement = (function (_Element2) {
         | 
| 14297 | 
            +
                  babelHelpers.inherits(EngineElement, _Element2);
         | 
| 14298 | 
            +
             | 
| 14299 | 
            +
                  function EngineElement() {
         | 
| 14300 | 
            +
                    babelHelpers.classCallCheck(this, EngineElement);
         | 
| 14301 | 
            +
             | 
| 14302 | 
            +
                    _Element2.apply(this, arguments);
         | 
| 14303 | 
            +
                  }
         | 
| 14304 | 
            +
             | 
| 14305 | 
            +
                  return EngineElement;
         | 
| 14306 | 
            +
                })(Element);
         | 
| 14307 | 
            +
             | 
| 14308 | 
            +
                DebugStack = (function () {
         | 
| 14309 | 
            +
                  function DebugStack() {
         | 
| 14310 | 
            +
                    babelHelpers.classCallCheck(this, DebugStack);
         | 
| 14311 | 
            +
             | 
| 14312 | 
            +
                    this._stack = [];
         | 
| 14313 | 
            +
                  }
         | 
| 14314 | 
            +
             | 
| 14315 | 
            +
                  DebugStack.prototype.push = function push(name) {
         | 
| 14316 | 
            +
                    this._stack.push(new TemplateElement(name));
         | 
| 14317 | 
            +
                  };
         | 
| 14318 | 
            +
             | 
| 14319 | 
            +
                  DebugStack.prototype.pushEngine = function pushEngine(name) {
         | 
| 14320 | 
            +
                    this._stack.push(new EngineElement(name));
         | 
| 14321 | 
            +
                  };
         | 
| 14322 | 
            +
             | 
| 14323 | 
            +
                  DebugStack.prototype.pop = function pop() {
         | 
| 14324 | 
            +
                    var element = this._stack.pop();
         | 
| 14325 | 
            +
             | 
| 14326 | 
            +
                    if (element) {
         | 
| 14327 | 
            +
                      return element.name;
         | 
| 14328 | 
            +
                    }
         | 
| 14329 | 
            +
                  };
         | 
| 14330 | 
            +
             | 
| 14331 | 
            +
                  DebugStack.prototype.peek = function peek() {
         | 
| 14332 | 
            +
                    var template = this._currentTemplate();
         | 
| 14333 | 
            +
                    var engine = this._currentEngine();
         | 
| 14334 | 
            +
             | 
| 14335 | 
            +
                    if (engine) {
         | 
| 14336 | 
            +
                      return '"' + template + '" (in "' + engine + '")';
         | 
| 14337 | 
            +
                    } else if (template) {
         | 
| 14338 | 
            +
                      return '"' + template + '"';
         | 
| 14339 | 
            +
                    }
         | 
| 14340 | 
            +
                  };
         | 
| 14341 | 
            +
             | 
| 14342 | 
            +
                  DebugStack.prototype._currentTemplate = function _currentTemplate() {
         | 
| 14343 | 
            +
                    return this._getCurrentByType(TemplateElement);
         | 
| 14344 | 
            +
                  };
         | 
| 14345 | 
            +
             | 
| 14346 | 
            +
                  DebugStack.prototype._currentEngine = function _currentEngine() {
         | 
| 14347 | 
            +
                    return this._getCurrentByType(EngineElement);
         | 
| 14348 | 
            +
                  };
         | 
| 14349 | 
            +
             | 
| 14350 | 
            +
                  DebugStack.prototype._getCurrentByType = function _getCurrentByType(type) {
         | 
| 14351 | 
            +
                    for (var i = this._stack.length; i >= 0; i--) {
         | 
| 14352 | 
            +
                      var element = this._stack[i];
         | 
| 14353 | 
            +
                      if (element instanceof type) {
         | 
| 14354 | 
            +
                        return element.name;
         | 
| 14355 | 
            +
                      }
         | 
| 14356 | 
            +
                    }
         | 
| 14357 | 
            +
                  };
         | 
| 14358 | 
            +
             | 
| 14359 | 
            +
                  return DebugStack;
         | 
| 14360 | 
            +
                })();
         | 
| 14361 | 
            +
              });
         | 
| 14362 | 
            +
             | 
| 14363 | 
            +
              exports.default = DebugStack;
         | 
| 14364 | 
            +
            });
         | 
| 13686 14365 | 
             
            enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime', 'ember-glimmer/utils/references', 'ember-glimmer/helpers/each-in', 'glimmer-reference'], function (exports, _emberUtils, _emberMetal, _emberRuntime, _emberGlimmerUtilsReferences, _emberGlimmerHelpersEachIn, _glimmerReference) {
         | 
| 13687 14366 | 
             
              'use strict';
         | 
| 13688 14367 |  | 
| @@ -14516,8 +15195,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal | |
| 14516 15195 | 
             
                      var namedValue = named.value();
         | 
| 14517 15196 |  | 
| 14518 15197 | 
             
                      _emberMetal.runInDebug(function () {
         | 
| 14519 | 
            -
                         | 
| 14520 | 
            -
             | 
| 15198 | 
            +
                        if (_emberUtils.HAS_NATIVE_WEAKMAP) {
         | 
| 15199 | 
            +
                          Object.freeze(positionalValue);
         | 
| 15200 | 
            +
                          Object.freeze(namedValue);
         | 
| 15201 | 
            +
                        }
         | 
| 14521 15202 | 
             
                      });
         | 
| 14522 15203 |  | 
| 14523 15204 | 
             
                      var result = helper(positionalValue, namedValue);
         | 
| @@ -14567,8 +15248,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal | |
| 14567 15248 | 
             
                  var namedValue = named.value();
         | 
| 14568 15249 |  | 
| 14569 15250 | 
             
                  _emberMetal.runInDebug(function () {
         | 
| 14570 | 
            -
                     | 
| 14571 | 
            -
             | 
| 15251 | 
            +
                    if (_emberUtils.HAS_NATIVE_WEAKMAP) {
         | 
| 15252 | 
            +
                      Object.freeze(positionalValue);
         | 
| 15253 | 
            +
                      Object.freeze(namedValue);
         | 
| 15254 | 
            +
                    }
         | 
| 14572 15255 | 
             
                  });
         | 
| 14573 15256 |  | 
| 14574 15257 | 
             
                  return helper(positionalValue, namedValue);
         | 
| @@ -14608,8 +15291,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal | |
| 14608 15291 | 
             
                  var namedValue = named.value();
         | 
| 14609 15292 |  | 
| 14610 15293 | 
             
                  _emberMetal.runInDebug(function () {
         | 
| 14611 | 
            -
                     | 
| 14612 | 
            -
             | 
| 15294 | 
            +
                    if (_emberUtils.HAS_NATIVE_WEAKMAP) {
         | 
| 15295 | 
            +
                      Object.freeze(positionalValue);
         | 
| 15296 | 
            +
                      Object.freeze(namedValue);
         | 
| 15297 | 
            +
                    }
         | 
| 14613 15298 | 
             
                  });
         | 
| 14614 15299 |  | 
| 14615 15300 | 
             
                  return instance.compute(positionalValue, namedValue);
         | 
| @@ -15656,7 +16341,7 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func | |
| 15656 16341 | 
             
                return DefaultStore;
         | 
| 15657 16342 | 
             
              })();
         | 
| 15658 16343 | 
             
            });
         | 
| 15659 | 
            -
            enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalWatch_path) {
         | 
| 16344 | 
            +
            enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
         | 
| 15660 16345 | 
             
              'use strict';
         | 
| 15661 16346 |  | 
| 15662 16347 | 
             
              exports.finishChains = finishChains;
         | 
| @@ -15841,8 +16526,8 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge | |
| 15841 16526 | 
             
                  // Otherwise attempt to get the cached value of the computed property
         | 
| 15842 16527 | 
             
                } else {
         | 
| 15843 16528 | 
             
                    var cache = meta.readableCache();
         | 
| 15844 | 
            -
                    if (cache | 
| 15845 | 
            -
                      return cache | 
| 16529 | 
            +
                    if (cache) {
         | 
| 16530 | 
            +
                      return _emberMetalComputed.cacheFor.get(cache, key);
         | 
| 15846 16531 | 
             
                    }
         | 
| 15847 16532 | 
             
                  }
         | 
| 15848 16533 | 
             
              }
         | 
| @@ -18719,7 +19404,7 @@ enifed('ember-metal/merge', ['exports'], function (exports) { | |
| 18719 19404 | 
             
                return original;
         | 
| 18720 19405 | 
             
              }
         | 
| 18721 19406 | 
             
            });
         | 
| 18722 | 
            -
            enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'ember-metal/meta_listeners', 'ember-metal/debug', 'ember-metal/chains'], function (exports, _emberUtils, _emberMetalFeatures, _emberMetalMeta_listeners, _emberMetalDebug, _emberMetalChains) {
         | 
| 19407 | 
            +
            enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'ember-metal/meta_listeners', 'ember-metal/debug', 'ember-metal/chains', 'require'], function (exports, _emberUtils, _emberMetalFeatures, _emberMetalMeta_listeners, _emberMetalDebug, _emberMetalChains, _require) {
         | 
| 18723 19408 | 
             
              'no use strict';
         | 
| 18724 19409 | 
             
              // Remove "use strict"; from transpiled module until
         | 
| 18725 19410 | 
             
              // https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
         | 
| @@ -18784,13 +19469,19 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e | |
| 18784 19469 |  | 
| 18785 19470 | 
             
              if (true || false) {
         | 
| 18786 19471 | 
             
                members.lastRendered = ownMap;
         | 
| 18787 | 
            -
                 | 
| 19472 | 
            +
                if (_require.has('ember-debug')) {
         | 
| 19473 | 
            +
                  //https://github.com/emberjs/ember.js/issues/14732
         | 
| 19474 | 
            +
                  members.lastRenderedReferenceMap = ownMap;
         | 
| 19475 | 
            +
                  members.lastRenderedTemplateMap = ownMap;
         | 
| 19476 | 
            +
                }
         | 
| 18788 19477 | 
             
              }
         | 
| 18789 19478 |  | 
| 18790 19479 | 
             
              var memberNames = Object.keys(members);
         | 
| 18791 19480 | 
             
              var META_FIELD = '__ember_meta__';
         | 
| 18792 19481 |  | 
| 18793 19482 | 
             
              function Meta(obj, parentMeta) {
         | 
| 19483 | 
            +
                var _this = this;
         | 
| 19484 | 
            +
             | 
| 18794 19485 | 
             
                _emberMetalDebug.runInDebug(function () {
         | 
| 18795 19486 | 
             
                  return counters.metaInstantiated++;
         | 
| 18796 19487 | 
             
                });
         | 
| @@ -18826,7 +19517,10 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e | |
| 18826 19517 |  | 
| 18827 19518 | 
             
                if (true || false) {
         | 
| 18828 19519 | 
             
                  this._lastRendered = undefined;
         | 
| 18829 | 
            -
                   | 
| 19520 | 
            +
                  _emberMetalDebug.runInDebug(function () {
         | 
| 19521 | 
            +
                    _this._lastRenderedReferenceMap = undefined;
         | 
| 19522 | 
            +
                    _this._lastRenderedTemplateMap = undefined;
         | 
| 19523 | 
            +
                  });
         | 
| 18830 19524 | 
             
                }
         | 
| 18831 19525 |  | 
| 18832 19526 | 
             
                this._initializeListeners();
         | 
| @@ -19193,24 +19887,11 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e | |
| 19193 19887 | 
             
                };
         | 
| 19194 19888 | 
             
              }
         | 
| 19195 19889 |  | 
| 19196 | 
            -
              var HAS_NATIVE_WEAKMAP = (function () {
         | 
| 19197 | 
            -
                // detect if `WeakMap` is even present
         | 
| 19198 | 
            -
                var hasWeakMap = typeof WeakMap === 'function';
         | 
| 19199 | 
            -
                if (!hasWeakMap) {
         | 
| 19200 | 
            -
                  return false;
         | 
| 19201 | 
            -
                }
         | 
| 19202 | 
            -
             | 
| 19203 | 
            -
                var instance = new WeakMap();
         | 
| 19204 | 
            -
                // use `Object`'s `.toString` directly to prevent us from detecting
         | 
| 19205 | 
            -
                // polyfills as native weakmaps
         | 
| 19206 | 
            -
                return Object.prototype.toString.call(instance) === '[object WeakMap]';
         | 
| 19207 | 
            -
              })();
         | 
| 19208 | 
            -
             | 
| 19209 19890 | 
             
              var setMeta = undefined,
         | 
| 19210 19891 | 
             
                  peekMeta = undefined;
         | 
| 19211 19892 |  | 
| 19212 19893 | 
             
              // choose the one appropriate for given platform
         | 
| 19213 | 
            -
              if (HAS_NATIVE_WEAKMAP) {
         | 
| 19894 | 
            +
              if (_emberUtils.HAS_NATIVE_WEAKMAP) {
         | 
| 19214 19895 | 
             
                (function () {
         | 
| 19215 19896 | 
             
                  var getPrototypeOf = Object.getPrototypeOf;
         | 
| 19216 19897 | 
             
                  var metaStore = new WeakMap();
         | 
| @@ -22343,10 +23024,14 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d | |
| 22343 23024 | 
             
                  var counter = 0;
         | 
| 22344 23025 | 
             
                  var inTransaction = false;
         | 
| 22345 23026 | 
             
                  var shouldReflush = undefined;
         | 
| 23027 | 
            +
                  var debugStack = undefined;
         | 
| 22346 23028 |  | 
| 22347 23029 | 
             
                  exports.default = runInTransaction = function (context, methodName) {
         | 
| 22348 23030 | 
             
                    shouldReflush = false;
         | 
| 22349 23031 | 
             
                    inTransaction = true;
         | 
| 23032 | 
            +
                    _emberMetalDebug.runInDebug(function () {
         | 
| 23033 | 
            +
                      debugStack = context.env.debugStack;
         | 
| 23034 | 
            +
                    });
         | 
| 22350 23035 | 
             
                    context[methodName]();
         | 
| 22351 23036 | 
             
                    inTransaction = false;
         | 
| 22352 23037 | 
             
                    counter++;
         | 
| @@ -22362,8 +23047,13 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d | |
| 22362 23047 | 
             
                    lastRendered[key] = counter;
         | 
| 22363 23048 |  | 
| 22364 23049 | 
             
                    _emberMetalDebug.runInDebug(function () {
         | 
| 22365 | 
            -
                      var  | 
| 22366 | 
            -
                       | 
| 23050 | 
            +
                      var referenceMap = meta.writableLastRenderedReferenceMap();
         | 
| 23051 | 
            +
                      referenceMap[key] = reference;
         | 
| 23052 | 
            +
             | 
| 23053 | 
            +
                      var templateMap = meta.writableLastRenderedTemplateMap();
         | 
| 23054 | 
            +
                      if (templateMap[key] === undefined) {
         | 
| 23055 | 
            +
                        templateMap[key] = debugStack.peek();
         | 
| 23056 | 
            +
                      }
         | 
| 22367 23057 | 
             
                    });
         | 
| 22368 23058 | 
             
                  };
         | 
| 22369 23059 |  | 
| @@ -22373,10 +23063,13 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d | |
| 22373 23063 |  | 
| 22374 23064 | 
             
                    if (lastRendered && lastRendered[key] === counter) {
         | 
| 22375 23065 | 
             
                      raise((function () {
         | 
| 22376 | 
            -
                        var  | 
| 22377 | 
            -
                        var  | 
| 22378 | 
            -
                        var  | 
| 23066 | 
            +
                        var templateMap = meta.readableLastRenderedTemplateMap();
         | 
| 23067 | 
            +
                        var lastRenderedIn = templateMap[key];
         | 
| 23068 | 
            +
                        var currentlyIn = debugStack.peek();
         | 
| 22379 23069 |  | 
| 23070 | 
            +
                        var referenceMap = meta.readableLastRenderedReferenceMap();
         | 
| 23071 | 
            +
                        var lastRef = referenceMap[key];
         | 
| 23072 | 
            +
                        var parts = [];
         | 
| 22380 23073 | 
             
                        var label = undefined;
         | 
| 22381 23074 |  | 
| 22382 23075 | 
             
                        if (lastRef) {
         | 
| @@ -22385,12 +23078,12 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d | |
| 22385 23078 | 
             
                            lastRef = lastRef._parentReference;
         | 
| 22386 23079 | 
             
                          }
         | 
| 22387 23080 |  | 
| 22388 | 
            -
                          label = parts.join();
         | 
| 23081 | 
            +
                          label = parts.join('.');
         | 
| 22389 23082 | 
             
                        } else {
         | 
| 22390 23083 | 
             
                          label = 'the same value';
         | 
| 22391 23084 | 
             
                        }
         | 
| 22392 23085 |  | 
| 22393 | 
            -
                        return 'You modified ' + label + ' twice on ' + object + ' in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
         | 
| 23086 | 
            +
                        return 'You modified "' + label + '" twice on ' + object + ' in a single render. It was rendered in ' + lastRenderedIn + ' and modified in ' + currentlyIn + '. This was unreliable and slow in Ember 1.x and ' + implication;
         | 
| 22394 23087 | 
             
                      })(), false);
         | 
| 22395 23088 |  | 
| 22396 23089 | 
             
                      shouldReflush = true;
         | 
| @@ -33458,9 +34151,9 @@ enifed('ember-runtime/mixins/mutable_array', ['exports', 'ember-metal', 'ember-r | |
| 33458 34151 | 
             
                  want to reuse an existing array without having to recreate it.
         | 
| 33459 34152 | 
             
                   ```javascript
         | 
| 33460 34153 | 
             
                  let colors = ['red', 'green', 'blue'];
         | 
| 33461 | 
            -
                    | 
| 33462 | 
            -
                  colors.clear(); | 
| 33463 | 
            -
                  colors.length | 
| 34154 | 
            +
                   colors.length;  // 3
         | 
| 34155 | 
            +
                  colors.clear(); // []
         | 
| 34156 | 
            +
                  colors.length;  // 0
         | 
| 33464 34157 | 
             
                  ```
         | 
| 33465 34158 | 
             
                   @method clear
         | 
| 33466 34159 | 
             
                  @return {Ember.Array} An empty Array.
         | 
| @@ -34637,7 +35330,7 @@ enifed('ember-runtime/mixins/registry_proxy', ['exports', 'ember-metal'], functi | |
| 34637 35330 | 
             
                 let App = Ember.Application.create();
         | 
| 34638 35331 | 
             
                 let appInstance = App.buildInstance();
         | 
| 34639 35332 | 
             
                  // if all of type `connection` must not be singletons
         | 
| 34640 | 
            -
                 appInstance. | 
| 35333 | 
            +
                 appInstance.registerOptionsForType('connection', { singleton: false });
         | 
| 34641 35334 | 
             
                  appInstance.register('connection:twitter', TwitterConnection);
         | 
| 34642 35335 | 
             
                 appInstance.register('connection:facebook', FacebookConnection);
         | 
| 34643 35336 | 
             
                  let twitter = appInstance.lookup('connection:twitter');
         | 
| @@ -39319,7 +40012,7 @@ enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports, | |
| 39319 40012 | 
             
                }
         | 
| 39320 40013 | 
             
              }
         | 
| 39321 40014 | 
             
            });
         | 
| 39322 | 
            -
            enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString) {
         | 
| 40015 | 
            +
            enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils) {
         | 
| 39323 40016 | 
             
              /*
         | 
| 39324 40017 | 
             
               This package will be eagerly parsed and should have no dependencies on external
         | 
| 39325 40018 | 
             
               packages.
         | 
| @@ -39357,6 +40050,7 @@ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner | |
| 39357 40050 | 
             
              exports.applyStr = _emberUtilsApplyStr.default;
         | 
| 39358 40051 | 
             
              exports.NAME_KEY = _emberUtilsName.default;
         | 
| 39359 40052 | 
             
              exports.toString = _emberUtilsToString.default;
         | 
| 40053 | 
            +
              exports.HAS_NATIVE_WEAKMAP = _emberUtilsWeakMapUtils.HAS_NATIVE_WEAKMAP;
         | 
| 39360 40054 | 
             
            });
         | 
| 39361 40055 | 
             
            enifed('ember-utils/inspect', ['exports'], function (exports) {
         | 
| 39362 40056 | 
             
              'use strict';
         | 
| @@ -39657,8 +40351,8 @@ enifed('ember-utils/owner', ['exports', 'ember-utils/symbol'], function (exports | |
| 39657 40351 |  | 
| 39658 40352 | 
             
                @method setOwner
         | 
| 39659 40353 | 
             
                @for Ember
         | 
| 39660 | 
            -
                @param {Object} object An object  | 
| 39661 | 
            -
                @ | 
| 40354 | 
            +
                @param {Object} object An object instance.
         | 
| 40355 | 
            +
                @param {Object} object The new owner object of the object instance.
         | 
| 39662 40356 | 
             
                @since 2.3.0
         | 
| 39663 40357 | 
             
                @public
         | 
| 39664 40358 | 
             
              */
         | 
| @@ -39774,6 +40468,23 @@ enifed('ember-utils/to-string', ['exports'], function (exports) { | |
| 39774 40468 | 
             
                }
         | 
| 39775 40469 | 
             
              }
         | 
| 39776 40470 | 
             
            });
         | 
| 40471 | 
            +
            enifed('ember-utils/weak-map-utils', ['exports'], function (exports) {
         | 
| 40472 | 
            +
              'use strict';
         | 
| 40473 | 
            +
             | 
| 40474 | 
            +
              var HAS_NATIVE_WEAKMAP = (function () {
         | 
| 40475 | 
            +
                // detect if `WeakMap` is even present
         | 
| 40476 | 
            +
                var hasWeakMap = typeof WeakMap === 'function';
         | 
| 40477 | 
            +
                if (!hasWeakMap) {
         | 
| 40478 | 
            +
                  return false;
         | 
| 40479 | 
            +
                }
         | 
| 40480 | 
            +
             | 
| 40481 | 
            +
                var instance = new WeakMap();
         | 
| 40482 | 
            +
                // use `Object`'s `.toString` directly to prevent us from detecting
         | 
| 40483 | 
            +
                // polyfills as native weakmaps
         | 
| 40484 | 
            +
                return Object.prototype.toString.call(instance) === '[object WeakMap]';
         | 
| 40485 | 
            +
              })();
         | 
| 40486 | 
            +
              exports.HAS_NATIVE_WEAKMAP = HAS_NATIVE_WEAKMAP;
         | 
| 40487 | 
            +
            });
         | 
| 39777 40488 | 
             
            enifed('ember-views/compat/attrs', ['exports', 'ember-utils'], function (exports, _emberUtils) {
         | 
| 39778 40489 | 
             
              'use strict';
         | 
| 39779 40490 |  | 
| @@ -41736,481 +42447,6 @@ enifed("ember-views/views/view", ["exports"], function (exports) { | |
| 41736 42447 | 
             
            */
         | 
| 41737 42448 |  | 
| 41738 42449 | 
             
            /**
         | 
| 41739 | 
            -
              `Ember.View` is the class in Ember responsible for encapsulating templates of
         | 
| 41740 | 
            -
              HTML content, combining templates with data to render as sections of a page's
         | 
| 41741 | 
            -
              DOM, and registering and responding to user-initiated events.
         | 
| 41742 | 
            -
             | 
| 41743 | 
            -
              ## HTML Tag
         | 
| 41744 | 
            -
             | 
| 41745 | 
            -
              The default HTML tag name used for a view's DOM representation is `div`. This
         | 
| 41746 | 
            -
              can be customized by setting the `tagName` property. The following view
         | 
| 41747 | 
            -
              class:
         | 
| 41748 | 
            -
             | 
| 41749 | 
            -
              ```javascript
         | 
| 41750 | 
            -
              ParagraphView = Ember.View.extend({
         | 
| 41751 | 
            -
                tagName: 'em'
         | 
| 41752 | 
            -
              });
         | 
| 41753 | 
            -
              ```
         | 
| 41754 | 
            -
             | 
| 41755 | 
            -
              Would result in instances with the following HTML:
         | 
| 41756 | 
            -
             | 
| 41757 | 
            -
              ```html
         | 
| 41758 | 
            -
              <em id="ember1" class="ember-view"></em>
         | 
| 41759 | 
            -
              ```
         | 
| 41760 | 
            -
             | 
| 41761 | 
            -
              ## HTML `class` Attribute
         | 
| 41762 | 
            -
             | 
| 41763 | 
            -
              The HTML `class` attribute of a view's tag can be set by providing a
         | 
| 41764 | 
            -
              `classNames` property that is set to an array of strings:
         | 
| 41765 | 
            -
             | 
| 41766 | 
            -
              ```javascript
         | 
| 41767 | 
            -
              MyView = Ember.View.extend({
         | 
| 41768 | 
            -
                classNames: ['my-class', 'my-other-class']
         | 
| 41769 | 
            -
              });
         | 
| 41770 | 
            -
              ```
         | 
| 41771 | 
            -
             | 
| 41772 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41773 | 
            -
             | 
| 41774 | 
            -
              ```html
         | 
| 41775 | 
            -
              <div id="ember1" class="ember-view my-class my-other-class"></div>
         | 
| 41776 | 
            -
              ```
         | 
| 41777 | 
            -
             | 
| 41778 | 
            -
              `class` attribute values can also be set by providing a `classNameBindings`
         | 
| 41779 | 
            -
              property set to an array of properties names for the view. The return value
         | 
| 41780 | 
            -
              of these properties will be added as part of the value for the view's `class`
         | 
| 41781 | 
            -
              attribute. These properties can be computed properties:
         | 
| 41782 | 
            -
             | 
| 41783 | 
            -
              ```javascript
         | 
| 41784 | 
            -
              MyView = Ember.View.extend({
         | 
| 41785 | 
            -
                classNameBindings: ['propertyA', 'propertyB'],
         | 
| 41786 | 
            -
                propertyA: 'from-a',
         | 
| 41787 | 
            -
                propertyB: Ember.computed(function() {
         | 
| 41788 | 
            -
                  if (someLogic) { return 'from-b'; }
         | 
| 41789 | 
            -
                })
         | 
| 41790 | 
            -
              });
         | 
| 41791 | 
            -
              ```
         | 
| 41792 | 
            -
             | 
| 41793 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41794 | 
            -
             | 
| 41795 | 
            -
              ```html
         | 
| 41796 | 
            -
              <div id="ember1" class="ember-view from-a from-b"></div>
         | 
| 41797 | 
            -
              ```
         | 
| 41798 | 
            -
             | 
| 41799 | 
            -
              If the value of a class name binding returns a boolean the property name
         | 
| 41800 | 
            -
              itself will be used as the class name if the property is true. The class name
         | 
| 41801 | 
            -
              will not be added if the value is `false` or `undefined`.
         | 
| 41802 | 
            -
             | 
| 41803 | 
            -
              ```javascript
         | 
| 41804 | 
            -
              MyView = Ember.View.extend({
         | 
| 41805 | 
            -
                classNameBindings: ['hovered'],
         | 
| 41806 | 
            -
                hovered: true
         | 
| 41807 | 
            -
              });
         | 
| 41808 | 
            -
              ```
         | 
| 41809 | 
            -
             | 
| 41810 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41811 | 
            -
             | 
| 41812 | 
            -
              ```html
         | 
| 41813 | 
            -
              <div id="ember1" class="ember-view hovered"></div>
         | 
| 41814 | 
            -
              ```
         | 
| 41815 | 
            -
             | 
| 41816 | 
            -
              When using boolean class name bindings you can supply a string value other
         | 
| 41817 | 
            -
              than the property name for use as the `class` HTML attribute by appending the
         | 
| 41818 | 
            -
              preferred value after a ":" character when defining the binding:
         | 
| 41819 | 
            -
             | 
| 41820 | 
            -
              ```javascript
         | 
| 41821 | 
            -
              MyView = Ember.View.extend({
         | 
| 41822 | 
            -
                classNameBindings: ['awesome:so-very-cool'],
         | 
| 41823 | 
            -
                awesome: true
         | 
| 41824 | 
            -
              });
         | 
| 41825 | 
            -
              ```
         | 
| 41826 | 
            -
             | 
| 41827 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41828 | 
            -
             | 
| 41829 | 
            -
              ```html
         | 
| 41830 | 
            -
              <div id="ember1" class="ember-view so-very-cool"></div>
         | 
| 41831 | 
            -
              ```
         | 
| 41832 | 
            -
             | 
| 41833 | 
            -
              Boolean value class name bindings whose property names are in a
         | 
| 41834 | 
            -
              camelCase-style format will be converted to a dasherized format:
         | 
| 41835 | 
            -
             | 
| 41836 | 
            -
              ```javascript
         | 
| 41837 | 
            -
              MyView = Ember.View.extend({
         | 
| 41838 | 
            -
                classNameBindings: ['isUrgent'],
         | 
| 41839 | 
            -
                isUrgent: true
         | 
| 41840 | 
            -
              });
         | 
| 41841 | 
            -
              ```
         | 
| 41842 | 
            -
             | 
| 41843 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41844 | 
            -
             | 
| 41845 | 
            -
              ```html
         | 
| 41846 | 
            -
              <div id="ember1" class="ember-view is-urgent"></div>
         | 
| 41847 | 
            -
              ```
         | 
| 41848 | 
            -
             | 
| 41849 | 
            -
              Class name bindings can also refer to object values that are found by
         | 
| 41850 | 
            -
              traversing a path relative to the view itself:
         | 
| 41851 | 
            -
             | 
| 41852 | 
            -
              ```javascript
         | 
| 41853 | 
            -
              MyView = Ember.View.extend({
         | 
| 41854 | 
            -
                classNameBindings: ['messages.empty']
         | 
| 41855 | 
            -
                messages: Ember.Object.create({
         | 
| 41856 | 
            -
                  empty: true
         | 
| 41857 | 
            -
                })
         | 
| 41858 | 
            -
              });
         | 
| 41859 | 
            -
              ```
         | 
| 41860 | 
            -
             | 
| 41861 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41862 | 
            -
             | 
| 41863 | 
            -
              ```html
         | 
| 41864 | 
            -
              <div id="ember1" class="ember-view empty"></div>
         | 
| 41865 | 
            -
              ```
         | 
| 41866 | 
            -
             | 
| 41867 | 
            -
              If you want to add a class name for a property which evaluates to true and
         | 
| 41868 | 
            -
              and a different class name if it evaluates to false, you can pass a binding
         | 
| 41869 | 
            -
              like this:
         | 
| 41870 | 
            -
             | 
| 41871 | 
            -
              ```javascript
         | 
| 41872 | 
            -
              // Applies 'enabled' class when isEnabled is true and 'disabled' when isEnabled is false
         | 
| 41873 | 
            -
              Ember.View.extend({
         | 
| 41874 | 
            -
                classNameBindings: ['isEnabled:enabled:disabled']
         | 
| 41875 | 
            -
                isEnabled: true
         | 
| 41876 | 
            -
              });
         | 
| 41877 | 
            -
              ```
         | 
| 41878 | 
            -
             | 
| 41879 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41880 | 
            -
             | 
| 41881 | 
            -
              ```html
         | 
| 41882 | 
            -
              <div id="ember1" class="ember-view enabled"></div>
         | 
| 41883 | 
            -
              ```
         | 
| 41884 | 
            -
             | 
| 41885 | 
            -
              When isEnabled is `false`, the resulting HTML representation looks like
         | 
| 41886 | 
            -
              this:
         | 
| 41887 | 
            -
             | 
| 41888 | 
            -
              ```html
         | 
| 41889 | 
            -
              <div id="ember1" class="ember-view disabled"></div>
         | 
| 41890 | 
            -
              ```
         | 
| 41891 | 
            -
             | 
| 41892 | 
            -
              This syntax offers the convenience to add a class if a property is `false`:
         | 
| 41893 | 
            -
             | 
| 41894 | 
            -
              ```javascript
         | 
| 41895 | 
            -
              // Applies no class when isEnabled is true and class 'disabled' when isEnabled is false
         | 
| 41896 | 
            -
              Ember.View.extend({
         | 
| 41897 | 
            -
                classNameBindings: ['isEnabled::disabled']
         | 
| 41898 | 
            -
                isEnabled: true
         | 
| 41899 | 
            -
              });
         | 
| 41900 | 
            -
              ```
         | 
| 41901 | 
            -
             | 
| 41902 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41903 | 
            -
             | 
| 41904 | 
            -
              ```html
         | 
| 41905 | 
            -
              <div id="ember1" class="ember-view"></div>
         | 
| 41906 | 
            -
              ```
         | 
| 41907 | 
            -
             | 
| 41908 | 
            -
              When the `isEnabled` property on the view is set to `false`, it will result
         | 
| 41909 | 
            -
              in view instances with an HTML representation of:
         | 
| 41910 | 
            -
             | 
| 41911 | 
            -
              ```html
         | 
| 41912 | 
            -
              <div id="ember1" class="ember-view disabled"></div>
         | 
| 41913 | 
            -
              ```
         | 
| 41914 | 
            -
             | 
| 41915 | 
            -
              Updates to the value of a class name binding will result in automatic
         | 
| 41916 | 
            -
              update of the  HTML `class` attribute in the view's rendered HTML
         | 
| 41917 | 
            -
              representation. If the value becomes `false` or `undefined` the class name
         | 
| 41918 | 
            -
              will be removed.
         | 
| 41919 | 
            -
             | 
| 41920 | 
            -
              Both `classNames` and `classNameBindings` are concatenated properties. See
         | 
| 41921 | 
            -
              [Ember.Object](/api/classes/Ember.Object.html) documentation for more
         | 
| 41922 | 
            -
              information about concatenated properties.
         | 
| 41923 | 
            -
             | 
| 41924 | 
            -
              ## HTML Attributes
         | 
| 41925 | 
            -
             | 
| 41926 | 
            -
              The HTML attribute section of a view's tag can be set by providing an
         | 
| 41927 | 
            -
              `attributeBindings` property set to an array of property names on the view.
         | 
| 41928 | 
            -
              The return value of these properties will be used as the value of the view's
         | 
| 41929 | 
            -
              HTML associated attribute:
         | 
| 41930 | 
            -
             | 
| 41931 | 
            -
              ```javascript
         | 
| 41932 | 
            -
              AnchorView = Ember.View.extend({
         | 
| 41933 | 
            -
                tagName: 'a',
         | 
| 41934 | 
            -
                attributeBindings: ['href'],
         | 
| 41935 | 
            -
                href: 'http://google.com'
         | 
| 41936 | 
            -
              });
         | 
| 41937 | 
            -
              ```
         | 
| 41938 | 
            -
             | 
| 41939 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41940 | 
            -
             | 
| 41941 | 
            -
              ```html
         | 
| 41942 | 
            -
              <a id="ember1" class="ember-view" href="http://google.com"></a>
         | 
| 41943 | 
            -
              ```
         | 
| 41944 | 
            -
             | 
| 41945 | 
            -
              One property can be mapped on to another by placing a ":" between
         | 
| 41946 | 
            -
              the source property and the destination property:
         | 
| 41947 | 
            -
             | 
| 41948 | 
            -
              ```javascript
         | 
| 41949 | 
            -
              AnchorView = Ember.View.extend({
         | 
| 41950 | 
            -
                tagName: 'a',
         | 
| 41951 | 
            -
                attributeBindings: ['url:href'],
         | 
| 41952 | 
            -
                url: 'http://google.com'
         | 
| 41953 | 
            -
              });
         | 
| 41954 | 
            -
              ```
         | 
| 41955 | 
            -
             | 
| 41956 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41957 | 
            -
             | 
| 41958 | 
            -
              ```html
         | 
| 41959 | 
            -
              <a id="ember1" class="ember-view" href="http://google.com"></a>
         | 
| 41960 | 
            -
              ```
         | 
| 41961 | 
            -
             | 
| 41962 | 
            -
              Namespaced attributes (e.g. `xlink:href`) are supported, but have to be
         | 
| 41963 | 
            -
              mapped, since `:` is not a valid character for properties in Javascript:
         | 
| 41964 | 
            -
             | 
| 41965 | 
            -
              ```javascript
         | 
| 41966 | 
            -
              UseView = Ember.View.extend({
         | 
| 41967 | 
            -
                tagName: 'use',
         | 
| 41968 | 
            -
                attributeBindings: ['xlinkHref:xlink:href'],
         | 
| 41969 | 
            -
                xlinkHref: '#triangle'
         | 
| 41970 | 
            -
              });
         | 
| 41971 | 
            -
              ```
         | 
| 41972 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 41973 | 
            -
             | 
| 41974 | 
            -
              ```html
         | 
| 41975 | 
            -
              <use xlink:href="#triangle"></use>
         | 
| 41976 | 
            -
              ```
         | 
| 41977 | 
            -
             | 
| 41978 | 
            -
              If the return value of an `attributeBindings` monitored property is a boolean
         | 
| 41979 | 
            -
              the attribute will be present or absent depending on the value:
         | 
| 41980 | 
            -
             | 
| 41981 | 
            -
              ```javascript
         | 
| 41982 | 
            -
              MyTextInput = Ember.View.extend({
         | 
| 41983 | 
            -
                tagName: 'input',
         | 
| 41984 | 
            -
                attributeBindings: ['disabled'],
         | 
| 41985 | 
            -
                disabled: false
         | 
| 41986 | 
            -
              });
         | 
| 41987 | 
            -
              ```
         | 
| 41988 | 
            -
             | 
| 41989 | 
            -
              Will result in a view instance with an HTML representation of:
         | 
| 41990 | 
            -
             | 
| 41991 | 
            -
              ```html
         | 
| 41992 | 
            -
              <input id="ember1" class="ember-view" />
         | 
| 41993 | 
            -
              ```
         | 
| 41994 | 
            -
             | 
| 41995 | 
            -
              `attributeBindings` can refer to computed properties:
         | 
| 41996 | 
            -
             | 
| 41997 | 
            -
              ```javascript
         | 
| 41998 | 
            -
              MyTextInput = Ember.View.extend({
         | 
| 41999 | 
            -
                tagName: 'input',
         | 
| 42000 | 
            -
                attributeBindings: ['disabled'],
         | 
| 42001 | 
            -
                disabled: Ember.computed(function() {
         | 
| 42002 | 
            -
                  if (someLogic) {
         | 
| 42003 | 
            -
                    return true;
         | 
| 42004 | 
            -
                  } else {
         | 
| 42005 | 
            -
                    return false;
         | 
| 42006 | 
            -
                  }
         | 
| 42007 | 
            -
                })
         | 
| 42008 | 
            -
              });
         | 
| 42009 | 
            -
              ```
         | 
| 42010 | 
            -
             | 
| 42011 | 
            -
              To prevent setting an attribute altogether, use `null` or `undefined` as the
         | 
| 42012 | 
            -
              return value of the `attributeBindings` monitored property:
         | 
| 42013 | 
            -
             | 
| 42014 | 
            -
              ```javascript
         | 
| 42015 | 
            -
              MyTextInput = Ember.View.extend({
         | 
| 42016 | 
            -
                tagName: 'form',
         | 
| 42017 | 
            -
                attributeBindings: ['novalidate'],
         | 
| 42018 | 
            -
                novalidate: null
         | 
| 42019 | 
            -
              });
         | 
| 42020 | 
            -
              ```
         | 
| 42021 | 
            -
             | 
| 42022 | 
            -
              Updates to the property of an attribute binding will result in automatic
         | 
| 42023 | 
            -
              update of the  HTML attribute in the view's rendered HTML representation.
         | 
| 42024 | 
            -
             | 
| 42025 | 
            -
              `attributeBindings` is a concatenated property. See [Ember.Object](/api/classes/Ember.Object.html)
         | 
| 42026 | 
            -
              documentation for more information about concatenated properties.
         | 
| 42027 | 
            -
             | 
| 42028 | 
            -
              ## Layouts
         | 
| 42029 | 
            -
             | 
| 42030 | 
            -
              Views can have a secondary template that wraps their main template. Like
         | 
| 42031 | 
            -
              primary templates, layouts can be any function that  accepts an optional
         | 
| 42032 | 
            -
              context parameter and returns a string of HTML that will be inserted inside
         | 
| 42033 | 
            -
              view's tag. Views whose HTML element is self closing (e.g. `<input />`)
         | 
| 42034 | 
            -
              cannot have a layout and this property will be ignored.
         | 
| 42035 | 
            -
             | 
| 42036 | 
            -
              Most typically in Ember a layout will be a compiled template.
         | 
| 42037 | 
            -
             | 
| 42038 | 
            -
              A view's layout can be set directly with the `layout` property or reference
         | 
| 42039 | 
            -
              an existing template by name with the `layoutName` property.
         | 
| 42040 | 
            -
             | 
| 42041 | 
            -
              A template used as a layout must contain a single use of the
         | 
| 42042 | 
            -
              `{{yield}}` helper. The HTML contents of a view's rendered `template` will be
         | 
| 42043 | 
            -
              inserted at this location:
         | 
| 42044 | 
            -
             | 
| 42045 | 
            -
              ```javascript
         | 
| 42046 | 
            -
              AViewWithLayout = Ember.View.extend({
         | 
| 42047 | 
            -
                layout: Ember.HTMLBars.compile("<div class='my-decorative-class'>{{yield}}</div>"),
         | 
| 42048 | 
            -
                template: Ember.HTMLBars.compile("I got wrapped")
         | 
| 42049 | 
            -
              });
         | 
| 42050 | 
            -
              ```
         | 
| 42051 | 
            -
             | 
| 42052 | 
            -
              Will result in view instances with an HTML representation of:
         | 
| 42053 | 
            -
             | 
| 42054 | 
            -
              ```html
         | 
| 42055 | 
            -
              <div id="ember1" class="ember-view">
         | 
| 42056 | 
            -
                <div class="my-decorative-class">
         | 
| 42057 | 
            -
                  I got wrapped
         | 
| 42058 | 
            -
                </div>
         | 
| 42059 | 
            -
              </div>
         | 
| 42060 | 
            -
              ```
         | 
| 42061 | 
            -
             | 
| 42062 | 
            -
              See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
         | 
| 42063 | 
            -
              for more information.
         | 
| 42064 | 
            -
             | 
| 42065 | 
            -
              ## Responding to Browser Events
         | 
| 42066 | 
            -
             | 
| 42067 | 
            -
              Views can respond to user-initiated events in one of three ways: method
         | 
| 42068 | 
            -
              implementation, through an event manager, and through `{{action}}` helper use
         | 
| 42069 | 
            -
              in their template or layout.
         | 
| 42070 | 
            -
             | 
| 42071 | 
            -
              ### Method Implementation
         | 
| 42072 | 
            -
             | 
| 42073 | 
            -
              Views can respond to user-initiated events by implementing a method that
         | 
| 42074 | 
            -
              matches the event name. A `jQuery.Event` object will be passed as the
         | 
| 42075 | 
            -
              argument to this method.
         | 
| 42076 | 
            -
             | 
| 42077 | 
            -
              ```javascript
         | 
| 42078 | 
            -
              AView = Ember.View.extend({
         | 
| 42079 | 
            -
                click: function(event) {
         | 
| 42080 | 
            -
                  // will be called when an instance's
         | 
| 42081 | 
            -
                  // rendered element is clicked
         | 
| 42082 | 
            -
                }
         | 
| 42083 | 
            -
              });
         | 
| 42084 | 
            -
              ```
         | 
| 42085 | 
            -
             | 
| 42086 | 
            -
              ### Event Managers
         | 
| 42087 | 
            -
             | 
| 42088 | 
            -
              Views can define an object as their `eventManager` property. This object can
         | 
| 42089 | 
            -
              then implement methods that match the desired event names. Matching events
         | 
| 42090 | 
            -
              that occur on the view's rendered HTML or the rendered HTML of any of its DOM
         | 
| 42091 | 
            -
              descendants will trigger this method. A `jQuery.Event` object will be passed
         | 
| 42092 | 
            -
              as the first argument to the method and an  `Ember.View` object as the
         | 
| 42093 | 
            -
              second. The `Ember.View` will be the view whose rendered HTML was interacted
         | 
| 42094 | 
            -
              with. This may be the view with the `eventManager` property or one of its
         | 
| 42095 | 
            -
              descendant views.
         | 
| 42096 | 
            -
             | 
| 42097 | 
            -
              ```javascript
         | 
| 42098 | 
            -
              AView = Ember.View.extend({
         | 
| 42099 | 
            -
                eventManager: Ember.Object.create({
         | 
| 42100 | 
            -
                  doubleClick: function(event, view) {
         | 
| 42101 | 
            -
                    // will be called when an instance's
         | 
| 42102 | 
            -
                    // rendered element or any rendering
         | 
| 42103 | 
            -
                    // of this view's descendant
         | 
| 42104 | 
            -
                    // elements is clicked
         | 
| 42105 | 
            -
                  }
         | 
| 42106 | 
            -
                })
         | 
| 42107 | 
            -
              });
         | 
| 42108 | 
            -
              ```
         | 
| 42109 | 
            -
             | 
| 42110 | 
            -
              An event defined for an event manager takes precedence over events of the
         | 
| 42111 | 
            -
              same name handled through methods on the view.
         | 
| 42112 | 
            -
             | 
| 42113 | 
            -
              ```javascript
         | 
| 42114 | 
            -
              AView = Ember.View.extend({
         | 
| 42115 | 
            -
                mouseEnter: function(event) {
         | 
| 42116 | 
            -
                  // will never trigger.
         | 
| 42117 | 
            -
                },
         | 
| 42118 | 
            -
                eventManager: Ember.Object.create({
         | 
| 42119 | 
            -
                  mouseEnter: function(event, view) {
         | 
| 42120 | 
            -
                    // takes precedence over AView#mouseEnter
         | 
| 42121 | 
            -
                  }
         | 
| 42122 | 
            -
                })
         | 
| 42123 | 
            -
              });
         | 
| 42124 | 
            -
              ```
         | 
| 42125 | 
            -
             | 
| 42126 | 
            -
              Similarly a view's event manager will take precedence for events of any views
         | 
| 42127 | 
            -
              rendered as a descendant. A method name that matches an event name will not
         | 
| 42128 | 
            -
              be called if the view instance was rendered inside the HTML representation of
         | 
| 42129 | 
            -
              a view that has an `eventManager` property defined that handles events of the
         | 
| 42130 | 
            -
              name. Events not handled by the event manager will still trigger method calls
         | 
| 42131 | 
            -
              on the descendant.
         | 
| 42132 | 
            -
             | 
| 42133 | 
            -
              ```javascript
         | 
| 42134 | 
            -
              var App = Ember.Application.create();
         | 
| 42135 | 
            -
              App.OuterView = Ember.View.extend({
         | 
| 42136 | 
            -
                template: Ember.HTMLBars.compile("outer {{#view 'inner'}}inner{{/view}} outer"),
         | 
| 42137 | 
            -
                eventManager: Ember.Object.create({
         | 
| 42138 | 
            -
                  mouseEnter: function(event, view) {
         | 
| 42139 | 
            -
                    // view might be instance of either
         | 
| 42140 | 
            -
                    // OuterView or InnerView depending on
         | 
| 42141 | 
            -
                    // where on the page the user interaction occurred
         | 
| 42142 | 
            -
                  }
         | 
| 42143 | 
            -
                })
         | 
| 42144 | 
            -
              });
         | 
| 42145 | 
            -
             | 
| 42146 | 
            -
              App.InnerView = Ember.View.extend({
         | 
| 42147 | 
            -
                click: function(event) {
         | 
| 42148 | 
            -
                  // will be called if rendered inside
         | 
| 42149 | 
            -
                  // an OuterView because OuterView's
         | 
| 42150 | 
            -
                  // eventManager doesn't handle click events
         | 
| 42151 | 
            -
                },
         | 
| 42152 | 
            -
                mouseEnter: function(event) {
         | 
| 42153 | 
            -
                  // will never be called if rendered inside
         | 
| 42154 | 
            -
                  // an OuterView.
         | 
| 42155 | 
            -
                }
         | 
| 42156 | 
            -
              });
         | 
| 42157 | 
            -
              ```
         | 
| 42158 | 
            -
             | 
| 42159 | 
            -
              ### `{{action}}` Helper
         | 
| 42160 | 
            -
             | 
| 42161 | 
            -
              See [Ember.Templates.helpers.action](/api/classes/Ember.Templates.helpers.html#method_action).
         | 
| 42162 | 
            -
             | 
| 42163 | 
            -
              ### Event Names
         | 
| 42164 | 
            -
             | 
| 42165 | 
            -
              All of the event handling approaches described above respond to the same set
         | 
| 42166 | 
            -
              of events. The names of the built-in events are listed below. (The hash of
         | 
| 42167 | 
            -
              built-in events exists in `Ember.EventDispatcher`.) Additional, custom events
         | 
| 42168 | 
            -
              can be registered by using `Ember.Application.customEvents`.
         | 
| 42169 | 
            -
             | 
| 42170 | 
            -
              Touch events:
         | 
| 42171 | 
            -
             | 
| 42172 | 
            -
              * `touchStart`
         | 
| 42173 | 
            -
              * `touchMove`
         | 
| 42174 | 
            -
              * `touchEnd`
         | 
| 42175 | 
            -
              * `touchCancel`
         | 
| 42176 | 
            -
             | 
| 42177 | 
            -
              Keyboard events
         | 
| 42178 | 
            -
             | 
| 42179 | 
            -
              * `keyDown`
         | 
| 42180 | 
            -
              * `keyUp`
         | 
| 42181 | 
            -
              * `keyPress`
         | 
| 42182 | 
            -
             | 
| 42183 | 
            -
              Mouse events
         | 
| 42184 | 
            -
             | 
| 42185 | 
            -
              * `mouseDown`
         | 
| 42186 | 
            -
              * `mouseUp`
         | 
| 42187 | 
            -
              * `contextMenu`
         | 
| 42188 | 
            -
              * `click`
         | 
| 42189 | 
            -
              * `doubleClick`
         | 
| 42190 | 
            -
              * `mouseMove`
         | 
| 42191 | 
            -
              * `focusIn`
         | 
| 42192 | 
            -
              * `focusOut`
         | 
| 42193 | 
            -
              * `mouseEnter`
         | 
| 42194 | 
            -
              * `mouseLeave`
         | 
| 42195 | 
            -
             | 
| 42196 | 
            -
              Form events:
         | 
| 42197 | 
            -
             | 
| 42198 | 
            -
              * `submit`
         | 
| 42199 | 
            -
              * `change`
         | 
| 42200 | 
            -
              * `focusIn`
         | 
| 42201 | 
            -
              * `focusOut`
         | 
| 42202 | 
            -
              * `input`
         | 
| 42203 | 
            -
             | 
| 42204 | 
            -
              HTML5 drag and drop events:
         | 
| 42205 | 
            -
             | 
| 42206 | 
            -
              * `dragStart`
         | 
| 42207 | 
            -
              * `drag`
         | 
| 42208 | 
            -
              * `dragEnter`
         | 
| 42209 | 
            -
              * `dragLeave`
         | 
| 42210 | 
            -
              * `dragOver`
         | 
| 42211 | 
            -
              * `dragEnd`
         | 
| 42212 | 
            -
              * `drop`
         | 
| 42213 | 
            -
             | 
| 42214 42450 | 
             
              @class View
         | 
| 42215 42451 | 
             
              @namespace Ember
         | 
| 42216 42452 | 
             
              @extends Ember.CoreView
         | 
| @@ -42759,7 +42995,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils', | |
| 42759 42995 | 
             
            enifed("ember/version", ["exports"], function (exports) {
         | 
| 42760 42996 | 
             
              "use strict";
         | 
| 42761 42997 |  | 
| 42762 | 
            -
              exports.default = "2.11.0-beta. | 
| 42998 | 
            +
              exports.default = "2.11.0-beta.8";
         | 
| 42763 42999 | 
             
            });
         | 
| 42764 43000 | 
             
            enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
         | 
| 42765 43001 | 
             
              'use strict';
         | 
| @@ -52947,9 +53183,11 @@ enifed('glimmer-runtime/lib/syntax/core', ['exports', 'glimmer-runtime/lib/synta | |
| 52947 53183 | 
             
                        var keys = this.keys;
         | 
| 52948 53184 | 
             
                        var values = this.values;
         | 
| 52949 53185 |  | 
| 52950 | 
            -
                         | 
| 52951 | 
            -
             | 
| 52952 | 
            -
             | 
| 53186 | 
            +
                        var compiledValues = new Array(values.length);
         | 
| 53187 | 
            +
                        for (var i = 0; i < compiledValues.length; i++) {
         | 
| 53188 | 
            +
                            compiledValues[i] = values[i].compile(compiler, env, symbolTable);
         | 
| 53189 | 
            +
                        }
         | 
| 53190 | 
            +
                        return new _glimmerRuntimeLibCompiledExpressionsArgs.CompiledNamedArgs(keys, compiledValues);
         | 
| 52953 53191 | 
             
                    };
         | 
| 52954 53192 |  | 
| 52955 53193 | 
             
                    return NamedArgs;
         | 
| @@ -53284,9 +53522,20 @@ enifed('glimmer-runtime/lib/upsert', ['exports', 'glimmer-runtime/lib/bounds'], | |
| 53284 53522 | 
             
            enifed('glimmer-runtime/lib/utils', ['exports', 'glimmer-util'], function (exports, _glimmerUtil) {
         | 
| 53285 53523 | 
             
                'use strict';
         | 
| 53286 53524 |  | 
| 53287 | 
            -
                var  | 
| 53525 | 
            +
                var HAS_NATIVE_WEAKMAP = (function () {
         | 
| 53526 | 
            +
                    // detect if `WeakMap` is even present
         | 
| 53527 | 
            +
                    var hasWeakMap = typeof WeakMap === 'function';
         | 
| 53528 | 
            +
                    if (!hasWeakMap) {
         | 
| 53529 | 
            +
                        return false;
         | 
| 53530 | 
            +
                    }
         | 
| 53531 | 
            +
                    var instance = new WeakMap();
         | 
| 53532 | 
            +
                    // use `Object`'s `.toString` directly to prevent us from detecting
         | 
| 53533 | 
            +
                    // polyfills as native weakmaps
         | 
| 53534 | 
            +
                    return Object.prototype.toString.call(instance) === '[object WeakMap]';
         | 
| 53535 | 
            +
                })();
         | 
| 53536 | 
            +
                var EMPTY_ARRAY = HAS_NATIVE_WEAKMAP ? Object.freeze([]) : [];
         | 
| 53288 53537 | 
             
                exports.EMPTY_ARRAY = EMPTY_ARRAY;
         | 
| 53289 | 
            -
                var EMPTY_DICT = Object.freeze(_glimmerUtil.dict());
         | 
| 53538 | 
            +
                var EMPTY_DICT = HAS_NATIVE_WEAKMAP ? Object.freeze(_glimmerUtil.dict()) : _glimmerUtil.dict();
         | 
| 53290 53539 | 
             
                exports.EMPTY_DICT = EMPTY_DICT;
         | 
| 53291 53540 |  | 
| 53292 53541 | 
             
                var ListRange = (function () {
         |