text: /*
  YUI 3.13.0 (build 508226d)
  Copyright 2013 Yahoo! Inc. All rights reserved.
  Licensed under the BSD License.
  http://yuilibrary.com/license/
  */
  
  if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
  if (!__coverage__['build/attribute-core/attribute-core.js']) {
     __coverage__['build/attribute-core/attribute-core.js'] = {"path":"build/attribute-core/attribute-core.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0],"57":[0,0],"58":[0,0,0],"59":[0,0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0,0,0],"105":[0,0],"106":[0,0],"107":[0,0,0],"108":[0,0],"109":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"(anonymous_2)","line":14,"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":25}}},"3":{"name":"(anonymous_3)","line":32,"loc":{"start":{"line":32,"column":13},"end":{"line":32,"column":38}}},"4":{"name":"(anonymous_4)","line":49,"loc":{"start":{"line":49,"column":16},"end":{"line":49,"column":36}}},"5":{"name":"(anonymous_5)","line":71,"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":36}}},"6":{"name":"(anonymous_6)","line":86,"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":39}}},"7":{"name":"(anonymous_7)","line":96,"loc":{"start":{"line":96,"column":28},"end":{"line":96,"column":49}}},"8":{"name":"(anonymous_8)","line":110,"loc":{"start":{"line":110,"column":13},"end":{"line":110,"column":33}}},"9":{"name":"(anonymous_9)","line":131,"loc":{"start":{"line":131,"column":17},"end":{"line":131,"column":43}}},"10":{"name":"AttributeCore","line":226,"loc":{"start":{"line":226,"column":4},"end":{"line":226,"column":48}}},"11":{"name":"(anonymous_11)","line":274,"loc":{"start":{"line":274,"column":33},"end":{"line":274,"column":50}}},"12":{"name":"(anonymous_12)","line":301,"loc":{"start":{"line":301,"column":24},"end":{"line":301,"column":54}}},"13":{"name":"(anonymous_13)","line":404,"loc":{"start":{"line":404,"column":18},"end":{"line":404,"column":47}}},"14":{"name":"(anonymous_14)","line":473,"loc":{"start":{"line":473,"column":19},"end":{"line":473,"column":34}}},"15":{"name":"(anonymous_15)","line":489,"loc":{"start":{"line":489,"column":14},"end":{"line":489,"column":29}}},"16":{"name":"(anonymous_16)","line":502,"loc":{"start":{"line":502,"column":21},"end":{"line":502,"column":36}}},"17":{"name":"(anonymous_17)","line":515,"loc":{"start":{"line":515,"column":22},"end":{"line":515,"column":46}}},"18":{"name":"(anonymous_18)","line":547,"loc":{"start":{"line":547,"column":14},"end":{"line":547,"column":40}}},"19":{"name":"(anonymous_19)","line":563,"loc":{"start":{"line":563,"column":15},"end":{"line":563,"column":41}}},"20":{"name":"(anonymous_20)","line":584,"loc":{"start":{"line":584,"column":19},"end":{"line":584,"column":53}}},"21":{"name":"(anonymous_21)","line":692,"loc":{"start":{"line":692,"column":25},"end":{"line":692,"column":45}}},"22":{"name":"(anonymous_22)","line":719,"loc":{"start":{"line":719,"column":19},"end":{"line":719,"column":34}}},"23":{"name":"(anonymous_23)","line":772,"loc":{"start":{"line":772,"column":23},"end":{"line":772,"column":43}}},"24":{"name":"(anonymous_24)","line":791,"loc":{"start":{"line":791,"column":23},"end":{"line":791,"column":45}}},"25":{"name":"(anonymous_25)","line":816,"loc":{"start":{"line":816,"column":22},"end":{"line":816,"column":86}}},"26":{"name":"(anonymous_26)","line":893,"loc":{"start":{"line":893,"column":19},"end":{"line":893,"column":41}}},"27":{"name":"(anonymous_27)","line":907,"loc":{"start":{"line":907,"column":20},"end":{"line":907,"column":42}}},"28":{"name":"(anonymous_28)","line":925,"loc":{"start":{"line":925,"column":19},"end":{"line":925,"column":35}}},"29":{"name":"(anonymous_29)","line":938,"loc":{"start":{"line":938,"column":20},"end":{"line":938,"column":36}}},"30":{"name":"(anonymous_30)","line":980,"loc":{"start":{"line":980,"column":19},"end":{"line":980,"column":48}}},"31":{"name":"(anonymous_31)","line":1008,"loc":{"start":{"line":1008,"column":20},"end":{"line":1008,"column":49}}},"32":{"name":"(anonymous_32)","line":1065,"loc":{"start":{"line":1065,"column":24},"end":{"line":1065,"column":44}}},"33":{"name":"(anonymous_33)","line":1115,"loc":{"start":{"line":1115,"column":26},"end":{"line":1115,"column":58}}},"34":{"name":"(anonymous_34)","line":1178,"loc":{"start":{"line":1178,"column":21},"end":{"line":1178,"column":51}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1196,"column":36}},"2":{"start":{"line":14,"column":4},"end":{"line":20,"column":6}},"3":{"start":{"line":19,"column":8},"end":{"line":19,"column":23}},"4":{"start":{"line":22,"column":4},"end":{"line":149,"column":6}},"5":{"start":{"line":33,"column":12},"end":{"line":33,"column":39}},"6":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"7":{"start":{"line":36,"column":16},"end":{"line":36,"column":44}},"8":{"start":{"line":39,"column":12},"end":{"line":39,"column":28}},"9":{"start":{"line":50,"column":12},"end":{"line":51,"column":20}},"10":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"11":{"start":{"line":54,"column":16},"end":{"line":54,"column":44}},"12":{"start":{"line":57,"column":12},"end":{"line":61,"column":13}},"13":{"start":{"line":58,"column":16},"end":{"line":60,"column":17}},"14":{"start":{"line":59,"column":20},"end":{"line":59,"column":41}},"15":{"start":{"line":72,"column":12},"end":{"line":72,"column":39}},"16":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"17":{"start":{"line":75,"column":16},"end":{"line":75,"column":33}},"18":{"start":{"line":87,"column":12},"end":{"line":87,"column":21}},"19":{"start":{"line":89,"column":12},"end":{"line":99,"column":13}},"20":{"start":{"line":90,"column":16},"end":{"line":90,"column":33}},"21":{"start":{"line":92,"column":16},"end":{"line":94,"column":17}},"22":{"start":{"line":93,"column":20},"end":{"line":93,"column":38}},"23":{"start":{"line":96,"column":16},"end":{"line":98,"column":25}},"24":{"start":{"line":97,"column":20},"end":{"line":97,"column":77}},"25":{"start":{"line":111,"column":12},"end":{"line":111,"column":39}},"26":{"start":{"line":113,"column":12},"end":{"line":115,"column":13}},"27":{"start":{"line":114,"column":16},"end":{"line":114,"column":33}},"28":{"start":{"line":132,"column":12},"end":{"line":133,"column":25}},"29":{"start":{"line":135,"column":12},"end":{"line":145,"column":13}},"30":{"start":{"line":136,"column":16},"end":{"line":136,"column":27}},"31":{"start":{"line":137,"column":19},"end":{"line":145,"column":13}},"32":{"start":{"line":138,"column":16},"end":{"line":138,"column":25}},"33":{"start":{"line":140,"column":16},"end":{"line":144,"column":17}},"34":{"start":{"line":141,"column":20},"end":{"line":143,"column":21}},"35":{"start":{"line":142,"column":24},"end":{"line":142,"column":45}},"36":{"start":{"line":147,"column":12},"end":{"line":147,"column":23}},"37":{"start":{"line":171,"column":4},"end":{"line":193,"column":22}},"38":{"start":{"line":226,"column":4},"end":{"line":234,"column":5}},"39":{"start":{"line":231,"column":8},"end":{"line":231,"column":28}},"40":{"start":{"line":233,"column":8},"end":{"line":233,"column":48}},"41":{"start":{"line":248,"column":4},"end":{"line":248,"column":37}},"42":{"start":{"line":249,"column":4},"end":{"line":249,"column":48}},"43":{"start":{"line":263,"column":4},"end":{"line":263,"column":122}},"44":{"start":{"line":274,"column":4},"end":{"line":285,"column":6}},"45":{"start":{"line":275,"column":8},"end":{"line":282,"column":9}},"46":{"start":{"line":276,"column":12},"end":{"line":276,"column":35}},"47":{"start":{"line":277,"column":12},"end":{"line":281,"column":13}},"48":{"start":{"line":278,"column":16},"end":{"line":280,"column":17}},"49":{"start":{"line":279,"column":20},"end":{"line":279,"column":55}},"50":{"start":{"line":284,"column":8},"end":{"line":284,"column":21}},"51":{"start":{"line":287,"column":4},"end":{"line":1191,"column":6}},"52":{"start":{"line":302,"column":12},"end":{"line":302,"column":40}},"53":{"start":{"line":303,"column":12},"end":{"line":303,"column":49}},"54":{"start":{"line":407,"column":12},"end":{"line":412,"column":25}},"55":{"start":{"line":414,"column":12},"end":{"line":414,"column":34}},"56":{"start":{"line":416,"column":12},"end":{"line":418,"column":13}},"57":{"start":{"line":417,"column":16},"end":{"line":417,"column":40}},"58":{"start":{"line":420,"column":12},"end":{"line":420,"column":43}},"59":{"start":{"line":422,"column":12},"end":{"line":460,"column":13}},"60":{"start":{"line":423,"column":16},"end":{"line":426,"column":18}},"61":{"start":{"line":430,"column":16},"end":{"line":459,"column":17}},"62":{"start":{"line":432,"column":20},"end":{"line":432,"column":49}},"63":{"start":{"line":435,"column":20},"end":{"line":446,"column":21}},"64":{"start":{"line":444,"column":24},"end":{"line":444,"column":45}},"65":{"start":{"line":445,"column":24},"end":{"line":445,"column":49}},"66":{"start":{"line":448,"column":20},"end":{"line":448,"column":40}},"67":{"start":{"line":449,"column":20},"end":{"line":449,"column":47}},"68":{"start":{"line":451,"column":20},"end":{"line":451,"column":40}},"69":{"start":{"line":453,"column":20},"end":{"line":456,"column":21}},"70":{"start":{"line":455,"column":24},"end":{"line":455,"column":46}},"71":{"start":{"line":458,"column":20},"end":{"line":458,"column":48}},"72":{"start":{"line":462,"column":12},"end":{"line":462,"column":24}},"73":{"start":{"line":474,"column":12},"end":{"line":474,"column":52}},"74":{"start":{"line":490,"column":12},"end":{"line":490,"column":39}},"75":{"start":{"line":503,"column":12},"end":{"line":503,"column":47}},"76":{"start":{"line":516,"column":12},"end":{"line":516,"column":36}},"77":{"start":{"line":518,"column":12},"end":{"line":518,"column":55}},"78":{"start":{"line":520,"column":12},"end":{"line":531,"column":13}},"79":{"start":{"line":526,"column":16},"end":{"line":526,"column":50}},"80":{"start":{"line":528,"column":16},"end":{"line":528,"column":41}},"81":{"start":{"line":530,"column":16},"end":{"line":530,"column":44}},"82":{"start":{"line":548,"column":12},"end":{"line":548,"column":50}},"83":{"start":{"line":564,"column":12},"end":{"line":564,"column":56}},"84":{"start":{"line":585,"column":12},"end":{"line":595,"column":29}},"85":{"start":{"line":597,"column":12},"end":{"line":602,"column":13}},"86":{"start":{"line":598,"column":16},"end":{"line":598,"column":31}},"87":{"start":{"line":600,"column":16},"end":{"line":600,"column":39}},"88":{"start":{"line":601,"column":16},"end":{"line":601,"column":36}},"89":{"start":{"line":605,"column":12},"end":{"line":607,"column":13}},"90":{"start":{"line":606,"column":16},"end":{"line":606,"column":55}},"91":{"start":{"line":609,"column":12},"end":{"line":609,"column":41}},"92":{"start":{"line":611,"column":12},"end":{"line":614,"column":13}},"93":{"start":{"line":612,"column":16},"end":{"line":612,"column":31}},"94":{"start":{"line":613,"column":16},"end":{"line":613,"column":45}},"95":{"start":{"line":616,"column":12},"end":{"line":616,"column":51}},"96":{"start":{"line":618,"column":12},"end":{"line":621,"column":13}},"97":{"start":{"line":620,"column":16},"end":{"line":620,"column":35}},"98":{"start":{"line":623,"column":12},"end":{"line":623,"column":38}},"99":{"start":{"line":624,"column":12},"end":{"line":624,"column":44}},"100":{"start":{"line":626,"column":12},"end":{"line":635,"column":13}},"101":{"start":{"line":628,"column":16},"end":{"line":630,"column":17}},"102":{"start":{"line":629,"column":20},"end":{"line":629,"column":37}},"103":{"start":{"line":632,"column":16},"end":{"line":634,"column":17}},"104":{"start":{"line":633,"column":20},"end":{"line":633,"column":37}},"105":{"start":{"line":637,"column":12},"end":{"line":639,"column":13}},"106":{"start":{"line":638,"column":16},"end":{"line":638,"column":33}},"107":{"start":{"line":641,"column":12},"end":{"line":664,"column":13}},"108":{"start":{"line":643,"column":16},"end":{"line":645,"column":17}},"109":{"start":{"line":644,"column":20},"end":{"line":644,"column":46}},"110":{"start":{"line":647,"column":16},"end":{"line":653,"column":17}},"111":{"start":{"line":648,"column":19},"end":{"line":648,"column":65}},"112":{"start":{"line":650,"column":19},"end":{"line":652,"column":20}},"113":{"start":{"line":651,"column":23},"end":{"line":651,"column":40}},"114":{"start":{"line":655,"column":16},"end":{"line":663,"column":17}},"115":{"start":{"line":656,"column":20},"end":{"line":662,"column":21}},"116":{"start":{"line":657,"column":24},"end":{"line":657,"column":81}},"117":{"start":{"line":661,"column":24},"end":{"line":661,"column":85}},"118":{"start":{"line":666,"column":12},"end":{"line":666,"column":24}},"119":{"start":{"line":694,"column":12},"end":{"line":694,"column":27}},"120":{"start":{"line":695,"column":12},"end":{"line":695,"column":30}},"121":{"start":{"line":697,"column":12},"end":{"line":697,"column":37}},"122":{"start":{"line":703,"column":12},"end":{"line":703,"column":47}},"123":{"start":{"line":720,"column":12},"end":{"line":725,"column":24}},"124":{"start":{"line":727,"column":12},"end":{"line":730,"column":13}},"125":{"start":{"line":728,"column":16},"end":{"line":728,"column":39}},"126":{"start":{"line":729,"column":16},"end":{"line":729,"column":36}},"127":{"start":{"line":734,"column":12},"end":{"line":736,"column":13}},"128":{"start":{"line":735,"column":16},"end":{"line":735,"column":55}},"129":{"start":{"line":738,"column":12},"end":{"line":738,"column":51}},"130":{"start":{"line":741,"column":12},"end":{"line":744,"column":13}},"131":{"start":{"line":742,"column":16},"end":{"line":742,"column":39}},"132":{"start":{"line":743,"column":16},"end":{"line":743,"column":49}},"133":{"start":{"line":746,"column":12},"end":{"line":746,"column":51}},"134":{"start":{"line":748,"column":12},"end":{"line":748,"column":36}},"135":{"start":{"line":750,"column":12},"end":{"line":752,"column":13}},"136":{"start":{"line":751,"column":16},"end":{"line":751,"column":38}},"137":{"start":{"line":754,"column":12},"end":{"line":754,"column":68}},"138":{"start":{"line":755,"column":12},"end":{"line":755,"column":55}},"139":{"start":{"line":757,"column":12},"end":{"line":757,"column":23}},"140":{"start":{"line":773,"column":12},"end":{"line":773,"column":46}},"141":{"start":{"line":775,"column":12},"end":{"line":777,"column":13}},"142":{"start":{"line":776,"column":16},"end":{"line":776,"column":53}},"143":{"start":{"line":779,"column":12},"end":{"line":779,"column":110}},"144":{"start":{"line":792,"column":12},"end":{"line":792,"column":46}},"145":{"start":{"line":793,"column":12},"end":{"line":797,"column":13}},"146":{"start":{"line":794,"column":16},"end":{"line":794,"column":41}},"147":{"start":{"line":796,"column":16},"end":{"line":796,"column":52}},"148":{"start":{"line":818,"column":12},"end":{"line":827,"column":22}},"149":{"start":{"line":829,"column":12},"end":{"line":842,"column":13}},"150":{"start":{"line":830,"column":16},"end":{"line":833,"column":17}},"151":{"start":{"line":832,"column":20},"end":{"line":832,"column":48}},"152":{"start":{"line":834,"column":16},"end":{"line":841,"column":17}},"153":{"start":{"line":835,"column":20},"end":{"line":835,"column":69}},"154":{"start":{"line":837,"column":20},"end":{"line":840,"column":21}},"155":{"start":{"line":838,"column":24},"end":{"line":838,"column":50}},"156":{"start":{"line":839,"column":24},"end":{"line":839,"column":37}},"157":{"start":{"line":844,"column":12},"end":{"line":879,"column":13}},"158":{"start":{"line":845,"column":16},"end":{"line":863,"column":17}},"159":{"start":{"line":846,"column":20},"end":{"line":849,"column":21}},"160":{"start":{"line":848,"column":24},"end":{"line":848,"column":46}},"161":{"start":{"line":850,"column":20},"end":{"line":862,"column":21}},"162":{"start":{"line":851,"column":24},"end":{"line":851,"column":71}},"163":{"start":{"line":853,"column":24},"end":{"line":861,"column":25}},"164":{"start":{"line":854,"column":28},"end":{"line":858,"column":29}},"165":{"start":{"line":855,"column":32},"end":{"line":855,"column":58}},"166":{"start":{"line":857,"column":32},"end":{"line":857,"column":49}},"167":{"start":{"line":859,"column":31},"end":{"line":861,"column":25}},"168":{"start":{"line":860,"column":28},"end":{"line":860,"column":44}},"169":{"start":{"line":865,"column":16},"end":{"line":875,"column":17}},"170":{"start":{"line":866,"column":20},"end":{"line":874,"column":21}},"171":{"start":{"line":867,"column":24},"end":{"line":867,"column":41}},"172":{"start":{"line":870,"column":24},"end":{"line":872,"column":25}},"173":{"start":{"line":871,"column":28},"end":{"line":871,"column":51}},"174":{"start":{"line":873,"column":24},"end":{"line":873,"column":60}},"175":{"start":{"line":878,"column":16},"end":{"line":878,"column":33}},"176":{"start":{"line":881,"column":12},"end":{"line":881,"column":28}},"177":{"start":{"line":894,"column":12},"end":{"line":894,"column":47}},"178":{"start":{"line":908,"column":12},"end":{"line":908,"column":21}},"179":{"start":{"line":909,"column":12},"end":{"line":913,"column":13}},"180":{"start":{"line":910,"column":16},"end":{"line":912,"column":17}},"181":{"start":{"line":911,"column":20},"end":{"line":911,"column":54}},"182":{"start":{"line":914,"column":12},"end":{"line":914,"column":24}},"183":{"start":{"line":926,"column":12},"end":{"line":926,"column":41}},"184":{"start":{"line":939,"column":12},"end":{"line":941,"column":48}},"185":{"start":{"line":944,"column":12},"end":{"line":946,"column":13}},"186":{"start":{"line":945,"column":16},"end":{"line":945,"column":49}},"187":{"start":{"line":948,"column":12},"end":{"line":955,"column":13}},"188":{"start":{"line":949,"column":16},"end":{"line":949,"column":32}},"189":{"start":{"line":951,"column":16},"end":{"line":954,"column":17}},"190":{"start":{"line":953,"column":20},"end":{"line":953,"column":47}},"191":{"start":{"line":957,"column":12},"end":{"line":957,"column":23}},"192":{"start":{"line":981,"column":12},"end":{"line":986,"column":13}},"193":{"start":{"line":982,"column":16},"end":{"line":982,"column":35}},"194":{"start":{"line":983,"column":16},"end":{"line":983,"column":75}},"195":{"start":{"line":984,"column":16},"end":{"line":984,"column":56}},"196":{"start":{"line":985,"column":16},"end":{"line":985,"column":49}},"197":{"start":{"line":988,"column":12},"end":{"line":988,"column":24}},"198":{"start":{"line":1009,"column":12},"end":{"line":1013,"column":22}},"199":{"start":{"line":1015,"column":12},"end":{"line":1035,"column":13}},"200":{"start":{"line":1016,"column":16},"end":{"line":1034,"column":17}},"201":{"start":{"line":1019,"column":20},"end":{"line":1019,"column":41}},"202":{"start":{"line":1020,"column":20},"end":{"line":1020,"column":57}},"203":{"start":{"line":1023,"column":20},"end":{"line":1023,"column":71}},"204":{"start":{"line":1025,"column":20},"end":{"line":1027,"column":21}},"205":{"start":{"line":1026,"column":24},"end":{"line":1026,"column":46}},"206":{"start":{"line":1029,"column":20},"end":{"line":1031,"column":21}},"207":{"start":{"line":1030,"column":24},"end":{"line":1030,"column":48}},"208":{"start":{"line":1033,"column":20},"end":{"line":1033,"column":54}},"209":{"start":{"line":1066,"column":12},"end":{"line":1070,"column":21}},"210":{"start":{"line":1072,"column":12},"end":{"line":1074,"column":13}},"211":{"start":{"line":1073,"column":16},"end":{"line":1073,"column":28}},"212":{"start":{"line":1076,"column":12},"end":{"line":1076,"column":22}},"213":{"start":{"line":1078,"column":12},"end":{"line":1095,"column":13}},"214":{"start":{"line":1079,"column":16},"end":{"line":1094,"column":17}},"215":{"start":{"line":1080,"column":20},"end":{"line":1093,"column":21}},"216":{"start":{"line":1081,"column":24},"end":{"line":1081,"column":44}},"217":{"start":{"line":1082,"column":24},"end":{"line":1082,"column":44}},"218":{"start":{"line":1084,"column":24},"end":{"line":1084,"column":48}},"219":{"start":{"line":1086,"column":24},"end":{"line":1086,"column":64}},"220":{"start":{"line":1087,"column":24},"end":{"line":1090,"column":26}},"221":{"start":{"line":1092,"column":24},"end":{"line":1092,"column":47}},"222":{"start":{"line":1097,"column":12},"end":{"line":1097,"column":52}},"223":{"start":{"line":1116,"column":12},"end":{"line":1127,"column":24}},"224":{"start":{"line":1129,"column":12},"end":{"line":1136,"column":13}},"225":{"start":{"line":1131,"column":16},"end":{"line":1131,"column":43}},"226":{"start":{"line":1132,"column":16},"end":{"line":1135,"column":17}},"227":{"start":{"line":1133,"column":20},"end":{"line":1133,"column":39}},"228":{"start":{"line":1134,"column":20},"end":{"line":1134,"column":38}},"229":{"start":{"line":1138,"column":12},"end":{"line":1146,"column":13}},"230":{"start":{"line":1139,"column":16},"end":{"line":1141,"column":17}},"231":{"start":{"line":1140,"column":20},"end":{"line":1140,"column":40}},"232":{"start":{"line":1142,"column":16},"end":{"line":1145,"column":17}},"233":{"start":{"line":1143,"column":20},"end":{"line":1143,"column":52}},"234":{"start":{"line":1144,"column":20},"end":{"line":1144,"column":33}},"235":{"start":{"line":1148,"column":12},"end":{"line":1161,"column":13}},"236":{"start":{"line":1151,"column":16},"end":{"line":1151,"column":45}},"237":{"start":{"line":1153,"column":16},"end":{"line":1160,"column":17}},"238":{"start":{"line":1154,"column":20},"end":{"line":1154,"column":44}},"239":{"start":{"line":1155,"column":20},"end":{"line":1159,"column":21}},"240":{"start":{"line":1156,"column":24},"end":{"line":1156,"column":47}},"241":{"start":{"line":1157,"column":24},"end":{"line":1157,"column":50}},"242":{"start":{"line":1158,"column":24},"end":{"line":1158,"column":54}},"243":{"start":{"line":1163,"column":12},"end":{"line":1163,"column":23}},"244":{"start":{"line":1180,"column":12},"end":{"line":1180,"column":52}},"245":{"start":{"line":1182,"column":12},"end":{"line":1185,"column":87}},"246":{"start":{"line":1187,"column":12},"end":{"line":1189,"column":13}},"247":{"start":{"line":1188,"column":16},"end":{"line":1188,"column":81}},"248":{"start":{"line":1193,"column":4},"end":{"line":1193,"column":36}}},"branchMap":{"1":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"2":{"line":53,"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":12}},{"start":{"line":53,"column":12},"end":{"line":53,"column":12}}]},"3":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":16}},{"start":{"line":58,"column":16},"end":{"line":58,"column":16}}]},"4":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"5":{"line":89,"type":"if","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":12}},{"start":{"line":89,"column":12},"end":{"line":89,"column":12}}]},"6":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":16}},{"start":{"line":92,"column":16},"end":{"line":92,"column":16}}]},"7":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":64},"end":{"line":97,"column":67}},{"start":{"line":97,"column":70},"end":{"line":97,"column":75}}]},"8":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":12}},{"start":{"line":113,"column":12},"end":{"line":113,"column":12}}]},"9":{"line":135,"type":"if","locations":[{"start":{"line":135,"column":12},"end":{"line":135,"column":12}},{"start":{"line":135,"column":12},"end":{"line":135,"column":12}}]},"10":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":19},"end":{"line":137,"column":19}},{"start":{"line":137,"column":19},"end":{"line":137,"column":19}}]},"11":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":20},"end":{"line":141,"column":20}},{"start":{"line":141,"column":20},"end":{"line":141,"column":20}}]},"12":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":8},"end":{"line":275,"column":8}},{"start":{"line":275,"column":8},"end":{"line":275,"column":8}}]},"13":{"line":278,"type":"if","locations":[{"start":{"line":278,"column":16},"end":{"line":278,"column":16}},{"start":{"line":278,"column":16},"end":{"line":278,"column":16}}]},"14":{"line":414,"type":"binary-expr","locations":[{"start":{"line":414,"column":21},"end":{"line":414,"column":27}},{"start":{"line":414,"column":31},"end":{"line":414,"column":33}}]},"15":{"line":416,"type":"if","locations":[{"start":{"line":416,"column":12},"end":{"line":416,"column":12}},{"start":{"line":416,"column":12},"end":{"line":416,"column":12}}]},"16":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"17":{"line":422,"type":"binary-expr","locations":[{"start":{"line":422,"column":16},"end":{"line":422,"column":20}},{"start":{"line":422,"column":24},"end":{"line":422,"column":30}}]},"18":{"line":430,"type":"if","locations":[{"start":{"line":430,"column":16},"end":{"line":430,"column":16}},{"start":{"line":430,"column":16},"end":{"line":430,"column":16}}]},"19":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":20},"end":{"line":430,"column":26}},{"start":{"line":430,"column":30},"end":{"line":430,"column":46}}]},"20":{"line":435,"type":"if","locations":[{"start":{"line":435,"column":20},"end":{"line":435,"column":20}},{"start":{"line":435,"column":20},"end":{"line":435,"column":20}}]},"21":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":20},"end":{"line":453,"column":20}},{"start":{"line":453,"column":20},"end":{"line":453,"column":20}}]},"22":{"line":518,"type":"binary-expr","locations":[{"start":{"line":518,"column":22},"end":{"line":518,"column":29}},{"start":{"line":518,"column":33},"end":{"line":518,"column":54}}]},"23":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"24":{"line":597,"type":"if","locations":[{"start":{"line":597,"column":12},"end":{"line":597,"column":12}},{"start":{"line":597,"column":12},"end":{"line":597,"column":12}}]},"25":{"line":605,"type":"if","locations":[{"start":{"line":605,"column":12},"end":{"line":605,"column":12}},{"start":{"line":605,"column":12},"end":{"line":605,"column":12}}]},"26":{"line":605,"type":"binary-expr","locations":[{"start":{"line":605,"column":16},"end":{"line":605,"column":21}},{"start":{"line":605,"column":25},"end":{"line":605,"column":36}}]},"27":{"line":609,"type":"binary-expr","locations":[{"start":{"line":609,"column":18},"end":{"line":609,"column":34}},{"start":{"line":609,"column":38},"end":{"line":609,"column":40}}]},"28":{"line":611,"type":"if","locations":[{"start":{"line":611,"column":12},"end":{"line":611,"column":12}},{"start":{"line":611,"column":12},"end":{"line":611,"column":12}}]},"29":{"line":618,"type":"if","locations":[{"start":{"line":618,"column":12},"end":{"line":618,"column":12}},{"start":{"line":618,"column":12},"end":{"line":618,"column":12}}]},"30":{"line":618,"type":"binary-expr","locations":[{"start":{"line":618,"column":16},"end":{"line":618,"column":26}},{"start":{"line":618,"column":30},"end":{"line":618,"column":48}},{"start":{"line":618,"column":52},"end":{"line":618,"column":69}}]},"31":{"line":626,"type":"if","locations":[{"start":{"line":626,"column":12},"end":{"line":626,"column":12}},{"start":{"line":626,"column":12},"end":{"line":626,"column":12}}]},"32":{"line":626,"type":"binary-expr","locations":[{"start":{"line":626,"column":16},"end":{"line":626,"column":27}},{"start":{"line":626,"column":31},"end":{"line":626,"column":37}}]},"33":{"line":628,"type":"if","locations":[{"start":{"line":628,"column":16},"end":{"line":628,"column":16}},{"start":{"line":628,"column":16},"end":{"line":628,"column":16}}]},"34":{"line":632,"type":"if","locations":[{"start":{"line":632,"column":16},"end":{"line":632,"column":16}},{"start":{"line":632,"column":16},"end":{"line":632,"column":16}}]},"35":{"line":637,"type":"if","locations":[{"start":{"line":637,"column":12},"end":{"line":637,"column":12}},{"start":{"line":637,"column":12},"end":{"line":637,"column":12}}]},"36":{"line":637,"type":"binary-expr","locations":[{"start":{"line":637,"column":16},"end":{"line":637,"column":29}},{"start":{"line":637,"column":33},"end":{"line":637,"column":39}},{"start":{"line":637,"column":43},"end":{"line":637,"column":66}}]},"37":{"line":641,"type":"if","locations":[{"start":{"line":641,"column":12},"end":{"line":641,"column":12}},{"start":{"line":641,"column":12},"end":{"line":641,"column":12}}]},"38":{"line":643,"type":"if","locations":[{"start":{"line":643,"column":16},"end":{"line":643,"column":16}},{"start":{"line":643,"column":16},"end":{"line":643,"column":16}}]},"39":{"line":647,"type":"if","locations":[{"start":{"line":647,"column":16},"end":{"line":647,"column":16}},{"start":{"line":647,"column":16},"end":{"line":647,"column":16}}]},"40":{"line":650,"type":"if","locations":[{"start":{"line":650,"column":19},"end":{"line":650,"column":19}},{"start":{"line":650,"column":19},"end":{"line":650,"column":19}}]},"41":{"line":655,"type":"if","locations":[{"start":{"line":655,"column":16},"end":{"line":655,"column":16}},{"start":{"line":655,"column":16},"end":{"line":655,"column":16}}]},"42":{"line":656,"type":"if","locations":[{"start":{"line":656,"column":20},"end":{"line":656,"column":20}},{"start":{"line":656,"column":20},"end":{"line":656,"column":20}}]},"43":{"line":656,"type":"binary-expr","locations":[{"start":{"line":656,"column":24},"end":{"line":656,"column":45}},{"start":{"line":656,"column":49},"end":{"line":656,"column":61}}]},"44":{"line":727,"type":"if","locations":[{"start":{"line":727,"column":12},"end":{"line":727,"column":12}},{"start":{"line":727,"column":12},"end":{"line":727,"column":12}}]},"45":{"line":734,"type":"if","locations":[{"start":{"line":734,"column":12},"end":{"line":734,"column":12}},{"start":{"line":734,"column":12},"end":{"line":734,"column":12}}]},"46":{"line":734,"type":"binary-expr","locations":[{"start":{"line":734,"column":16},"end":{"line":734,"column":21}},{"start":{"line":734,"column":25},"end":{"line":734,"column":36}}]},"47":{"line":738,"type":"binary-expr","locations":[{"start":{"line":738,"column":22},"end":{"line":738,"column":44}},{"start":{"line":738,"column":48},"end":{"line":738,"column":50}}]},"48":{"line":741,"type":"if","locations":[{"start":{"line":741,"column":12},"end":{"line":741,"column":12}},{"start":{"line":741,"column":12},"end":{"line":741,"column":12}}]},"49":{"line":750,"type":"if","locations":[{"start":{"line":750,"column":12},"end":{"line":750,"column":12}},{"start":{"line":750,"column":12},"end":{"line":750,"column":12}}]},"50":{"line":750,"type":"binary-expr","locations":[{"start":{"line":750,"column":16},"end":{"line":750,"column":22}},{"start":{"line":750,"column":26},"end":{"line":750,"column":38}}]},"51":{"line":754,"type":"cond-expr","locations":[{"start":{"line":754,"column":29},"end":{"line":754,"column":61}},{"start":{"line":754,"column":64},"end":{"line":754,"column":67}}]},"52":{"line":755,"type":"cond-expr","locations":[{"start":{"line":755,"column":27},"end":{"line":755,"column":48}},{"start":{"line":755,"column":51},"end":{"line":755,"column":54}}]},"53":{"line":775,"type":"if","locations":[{"start":{"line":775,"column":12},"end":{"line":775,"column":12}},{"start":{"line":775,"column":12},"end":{"line":775,"column":12}}]},"54":{"line":776,"type":"binary-expr","locations":[{"start":{"line":776,"column":22},"end":{"line":776,"column":46}},{"start":{"line":776,"column":50},"end":{"line":776,"column":52}}]},"55":{"line":779,"type":"cond-expr","locations":[{"start":{"line":779,"column":81},"end":{"line":779,"column":97}},{"start":{"line":779,"column":100},"end":{"line":779,"column":109}}]},"56":{"line":779,"type":"binary-expr","locations":[{"start":{"line":779,"column":20},"end":{"line":779,"column":30}},{"start":{"line":779,"column":35},"end":{"line":779,"column":53}},{"start":{"line":779,"column":58},"end":{"line":779,"column":77}}]},"57":{"line":793,"type":"if","locations":[{"start":{"line":793,"column":12},"end":{"line":793,"column":12}},{"start":{"line":793,"column":12},"end":{"line":793,"column":12}}]},"58":{"line":793,"type":"binary-expr","locations":[{"start":{"line":793,"column":16},"end":{"line":793,"column":26}},{"start":{"line":793,"column":31},"end":{"line":793,"column":49}},{"start":{"line":793,"column":54},"end":{"line":793,"column":90}}]},"59":{"line":820,"type":"binary-expr","locations":[{"start":{"line":820,"column":22},"end":{"line":820,"column":29}},{"start":{"line":820,"column":33},"end":{"line":820,"column":59}},{"start":{"line":820,"column":63},"end":{"line":820,"column":65}}]},"60":{"line":825,"type":"binary-expr","locations":[{"start":{"line":825,"column":23},"end":{"line":825,"column":34}},{"start":{"line":825,"column":38},"end":{"line":825,"column":46}}]},"61":{"line":829,"type":"if","locations":[{"start":{"line":829,"column":12},"end":{"line":829,"column":12}},{"start":{"line":829,"column":12},"end":{"line":829,"column":12}}]},"62":{"line":830,"type":"if","locations":[{"start":{"line":830,"column":16},"end":{"line":830,"column":16}},{"start":{"line":830,"column":16},"end":{"line":830,"column":16}}]},"63":{"line":834,"type":"if","locations":[{"start":{"line":834,"column":16},"end":{"line":834,"column":16}},{"start":{"line":834,"column":16},"end":{"line":834,"column":16}}]},"64":{"line":837,"type":"if","locations":[{"start":{"line":837,"column":20},"end":{"line":837,"column":20}},{"start":{"line":837,"column":20},"end":{"line":837,"column":20}}]},"65":{"line":837,"type":"binary-expr","locations":[{"start":{"line":837,"column":24},"end":{"line":837,"column":30}},{"start":{"line":837,"column":34},"end":{"line":837,"column":46}}]},"66":{"line":844,"type":"if","locations":[{"start":{"line":844,"column":12},"end":{"line":844,"column":12}},{"start":{"line":844,"column":12},"end":{"line":844,"column":12}}]},"67":{"line":844,"type":"binary-expr","locations":[{"start":{"line":844,"column":16},"end":{"line":844,"column":26}},{"start":{"line":844,"column":30},"end":{"line":844,"column":35}}]},"68":{"line":845,"type":"if","locations":[{"start":{"line":845,"column":16},"end":{"line":845,"column":16}},{"start":{"line":845,"column":16},"end":{"line":845,"column":16}}]},"69":{"line":846,"type":"if","locations":[{"start":{"line":846,"column":20},"end":{"line":846,"column":20}},{"start":{"line":846,"column":20},"end":{"line":846,"column":20}}]},"70":{"line":850,"type":"if","locations":[{"start":{"line":850,"column":20},"end":{"line":850,"column":20}},{"start":{"line":850,"column":20},"end":{"line":850,"column":20}}]},"71":{"line":853,"type":"if","locations":[{"start":{"line":853,"column":24},"end":{"line":853,"column":24}},{"start":{"line":853,"column":24},"end":{"line":853,"column":24}}]},"72":{"line":854,"type":"if","locations":[{"start":{"line":854,"column":28},"end":{"line":854,"column":28}},{"start":{"line":854,"column":28},"end":{"line":854,"column":28}}]},"73":{"line":859,"type":"if","locations":[{"start":{"line":859,"column":31},"end":{"line":859,"column":31}},{"start":{"line":859,"column":31},"end":{"line":859,"column":31}}]},"74":{"line":865,"type":"if","locations":[{"start":{"line":865,"column":16},"end":{"line":865,"column":16}},{"start":{"line":865,"column":16},"end":{"line":865,"column":16}}]},"75":{"line":866,"type":"if","locations":[{"start":{"line":866,"column":20},"end":{"line":866,"column":20}},{"start":{"line":866,"column":20},"end":{"line":866,"column":20}}]},"76":{"line":866,"type":"binary-expr","locations":[{"start":{"line":866,"column":23},"end":{"line":866,"column":35}},{"start":{"line":866,"column":40},"end":{"line":866,"column":61}},{"start":{"line":866,"column":66},"end":{"line":866,"column":88}}]},"77":{"line":870,"type":"if","locations":[{"start":{"line":870,"column":24},"end":{"line":870,"column":24}},{"start":{"line":870,"column":24},"end":{"line":870,"column":24}}]},"78":{"line":910,"type":"if","locations":[{"start":{"line":910,"column":16},"end":{"line":910,"column":16}},{"start":{"line":910,"column":16},"end":{"line":910,"column":16}}]},"79":{"line":944,"type":"if","locations":[{"start":{"line":944,"column":12},"end":{"line":944,"column":12}},{"start":{"line":944,"column":12},"end":{"line":944,"column":12}}]},"80":{"line":944,"type":"binary-expr","locations":[{"start":{"line":944,"column":16},"end":{"line":944,"column":22}},{"start":{"line":944,"column":26},"end":{"line":944,"column":38}}]},"81":{"line":951,"type":"if","locations":[{"start":{"line":951,"column":16},"end":{"line":951,"column":16}},{"start":{"line":951,"column":16},"end":{"line":951,"column":16}}]},"82":{"line":951,"type":"binary-expr","locations":[{"start":{"line":951,"column":20},"end":{"line":951,"column":33}},{"start":{"line":951,"column":37},"end":{"line":951,"column":97}}]},"83":{"line":981,"type":"if","locations":[{"start":{"line":981,"column":12},"end":{"line":981,"column":12}},{"start":{"line":981,"column":12},"end":{"line":981,"column":12}}]},"84":{"line":983,"type":"cond-expr","locations":[{"start":{"line":983,"column":41},"end":{"line":983,"column":67}},{"start":{"line":983,"column":70},"end":{"line":983,"column":74}}]},"85":{"line":1016,"type":"if","locations":[{"start":{"line":1016,"column":16},"end":{"line":1016,"column":16}},{"start":{"line":1016,"column":16},"end":{"line":1016,"column":16}}]},"86":{"line":1025,"type":"if","locations":[{"start":{"line":1025,"column":20},"end":{"line":1025,"column":20}},{"start":{"line":1025,"column":20},"end":{"line":1025,"column":20}}]},"87":{"line":1029,"type":"if","locations":[{"start":{"line":1029,"column":20},"end":{"line":1029,"column":20}},{"start":{"line":1029,"column":20},"end":{"line":1029,"column":20}}]},"88":{"line":1072,"type":"if","locations":[{"start":{"line":1072,"column":12},"end":{"line":1072,"column":12}},{"start":{"line":1072,"column":12},"end":{"line":1072,"column":12}}]},"89":{"line":1079,"type":"if","locations":[{"start":{"line":1079,"column":16},"end":{"line":1079,"column":16}},{"start":{"line":1079,"column":16},"end":{"line":1079,"column":16}}]},"90":{"line":1080,"type":"if","locations":[{"start":{"line":1080,"column":20},"end":{"line":1080,"column":20}},{"start":{"line":1080,"column":20},"end":{"line":1080,"column":20}}]},"91":{"line":1084,"type":"binary-expr","locations":[{"start":{"line":1084,"column":34},"end":{"line":1084,"column":41}},{"start":{"line":1084,"column":45},"end":{"line":1084,"column":47}}]},"92":{"line":1086,"type":"binary-expr","locations":[{"start":{"line":1086,"column":44},"end":{"line":1086,"column":57}},{"start":{"line":1086,"column":61},"end":{"line":1086,"column":63}}]},"93":{"line":1129,"type":"if","locations":[{"start":{"line":1129,"column":12},"end":{"line":1129,"column":12}},{"start":{"line":1129,"column":12},"end":{"line":1129,"column":12}}]},"94":{"line":1129,"type":"binary-expr","locations":[{"start":{"line":1129,"column":16},"end":{"line":1129,"column":25}},{"start":{"line":1129,"column":29},"end":{"line":1129,"column":39}}]},"95":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":16},"end":{"line":1132,"column":16}},{"start":{"line":1132,"column":16},"end":{"line":1132,"column":16}}]},"96":{"line":1132,"type":"binary-expr","locations":[{"start":{"line":1132,"column":20},"end":{"line":1132,"column":26}},{"start":{"line":1132,"column":30},"end":{"line":1132,"column":57}}]},"97":{"line":1138,"type":"if","locations":[{"start":{"line":1138,"column":12},"end":{"line":1138,"column":12}},{"start":{"line":1138,"column":12},"end":{"line":1138,"column":12}}]},"98":{"line":1138,"type":"binary-expr","locations":[{"start":{"line":1138,"column":16},"end":{"line":1138,"column":21}},{"start":{"line":1138,"column":25},"end":{"line":1138,"column":36}}]},"99":{"line":1139,"type":"if","locations":[{"start":{"line":1139,"column":16},"end":{"line":1139,"column":16}},{"start":{"line":1139,"column":16},"end":{"line":1139,"column":16}}]},"100":{"line":1142,"type":"if","locations":[{"start":{"line":1142,"column":16},"end":{"line":1142,"column":16}},{"start":{"line":1142,"column":16},"end":{"line":1142,"column":16}}]},"101":{"line":1148,"type":"if","locations":[{"start":{"line":1148,"column":12},"end":{"line":1148,"column":12}},{"start":{"line":1148,"column":12},"end":{"line":1148,"column":12}}]},"102":{"line":1148,"type":"binary-expr","locations":[{"start":{"line":1148,"column":16},"end":{"line":1148,"column":25}},{"start":{"line":1148,"column":29},"end":{"line":1148,"column":39}}]},"103":{"line":1153,"type":"if","locations":[{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}},{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}}]},"104":{"line":1153,"type":"binary-expr","locations":[{"start":{"line":1153,"column":20},"end":{"line":1153,"column":27}},{"start":{"line":1153,"column":31},"end":{"line":1153,"column":59}},{"start":{"line":1153,"column":64},"end":{"line":1153,"column":81}},{"start":{"line":1153,"column":87},"end":{"line":1153,"column":99}}]},"105":{"line":1180,"type":"binary-expr","locations":[{"start":{"line":1180,"column":20},"end":{"line":1180,"column":25}},{"start":{"line":1180,"column":29},"end":{"line":1180,"column":51}}]},"106":{"line":1184,"type":"binary-expr","locations":[{"start":{"line":1184,"column":28},"end":{"line":1184,"column":32}},{"start":{"line":1184,"column":36},"end":{"line":1184,"column":60}}]},"107":{"line":1185,"type":"binary-expr","locations":[{"start":{"line":1185,"column":32},"end":{"line":1185,"column":41}},{"start":{"line":1185,"column":45},"end":{"line":1185,"column":53}},{"start":{"line":1185,"column":57},"end":{"line":1185,"column":85}}]},"108":{"line":1187,"type":"if","locations":[{"start":{"line":1187,"column":12},"end":{"line":1187,"column":12}},{"start":{"line":1187,"column":12},"end":{"line":1187,"column":12}}]},"109":{"line":1187,"type":"binary-expr","locations":[{"start":{"line":1187,"column":16},"end":{"line":1187,"column":21}},{"start":{"line":1187,"column":25},"end":{"line":1187,"column":34}},{"start":{"line":1187,"column":38},"end":{"line":1187,"column":51}}]}},"code":["(function () { YUI.add('attribute-core', function (Y, NAME) {","","    /**","     * The State class maintains state for a collection of named items, with","     * a varying number of properties defined.","     *","     * It avoids the need to create a separate class for the item, and separate instances","     * of these classes for each item, by storing the state in a 2 level hash table,","     * improving performance when the number of items is likely to be large.","     *","     * @constructor","     * @class State","     */","    Y.State = function() {","        /**","         * Hash of attributes","         * @property data","         */","        this.data = {};","    };","","    Y.State.prototype = {","","        /**","         * Adds a property to an item.","         *","         * @method add","         * @param name {String} The name of the item.","         * @param key {String} The name of the property.","         * @param val {Any} The value of the property.","         */","        add: function(name, key, val) {","            var item = this.data[name];","","            if (!item) {","                item = this.data[name] = {};","            }","","            item[key] = val;","        },","","        /**","         * Adds multiple properties to an item.","         *","         * @method addAll","         * @param name {String} The name of the item.","         * @param obj {Object} A hash of property/value pairs.","         */","        addAll: function(name, obj) {","            var item = this.data[name],","                key;","","            if (!item) {","                item = this.data[name] = {};","            }","","            for (key in obj) {","                if (obj.hasOwnProperty(key)) {","                    item[key] = obj[key];","                }","            }","        },","","        /**","         * Removes a property from an item.","         *","         * @method remove","         * @param name {String} The name of the item.","         * @param key {String} The property to remove.","         */","        remove: function(name, key) {","            var item = this.data[name];","","            if (item) {","                delete item[key];","            }","        },","","        /**","         * Removes multiple properties from an item, or removes the item completely.","         *","         * @method removeAll","         * @param name {String} The name of the item.","         * @param obj {Object|Array} Collection of properties to delete. If not provided, the entire item is removed.","         */","        removeAll: function(name, obj) {","            var data;","","            if (!obj) {","                data = this.data;","","                if (name in data) {","                    delete data[name];","                }","            } else {","                Y.each(obj, function(value, key) {","                    this.remove(name, typeof key === 'string' ? key : value);","                }, this);","            }","        },","","        /**","         * For a given item, returns the value of the property requested, or undefined if not found.","         *","         * @method get","         * @param name {String} The name of the item","         * @param key {String} Optional. The property value to retrieve.","         * @return {Any} The value of the supplied property.","         */","        get: function(name, key) {","            var item = this.data[name];","","            if (item) {","                return item[key];","            }","        },","","        /**","         * For the given item, returns an object with all of the","         * item's property/value pairs. By default the object returned","         * is a shallow copy of the stored data, but passing in true","         * as the second parameter will return a reference to the stored","         * data.","         *","         * @method getAll","         * @param name {String} The name of the item","         * @param reference {boolean} true, if you want a reference to the stored","         * object","         * @return {Object} An object with property/value pairs for the item.","         */","        getAll : function(name, reference) {","            var item = this.data[name],","                key, obj;","","            if (reference) {","                obj = item;","            } else if (item) {","                obj = {};","","                for (key in item) {","                    if (item.hasOwnProperty(key)) {","                        obj[key] = item[key];","                    }","                }","            }","","            return obj;","        }","    };","    /*For log lines*/","    /*jshint maxlen:200*/","","    /**","     * The attribute module provides an augmentable Attribute implementation, which","     * adds configurable attributes and attribute change events to the class being","     * augmented. It also provides a State class, which is used internally by Attribute,","     * but can also be used independently to provide a name/property/value data structure to","     * store state.","     *","     * @module attribute","     */","","    /**","     * The attribute-core submodule provides the lightest level of attribute handling support","     * without Attribute change events, or lesser used methods such as reset(), modifyAttrs(),","     * and removeAttr().","     *","     * @module attribute","     * @submodule attribute-core","     */","    var O = Y.Object,","        Lang = Y.Lang,","","        DOT = \".\",","","        // Externally configurable props","        GETTER = \"getter\",","        SETTER = \"setter\",","        READ_ONLY = \"readOnly\",","        WRITE_ONCE = \"writeOnce\",","        INIT_ONLY = \"initOnly\",","        VALIDATOR = \"validator\",","        VALUE = \"value\",","        VALUE_FN = \"valueFn\",","        LAZY_ADD = \"lazyAdd\",","","        // Used for internal state management","        ADDED = \"added\",","        BYPASS_PROXY = \"_bypassProxy\",","        INIT_VALUE = \"initValue\",","        LAZY = \"lazy\",","","        INVALID_VALUE;","","    /**","     * <p>","     * AttributeCore provides the lightest level of configurable attribute support. It is designed to be","     * augmented on to a host class, and provides the host with the ability to configure","     * attributes to store and retrieve state, <strong>but without support for attribute change events</strong>.","     * </p>","     * <p>For example, attributes added to the host can be configured:</p>","     * <ul>","     *     <li>As read only.</li>","     *     <li>As write once.</li>","     *     <li>With a setter function, which can be used to manipulate","     *     values passed to Attribute's <a href=\"#method_set\">set</a> method, before they are stored.</li>","     *     <li>With a getter function, which can be used to manipulate stored values,","     *     before they are returned by Attribute's <a href=\"#method_get\">get</a> method.</li>","     *     <li>With a validator function, to validate values before they are stored.</li>","     * </ul>","     *","     * <p>See the <a href=\"#method_addAttr\">addAttr</a> method, for the complete set of configuration","     * options available for attributes.</p>","     *","     * <p>Object/Classes based on AttributeCore can augment <a href=\"AttributeObservable.html\">AttributeObservable</a>","     * (with true for overwrite) and <a href=\"AttributeExtras.html\">AttributeExtras</a> to add attribute event and","     * additional, less commonly used attribute methods, such as `modifyAttr`, `removeAttr` and `reset`.</p>","     *","     * @class AttributeCore","     * @param attrs {Object} The attributes to add during construction (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","     *        These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.","     * @param values {Object} The initial attribute values to apply (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","     *        These are not merged/cloned. The caller is responsible for isolating user provided values if required.","     * @param lazy {boolean} Whether or not to add attributes lazily (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","     */","    function AttributeCore(attrs, values, lazy) {","        // HACK: Fix #2531929","        // Complete hack, to make sure the first clone of a node value in IE doesn't doesn't hurt state - maintains 3.4.1 behavior.","        // Too late in the release cycle to do anything about the core problem.","        // The root issue is that cloning a Y.Node instance results in an object which barfs in IE, when you access it's properties (since 3.3.0).","        this._yuievt = null;","","        this._initAttrHost(attrs, values, lazy);","    }","","    /**","     * <p>The value to return from an attribute setter in order to prevent the set from going through.</p>","     *","     * <p>You can return this value from your setter if you wish to combine validator and setter","     * functionality into a single setter function, which either returns the massaged value to be stored or","     * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.</p>","     *","     * @property INVALID_VALUE","     * @type Object","     * @static","     * @final","     */","    AttributeCore.INVALID_VALUE = {};","    INVALID_VALUE = AttributeCore.INVALID_VALUE;","","    /**","     * The list of properties which can be configured for","     * each attribute (e.g. setter, getter, writeOnce etc.).","     *","     * This property is used internally as a whitelist for faster","     * Y.mix operations.","     *","     * @property _ATTR_CFG","     * @type Array","     * @static","     * @protected","     */","    AttributeCore._ATTR_CFG = [SETTER, GETTER, VALIDATOR, VALUE, VALUE_FN, WRITE_ONCE, READ_ONLY, LAZY_ADD, BYPASS_PROXY];","","    /**","     * Utility method to protect an attribute configuration hash, by merging the","     * entire object and the individual attr config objects.","     *","     * @method protectAttrs","     * @static","     * @param {Object} attrs A hash of attribute to configuration object pairs.","     * @return {Object} A protected version of the `attrs` argument.","     */","    AttributeCore.protectAttrs = function (attrs) {","        if (attrs) {","            attrs = Y.merge(attrs);","            for (var attr in attrs) {","                if (attrs.hasOwnProperty(attr)) {","                    attrs[attr] = Y.merge(attrs[attr]);","                }","            }","        }","","        return attrs;","    };","","    AttributeCore.prototype = {","","        /**","         * Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the","         * constructor.","         *","         * @method _initAttrHost","         * @param attrs {Object} The attributes to add during construction (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         *        These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.","         * @param values {Object} The initial attribute values to apply (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         *        These are not merged/cloned. The caller is responsible for isolating user provided values if required.","         * @param lazy {boolean} Whether or not to add attributes lazily (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         * @private","         */","        _initAttrHost : function(attrs, values, lazy) {","            this._state = new Y.State();","            this._initAttrs(attrs, values, lazy);","        },","","        /**","         * <p>","         * Adds an attribute with the provided configuration to the host object.","         * </p>","         * <p>","         * The config argument object supports the following properties:","         * </p>","         *","         * <dl>","         *    <dt>value &#60;Any&#62;</dt>","         *    <dd>The initial value to set on the attribute</dd>","         *","         *    <dt>valueFn &#60;Function | String&#62;</dt>","         *    <dd>","         *    <p>A function, which will return the initial value to set on the attribute. This is useful","         *    for cases where the attribute configuration is defined statically, but needs to","         *    reference the host instance (\"this\") to obtain an initial value. If both the value and valueFn properties are defined,","         *    the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which","         *    case the value property is used.</p>","         *","         *    <p>valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.</p>","         *    </dd>","         *","         *    <dt>readOnly &#60;boolean&#62;</dt>","         *    <dd>Whether or not the attribute is read only. Attributes having readOnly set to true","         *        cannot be modified by invoking the set method.</dd>","         *","         *    <dt>writeOnce &#60;boolean&#62; or &#60;string&#62;</dt>","         *    <dd>","         *        Whether or not the attribute is \"write once\". Attributes having writeOnce set to true,","         *        can only have their values set once, be it through the default configuration,","         *        constructor configuration arguments, or by invoking set.","         *        <p>The writeOnce attribute can also be set to the string \"initOnly\",","         *         in which case the attribute can only be set during initialization","         *        (when used with Base, this means it can only be set during construction)</p>","         *    </dd>","         *","         *    <dt>setter &#60;Function | String&#62;</dt>","         *    <dd>","         *    <p>The setter function used to massage or normalize the value passed to the set method for the attribute.","         *    The value returned by the setter will be the final stored value. Returning","         *    <a href=\"#property_Attribute.INVALID_VALUE\">Attribute.INVALID_VALUE</a>, from the setter will prevent","         *    the value from being stored.","         *    </p>","         *","         *    <p>setter can also be set to a string, representing the name of the instance method to be used as the setter function.</p>","         *    </dd>","         *","         *    <dt>getter &#60;Function | String&#62;</dt>","         *    <dd>","         *    <p>","         *    The getter function used to massage or normalize the value returned by the get method for the attribute.","         *    The value returned by the getter function is the value which will be returned to the user when they","         *    invoke get.","         *    </p>","         *","         *    <p>getter can also be set to a string, representing the name of the instance method to be used as the getter function.</p>","         *    </dd>","         *","         *    <dt>validator &#60;Function | String&#62;</dt>","         *    <dd>","         *    <p>","         *    The validator function invoked prior to setting the stored value. Returning","         *    false from the validator function will prevent the value from being stored.","         *    </p>","         *","         *    <p>validator can also be set to a string, representing the name of the instance method to be used as the validator function.</p>","         *    </dd>","         *","         *    <dt>lazyAdd &#60;boolean&#62;</dt>","         *    <dd>Whether or not to delay initialization of the attribute until the first call to get/set it.","         *    This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through","         *    the <a href=\"#method_addAttrs\">addAttrs</a> method.</dd>","         *","         * </dl>","         *","         * <p>The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with","         * the context (\"this\") set to the host object.</p>","         *","         * <p>Configuration properties outside of the list mentioned above are considered private properties used internally by attribute,","         * and are not intended for public use.</p>","         *","         * @method addAttr","         *","         * @param {String} name The name of the attribute.","         * @param {Object} config An object with attribute configuration property/value pairs, specifying the configuration for the attribute.","         *","         * <p>","         * <strong>NOTE:</strong> The configuration object is modified when adding an attribute, so if you need","         * to protect the original values, you will need to merge the object.","         * </p>","         *","         * @param {boolean} lazy (optional) Whether or not to add this attribute lazily (on the first call to get/set).","         *","         * @return {Object} A reference to the host object.","         *","         * @chainable","         */","        addAttr : function(name, config, lazy) {","","","            var host = this, // help compression","                state = host._state,","                data = state.data,","                value,","                added,","                hasValue;","","            config = config || {};","","            if (LAZY_ADD in config) {","                lazy = config[LAZY_ADD];","            }","","            added = state.get(name, ADDED);","","            if (lazy && !added) {","                state.data[name] = {","                    lazy : config,","                    added : true","                };","            } else {","","","                if (!added || config.isLazyAdd) {","","                    hasValue = (VALUE in config);","","","                    if (hasValue) {","","                        // We'll go through set, don't want to set value in config directly","","                        // PERF TODO: VALIDATE: See if setting this to undefined is sufficient. We use to delete before.","                        // In certain code paths/use cases, undefined may not be the same as not present.","                        // If not, we can set it to some known fixed value (like INVALID_VALUE, say INITIALIZING_VALUE) for performance,","                        // to avoid a delete which seems to help a lot.","","                        value = config.value;","                        config.value = undefined;","                    }","","                    config.added = true;","                    config.initializing = true;","","                    data[name] = config;","","                    if (hasValue) {","                        // Go through set, so that raw values get normalized/validated","                        host.set(name, value);","                    }","","                    config.initializing = false;","                }","            }","","            return host;","        },","","        /**","         * Checks if the given attribute has been added to the host","         *","         * @method attrAdded","         * @param {String} name The name of the attribute to check.","         * @return {boolean} true if an attribute with the given name has been added, false if it hasn't.","         *         This method will return true for lazily added attributes.","         */","        attrAdded: function(name) {","            return !!(this._state.get(name, ADDED));","        },","","        /**","         * Returns the current value of the attribute. If the attribute","         * has been configured with a 'getter' function, this method will delegate","         * to the 'getter' to obtain the value of the attribute.","         *","         * @method get","         *","         * @param {String} name The name of the attribute. If the value of the attribute is an Object,","         * dot notation can be used to obtain the value of a property of the object (e.g. <code>get(\"x.y.z\")</code>)","         *","         * @return {Any} The value of the attribute","         */","        get : function(name) {","            return this._getAttr(name);","        },","","        /**","         * Checks whether or not the attribute is one which has been","         * added lazily and still requires initialization.","         *","         * @method _isLazyAttr","         * @private","         * @param {String} name The name of the attribute","         * @return {boolean} true if it's a lazily added attribute, false otherwise.","         */","        _isLazyAttr: function(name) {","            return this._state.get(name, LAZY);","        },","","        /**","         * Finishes initializing an attribute which has been lazily added.","         *","         * @method _addLazyAttr","         * @private","         * @param {Object} name The name of the attribute","         * @param {Object} [lazyCfg] Optional config hash for the attribute. This is added for performance","         * along the critical path, where the calling method has already obtained lazy config from state.","         */","        _addLazyAttr: function(name, lazyCfg) {","            var state = this._state;","","            lazyCfg = lazyCfg || state.get(name, LAZY);","","            if (lazyCfg) {","","                // PERF TODO: For App's id override, otherwise wouldn't be","                // needed. It expects to find it in the cfg for it's","                // addAttr override. Would like to remove, once App override is","                // removed.","                state.data[name].lazy = undefined;","","                lazyCfg.isLazyAdd = true;","","                this.addAttr(name, lazyCfg);","            }","        },","","        /**","         * Sets the value of an attribute.","         *","         * @method set","         * @chainable","         *","         * @param {String} name The name of the attribute. If the","         * current value of the attribute is an Object, dot notation can be used","         * to set the value of a property within the object (e.g. <code>set(\"x.y.z\", 5)</code>).","         * @param {Any} value The value to set the attribute to.","         * @param {Object} [opts] Optional data providing the circumstances for the change.","         * @return {Object} A reference to the host object.","         */","        set : function(name, val, opts) {","            return this._setAttr(name, val, opts);","        },","","        /**","         * Allows setting of readOnly/writeOnce attributes. See <a href=\"#method_set\">set</a> for argument details.","         *","         * @method _set","         * @protected","         * @chainable","         *","         * @param {String} name The name of the attribute.","         * @param {Any} val The value to set the attribute to.","         * @param {Object} [opts] Optional data providing the circumstances for the change.","         * @return {Object} A reference to the host object.","         */","        _set : function(name, val, opts) {","            return this._setAttr(name, val, opts, true);","        },","","        /**","         * Provides the common implementation for the public set and protected _set methods.","         *","         * See <a href=\"#method_set\">set</a> for argument details.","         *","         * @method _setAttr","         * @protected","         * @chainable","         *","         * @param {String} name The name of the attribute.","         * @param {Any} value The value to set the attribute to.","         * @param {Object} [opts] Optional data providing the circumstances for the change.","         * @param {boolean} force If true, allows the caller to set values for","         * readOnly or writeOnce attributes which have already been set.","         *","         * @return {Object} A reference to the host object.","         */","        _setAttr : function(name, val, opts, force)  {","            var allowSet = true,","                state = this._state,","                stateProxy = this._stateProxy,","                tCfgs = this._tCfgs,","                cfg,","                initialSet,","                strPath,","                path,","                currVal,","                writeOnce,","                initializing;","","            if (name.indexOf(DOT) !== -1) {","                strPath = name;","","                path = name.split(DOT);","                name = path.shift();","            }","","            // On Demand - Should be rare - handles out of order valueFn, setter, getter references","            if (tCfgs && tCfgs[name]) {","                this._addOutOfOrder(name, tCfgs[name]);","            }","","            cfg = state.data[name] || {};","","            if (cfg.lazy) {","                cfg = cfg.lazy;","                this._addLazyAttr(name, cfg);","            }","","            initialSet = (cfg.value === undefined);","","            if (stateProxy && name in stateProxy && !cfg._bypassProxy) {","                // TODO: Value is always set for proxy. Can we do any better? Maybe take a snapshot as the initial value for the first call to set?","                initialSet = false;","            }","","            writeOnce = cfg.writeOnce;","            initializing = cfg.initializing;","","            if (!initialSet && !force) {","","                if (writeOnce) {","                    allowSet = false;","                }","","                if (cfg.readOnly) {","                    allowSet = false;","                }","            }","","            if (!initializing && !force && writeOnce === INIT_ONLY) {","                allowSet = false;","            }","","            if (allowSet) {","                // Don't need currVal if initialSet (might fail in custom getter if it always expects a non-undefined/non-null value)","                if (!initialSet) {","                    currVal =  this.get(name);","                }","","                if (path) {","                   val = O.setValue(Y.clone(currVal), path, val);","","                   if (val === undefined) {","                       allowSet = false;","                   }","                }","","                if (allowSet) {","                    if (!this._fireAttrChange || initializing) {","                        this._setAttrVal(name, strPath, currVal, val, opts, cfg);","                    } else {","                        // HACK - no real reason core needs to know about _fireAttrChange, but","                        // it adds fn hops if we want to break it out. Not sure it's worth it for this critical path","                        this._fireAttrChange(name, strPath, currVal, val, opts, cfg);","                    }","                }","            }","","            return this;","        },","","        /**","         * Utility method used by get/set to add attributes","         * encountered out of order when calling addAttrs().","         *","         * For example, if:","         *","         *     this.addAttrs({","         *          foo: {","         *              setter: function() {","         *                 // make sure this bar is available when foo is added","         *                 this.get(\"bar\");","         *              }","         *          },","         *          bar: {","         *              value: ...","         *          }","         *     });","         *","         * @method _addOutOfOrder","         * @private","         * @param name {String} attribute name","         * @param cfg {Object} attribute configuration","         */","        _addOutOfOrder : function(name, cfg) {","","            var attrs = {};","            attrs[name] = cfg;","","            delete this._tCfgs[name];","","            // TODO: The original code went through addAttrs, so","            // sticking with it for this pass. Seems like we could","            // just jump straight to _addAttr() and get some perf","            // improvement.","            this._addAttrs(attrs, this._tVals);","        },","","        /**","         * Provides the common implementation for the public get method,","         * allowing Attribute hosts to over-ride either method.","         *","         * See <a href=\"#method_get\">get</a> for argument details.","         *","         * @method _getAttr","         * @protected","         * @chainable","         *","         * @param {String} name The name of the attribute.","         * @return {Any} The value of the attribute.","         */","        _getAttr : function(name) {","            var fullName = name,","                tCfgs = this._tCfgs,","                path,","                getter,","                val,","                attrCfg;","","            if (name.indexOf(DOT) !== -1) {","                path = name.split(DOT);","                name = path.shift();","            }","","            // On Demand - Should be rare - handles out of","            // order valueFn, setter, getter references","            if (tCfgs && tCfgs[name]) {","                this._addOutOfOrder(name, tCfgs[name]);","            }","","            attrCfg = this._state.data[name] || {};","","            // Lazy Init","            if (attrCfg.lazy) {","                attrCfg = attrCfg.lazy;","                this._addLazyAttr(name, attrCfg);","            }","","            val = this._getStateVal(name, attrCfg);","","            getter = attrCfg.getter;","","            if (getter && !getter.call) {","                getter = this[getter];","            }","","            val = (getter) ? getter.call(this, val, fullName) : val;","            val = (path) ? O.getValue(val, path) : val;","","            return val;","        },","","        /**","         * Gets the stored value for the attribute, from either the","         * internal state object, or the state proxy if it exits","         *","         * @method _getStateVal","         * @private","         * @param {String} name The name of the attribute","         * @param {Object} [cfg] Optional config hash for the attribute. This is added for performance along the critical path,","         * where the calling method has already obtained the config from state.","         *","         * @return {Any} The stored value of the attribute","         */","        _getStateVal : function(name, cfg) {","            var stateProxy = this._stateProxy;","","            if (!cfg) {","                cfg = this._state.getAll(name) || {};","            }","","            return (stateProxy && (name in stateProxy) && !(cfg._bypassProxy)) ? stateProxy[name] : cfg.value;","        },","","        /**","         * Sets the stored value for the attribute, in either the","         * internal state object, or the state proxy if it exits","         *","         * @method _setStateVal","         * @private","         * @param {String} name The name of the attribute","         * @param {Any} value The value of the attribute","         */","        _setStateVal : function(name, value) {","            var stateProxy = this._stateProxy;","            if (stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY)) {","                stateProxy[name] = value;","            } else {","                this._state.add(name, VALUE, value);","            }","        },","","        /**","         * Updates the stored value of the attribute in the privately held State object,","         * if validation and setter passes.","         *","         * @method _setAttrVal","         * @private","         * @param {String} attrName The attribute name.","         * @param {String} subAttrName The sub-attribute name, if setting a sub-attribute property (\"x.y.z\").","         * @param {Any} prevVal The currently stored value of the attribute.","         * @param {Any} newVal The value which is going to be stored.","         * @param {Object} [opts] Optional data providing the circumstances for the change.","         * @param {Object} [attrCfg] Optional config hash for the attribute. This is added for performance along the critical path,","         * where the calling method has already obtained the config from state.","         *","         * @return {booolean} true if the new attribute value was stored, false if not.","         */","        _setAttrVal : function(attrName, subAttrName, prevVal, newVal, opts, attrCfg) {","","            var host = this,","                allowSet = true,","                cfg = attrCfg || this._state.data[attrName] || {},","                validator = cfg.validator,","                setter = cfg.setter,","                initializing = cfg.initializing,","                prevRawVal = this._getStateVal(attrName, cfg),","                name = subAttrName || attrName,","                retVal,","                valid;","","            if (validator) {","                if (!validator.call) {","                    // Assume string - trying to keep critical path tight, so avoiding Lang check","                    validator = this[validator];","                }","                if (validator) {","                    valid = validator.call(host, newVal, name, opts);","","                    if (!valid && initializing) {","                        newVal = cfg.defaultValue;","                        valid = true; // Assume it's valid, for perf.","                    }","                }","            }","","            if (!validator || valid) {","                if (setter) {","                    if (!setter.call) {","                        // Assume string - trying to keep critical path tight, so avoiding Lang check","                        setter = this[setter];","                    }","                    if (setter) {","                        retVal = setter.call(host, newVal, name, opts);","","                        if (retVal === INVALID_VALUE) {","                            if (initializing) {","                                newVal = cfg.defaultValue;","                            } else {","                                allowSet = false;","                            }","                        } else if (retVal !== undefined){","                            newVal = retVal;","                        }","                    }","                }","","                if (allowSet) {","                    if(!subAttrName && (newVal === prevRawVal) && !Lang.isObject(newVal)) {","                        allowSet = false;","                    } else {","                        // Store value","                        if (!(INIT_VALUE in cfg)) {","                            cfg.initValue = newVal;","                        }","                        host._setStateVal(attrName, newVal);","                    }","                }","","            } else {","                allowSet = false;","            }","","            return allowSet;","        },","","        /**","         * Sets multiple attribute values.","         *","         * @method setAttrs","         * @param {Object} attrs  An object with attributes name/value pairs.","         * @param {Object} [opts] Optional data providing the circumstances for the change.","         * @return {Object} A reference to the host object.","         * @chainable","         */","        setAttrs : function(attrs, opts) {","            return this._setAttrs(attrs, opts);","        },","","        /**","         * Implementation behind the public setAttrs method, to set multiple attribute values.","         *","         * @method _setAttrs","         * @protected","         * @param {Object} attrs  An object with attributes name/value pairs.","         * @param {Object} [opts] Optional data providing the circumstances for the change","         * @return {Object} A reference to the host object.","         * @chainable","         */","        _setAttrs : function(attrs, opts) {","            var attr;","            for (attr in attrs) {","                if ( attrs.hasOwnProperty(attr) ) {","                    this.set(attr, attrs[attr], opts);","                }","            }","            return this;","        },","","        /**","         * Gets multiple attribute values.","         *","         * @method getAttrs","         * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are","         * returned. If set to true, all attributes modified from their initial values are returned.","         * @return {Object} An object with attribute name/value pairs.","         */","        getAttrs : function(attrs) {","            return this._getAttrs(attrs);","        },","","        /**","         * Implementation behind the public getAttrs method, to get multiple attribute values.","         *","         * @method _getAttrs","         * @protected","         * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are","         * returned. If set to true, all attributes modified from their initial values are returned.","         * @return {Object} An object with attribute name/value pairs.","         */","        _getAttrs : function(attrs) {","            var obj = {},","                attr, i, len,","                modifiedOnly = (attrs === true);","","            // TODO - figure out how to get all \"added\"","            if (!attrs || modifiedOnly) {","                attrs = O.keys(this._state.data);","            }","","            for (i = 0, len = attrs.length; i < len; i++) {","                attr = attrs[i];","","                if (!modifiedOnly || this._getStateVal(attr) != this._state.get(attr, INIT_VALUE)) {","                    // Go through get, to honor cloning/normalization","                    obj[attr] = this.get(attr);","                }","            }","","            return obj;","        },","","        /**","         * Configures a group of attributes, and sets initial values.","         *","         * <p>","         * <strong>NOTE:</strong> This method does not isolate the configuration object by merging/cloning.","         * The caller is responsible for merging/cloning the configuration object if required.","         * </p>","         *","         * @method addAttrs","         * @chainable","         *","         * @param {Object} cfgs An object with attribute name/configuration pairs.","         * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply.","         * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.","         * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set.","         * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration.","         * See <a href=\"#method_addAttr\">addAttr</a>.","         *","         * @return {Object} A reference to the host object.","         */","        addAttrs : function(cfgs, values, lazy) {","            if (cfgs) {","                this._tCfgs = cfgs;","                this._tVals = (values) ? this._normAttrVals(values) : null;","                this._addAttrs(cfgs, this._tVals, lazy);","                this._tCfgs = this._tVals = null;","            }","","            return this;","        },","","        /**","         * Implementation behind the public addAttrs method.","         *","         * This method is invoked directly by get if it encounters a scenario","         * in which an attribute's valueFn attempts to obtain the","         * value an attribute in the same group of attributes, which has not yet","         * been added (on demand initialization).","         *","         * @method _addAttrs","         * @private","         * @param {Object} cfgs An object with attribute name/configuration pairs.","         * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply.","         * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.","         * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set.","         * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration.","         * See <a href=\"#method_addAttr\">addAttr</a>.","         */","        _addAttrs : function(cfgs, values, lazy) {","            var tCfgs = this._tCfgs,","                tVals = this._tVals,","                attr,","                attrCfg,","                value;","","            for (attr in cfgs) {","                if (cfgs.hasOwnProperty(attr)) {","","                    // Not Merging. Caller is responsible for isolating configs","                    attrCfg = cfgs[attr];","                    attrCfg.defaultValue = attrCfg.value;","","                    // Handle simple, complex and user values, accounting for read-only","                    value = this._getAttrInitVal(attr, attrCfg, tVals);","","                    if (value !== undefined) {","                        attrCfg.value = value;","                    }","","                    if (tCfgs[attr]) {","                        tCfgs[attr] = undefined;","                    }","","                    this.addAttr(attr, attrCfg, lazy);","                }","            }","        },","","        /**","         * Utility method to protect an attribute configuration","         * hash, by merging the entire object and the individual","         * attr config objects.","         *","         * @method _protectAttrs","         * @protected","         * @param {Object} attrs A hash of attribute to configuration object pairs.","         * @return {Object} A protected version of the attrs argument.","         * @deprecated Use `AttributeCore.protectAttrs()` or","         *   `Attribute.protectAttrs()` which are the same static utility method.","         */","        _protectAttrs : AttributeCore.protectAttrs,","","        /**","         * Utility method to normalize attribute values. The base implementation","         * simply merges the hash to protect the original.","         *","         * @method _normAttrVals","         * @param {Object} valueHash An object with attribute name/value pairs","         *","         * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\",","         * containing simple and complex attribute values respectively keyed","         * by the top level attribute name, or null, if valueHash is falsey.","         *","         * @private","         */","        _normAttrVals : function(valueHash) {","            var vals,","                subvals,","                path,","                attr,","                v, k;","","            if (!valueHash) {","                return null;","            }","","            vals = {};","","            for (k in valueHash) {","                if (valueHash.hasOwnProperty(k)) {","                    if (k.indexOf(DOT) !== -1) {","                        path = k.split(DOT);","                        attr = path.shift();","","                        subvals = subvals || {};","","                        v = subvals[attr] = subvals[attr] || [];","                        v[v.length] = {","                            path : path,","                            value: valueHash[k]","                        };","                    } else {","                        vals[k] = valueHash[k];","                    }","                }","            }","","            return { simple:vals, complex:subvals };","        },","","        /**","         * Returns the initial value of the given attribute from","         * either the default configuration provided, or the","         * over-ridden value if it exists in the set of initValues","         * provided and the attribute is not read-only.","         *","         * @param {String} attr The name of the attribute","         * @param {Object} cfg The attribute configuration object","         * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals","         *","         * @return {Any} The initial value of the attribute.","         *","         * @method _getAttrInitVal","         * @private","         */","        _getAttrInitVal : function(attr, cfg, initValues) {","            var val = cfg.value,","                valFn = cfg.valueFn,","                tmpVal,","                initValSet = false,","                readOnly = cfg.readOnly,","                simple,","                complex,","                i,","                l,","                path,","                subval,","                subvals;","","            if (!readOnly && initValues) {","                // Simple Attributes","                simple = initValues.simple;","                if (simple && simple.hasOwnProperty(attr)) {","                    val = simple[attr];","                    initValSet = true;","                }","            }","","            if (valFn && !initValSet) {","                if (!valFn.call) {","                    valFn = this[valFn];","                }","                if (valFn) {","                    tmpVal = valFn.call(this, attr);","                    val = tmpVal;","                }","            }","","            if (!readOnly && initValues) {","","                // Complex Attributes (complex values applied, after simple, in case both are set)","                complex = initValues.complex;","","                if (complex && complex.hasOwnProperty(attr) && (val !== undefined) && (val !== null)) {","                    subvals = complex[attr];","                    for (i = 0, l = subvals.length; i < l; ++i) {","                        path = subvals[i].path;","                        subval = subvals[i].value;","                        O.setValue(val, path, subval);","                    }","                }","            }","","            return val;","        },","","        /**","         * Utility method to set up initial attributes defined during construction,","         * either through the constructor.ATTRS property, or explicitly passed in.","         *","         * @method _initAttrs","         * @protected","         * @param attrs {Object} The attributes to add during construction (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         *        These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.","         * @param values {Object} The initial attribute values to apply (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         *        These are not merged/cloned. The caller is responsible for isolating user provided values if required.","         * @param lazy {boolean} Whether or not to add attributes lazily (passed through to <a href=\"#method_addAttrs\">addAttrs</a>).","         */","        _initAttrs : function(attrs, values, lazy) {","            // ATTRS support for Node, which is not Base based","            attrs = attrs || this.constructor.ATTRS;","","            var Base = Y.Base,","                BaseCore = Y.BaseCore,","                baseInst = (Base && Y.instanceOf(this, Base)),","                baseCoreInst = (!baseInst && BaseCore && Y.instanceOf(this, BaseCore));","","            if (attrs && !baseInst && !baseCoreInst) {","                this.addAttrs(Y.AttributeCore.protectAttrs(attrs), values, lazy);","            }","        }","    };","","    Y.AttributeCore = AttributeCore;","","","}, '3.13.0', {\"requires\": [\"oop\"]});","","}());"]};
  }
  var __cov_jW$Ub3ixQRFlmKpbe0igYQ = __coverage__['build/attribute-core/attribute-core.js'];
  __cov_jW$Ub3ixQRFlmKpbe0igYQ.s['1']++;YUI.add('attribute-core',function(Y,NAME){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['1']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['2']++;Y.State=function(){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['2']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['3']++;this.data={};};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['4']++;Y.State.prototype={add:function(name,key,val){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['3']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['5']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['6']++;if(!item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['1'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['7']++;item=this.data[name]={};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['1'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['8']++;item[key]=val;},addAll:function(name,obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['4']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['9']++;var item=this.data[name],key;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['10']++;if(!item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['2'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['11']++;item=this.data[name]={};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['2'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['12']++;for(key in obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['13']++;if(obj.hasOwnProperty(key)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['3'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['14']++;item[key]=obj[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['3'][1]++;}}},remove:function(name,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['5']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['15']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['16']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['4'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['17']++;delete item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['4'][1]++;}},removeAll:function(name,obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['6']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['18']++;var data;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['19']++;if(!obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['5'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['20']++;data=this.data;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['21']++;if(name in data){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['6'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['22']++;delete data[name];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['6'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['5'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['23']++;Y.each(obj,function(value,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['7']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['24']++;this.remove(name,typeof key==='string'?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['7'][0]++,key):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['7'][1]++,value));},this);}},get:function(name,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['8']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['25']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['26']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['8'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['27']++;return item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['8'][1]++;}},getAll:function(name,reference){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['9']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['28']++;var item=this.data[name],key,obj;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['29']++;if(reference){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['9'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['30']++;obj=item;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['9'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['31']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['10'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['32']++;obj={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['33']++;for(key in item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['34']++;if(item.hasOwnProperty(key)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['11'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['35']++;obj[key]=item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['11'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['10'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['36']++;return obj;}};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['37']++;var O=Y.Object,Lang=Y.Lang,DOT='.',GETTER='getter',SETTER='setter',READ_ONLY='readOnly',WRITE_ONCE='writeOnce',INIT_ONLY='initOnly',VALIDATOR='validator',VALUE='value',VALUE_FN='valueFn',LAZY_ADD='lazyAdd',ADDED='added',BYPASS_PROXY='_bypassProxy',INIT_VALUE='initValue',LAZY='lazy',INVALID_VALUE;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['38']++;function AttributeCore(attrs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['10']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['39']++;this._yuievt=null;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['40']++;this._initAttrHost(attrs,values,lazy);}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['41']++;AttributeCore.INVALID_VALUE={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['42']++;INVALID_VALUE=AttributeCore.INVALID_VALUE;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['43']++;AttributeCore._ATTR_CFG=[SETTER,GETTER,VALIDATOR,VALUE,VALUE_FN,WRITE_ONCE,READ_ONLY,LAZY_ADD,BYPASS_PROXY];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['44']++;AttributeCore.protectAttrs=function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['11']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['45']++;if(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['12'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['46']++;attrs=Y.merge(attrs);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['47']++;for(var attr in attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['48']++;if(attrs.hasOwnProperty(attr)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['13'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['49']++;attrs[attr]=Y.merge(attrs[attr]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['13'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['12'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['50']++;return attrs;};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['51']++;AttributeCore.prototype={_initAttrHost:function(attrs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['12']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['52']++;this._state=new Y.State();__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['53']++;this._initAttrs(attrs,values,lazy);},addAttr:function(name,config,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['13']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['54']++;var host=this,state=host._state,data=state.data,value,added,hasValue;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['55']++;config=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['14'][0]++,config)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['14'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['56']++;if(LAZY_ADD in config){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['15'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['57']++;lazy=config[LAZY_ADD];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['15'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['58']++;added=state.get(name,ADDED);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['59']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['17'][0]++,lazy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['17'][1]++,!added)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['16'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['60']++;state.data[name]={lazy:config,added:true};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['16'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['61']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['19'][0]++,!added)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['19'][1]++,config.isLazyAdd)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['18'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['62']++;hasValue=VALUE in config;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['63']++;if(hasValue){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['20'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['64']++;value=config.value;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['65']++;config.value=undefined;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['20'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['66']++;config.added=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['67']++;config.initializing=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['68']++;data[name]=config;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['69']++;if(hasValue){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['21'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['70']++;host.set(name,value);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['21'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['71']++;config.initializing=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['18'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['72']++;return host;},attrAdded:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['14']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['73']++;return!!this._state.get(name,ADDED);},get:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['15']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['74']++;return this._getAttr(name);},_isLazyAttr:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['16']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['75']++;return this._state.get(name,LAZY);},_addLazyAttr:function(name,lazyCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['17']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['76']++;var state=this._state;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['77']++;lazyCfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['22'][0]++,lazyCfg)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['22'][1]++,state.get(name,LAZY));__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['78']++;if(lazyCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['23'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['79']++;state.data[name].lazy=undefined;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['80']++;lazyCfg.isLazyAdd=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['81']++;this.addAttr(name,lazyCfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['23'][1]++;}},set:function(name,val,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['18']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['82']++;return this._setAttr(name,val,opts);},_set:function(name,val,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['19']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['83']++;return this._setAttr(name,val,opts,true);},_setAttr:function(name,val,opts,force){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['20']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['84']++;var allowSet=true,state=this._state,stateProxy=this._stateProxy,tCfgs=this._tCfgs,cfg,initialSet,strPath,path,currVal,writeOnce,initializing;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['85']++;if(name.indexOf(DOT)!==-1){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['24'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['86']++;strPath=name;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['87']++;path=name.split(DOT);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['88']++;name=path.shift();}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['24'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['89']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['26'][0]++,tCfgs)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['26'][1]++,tCfgs[name])){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['25'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['90']++;this._addOutOfOrder(name,tCfgs[name]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['25'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['91']++;cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['27'][0]++,state.data[name])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['27'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['92']++;if(cfg.lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['28'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['93']++;cfg=cfg.lazy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['94']++;this._addLazyAttr(name,cfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['28'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['95']++;initialSet=cfg.value===undefined;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['96']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][2]++,!cfg._bypassProxy)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['29'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['97']++;initialSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['29'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['98']++;writeOnce=cfg.writeOnce;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['99']++;initializing=cfg.initializing;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['100']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['32'][0]++,!initialSet)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['32'][1]++,!force)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['31'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['101']++;if(writeOnce){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['33'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['102']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['33'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['103']++;if(cfg.readOnly){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['34'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['104']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['34'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['31'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['105']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][0]++,!initializing)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][1]++,!force)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][2]++,writeOnce===INIT_ONLY)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['35'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['106']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['35'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['107']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['37'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['108']++;if(!initialSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['38'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['109']++;currVal=this.get(name);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['38'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['110']++;if(path){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['39'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['111']++;val=O.setValue(Y.clone(currVal),path,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['112']++;if(val===undefined){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['40'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['113']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['40'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['39'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['114']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['41'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['115']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['43'][0]++,!this._fireAttrChange)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['43'][1]++,initializing)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['42'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['116']++;this._setAttrVal(name,strPath,currVal,val,opts,cfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['42'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['117']++;this._fireAttrChange(name,strPath,currVal,val,opts,cfg);}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['41'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['37'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['118']++;return this;},_addOutOfOrder:function(name,cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['21']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['119']++;var attrs={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['120']++;attrs[name]=cfg;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['121']++;delete this._tCfgs[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['122']++;this._addAttrs(attrs,this._tVals);},_getAttr:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['22']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['123']++;var fullName=name,tCfgs=this._tCfgs,path,getter,val,attrCfg;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['124']++;if(name.indexOf(DOT)!==-1){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['44'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['125']++;path=name.split(DOT);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['126']++;name=path.shift();}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['44'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['127']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['46'][0]++,tCfgs)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['46'][1]++,tCfgs[name])){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['45'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['128']++;this._addOutOfOrder(name,tCfgs[name]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['45'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['129']++;attrCfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['47'][0]++,this._state.data[name])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['47'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['130']++;if(attrCfg.lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['48'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['131']++;attrCfg=attrCfg.lazy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['132']++;this._addLazyAttr(name,attrCfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['48'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['133']++;val=this._getStateVal(name,attrCfg);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['134']++;getter=attrCfg.getter;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['135']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['50'][0]++,getter)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['50'][1]++,!getter.call)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['49'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['136']++;getter=this[getter];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['49'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['137']++;val=getter?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['51'][0]++,getter.call(this,val,fullName)):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['51'][1]++,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['138']++;val=path?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['52'][0]++,O.getValue(val,path)):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['52'][1]++,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['139']++;return val;},_getStateVal:function(name,cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['23']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['140']++;var stateProxy=this._stateProxy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['141']++;if(!cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['53'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['142']++;cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['54'][0]++,this._state.getAll(name))||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['54'][1]++,{});}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['53'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['143']++;return(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][2]++,!cfg._bypassProxy)?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['55'][0]++,stateProxy[name]):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['55'][1]++,cfg.value);},_setStateVal:function(name,value){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['24']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['144']++;var stateProxy=this._stateProxy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['145']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][2]++,!this._state.get(name,BYPASS_PROXY))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['57'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['146']++;stateProxy[name]=value;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['57'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['147']++;this._state.add(name,VALUE,value);}},_setAttrVal:function(attrName,subAttrName,prevVal,newVal,opts,attrCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['25']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['148']++;var host=this,allowSet=true,cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][0]++,attrCfg)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][1]++,this._state.data[attrName])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][2]++,{}),validator=cfg.validator,setter=cfg.setter,initializing=cfg.initializing,prevRawVal=this._getStateVal(attrName,cfg),name=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['60'][0]++,subAttrName)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['60'][1]++,attrName),retVal,valid;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['149']++;if(validator){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['61'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['150']++;if(!validator.call){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['62'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['151']++;validator=this[validator];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['62'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['152']++;if(validator){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['63'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['153']++;valid=validator.call(host,newVal,name,opts);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['154']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['65'][0]++,!valid)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['65'][1]++,initializing)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['64'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['155']++;newVal=cfg.defaultValue;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['156']++;valid=true;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['64'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['63'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['61'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['157']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['67'][0]++,!validator)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['67'][1]++,valid)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['66'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['158']++;if(setter){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['68'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['159']++;if(!setter.call){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['69'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['160']++;setter=this[setter];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['69'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['161']++;if(setter){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['70'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['162']++;retVal=setter.call(host,newVal,name,opts);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['163']++;if(retVal===INVALID_VALUE){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['71'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['164']++;if(initializing){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['72'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['165']++;newVal=cfg.defaultValue;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['72'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['166']++;allowSet=false;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['71'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['167']++;if(retVal!==undefined){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['73'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['168']++;newVal=retVal;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['73'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['70'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['68'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['169']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['74'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['170']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][0]++,!subAttrName)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][1]++,newVal===prevRawVal)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][2]++,!Lang.isObject(newVal))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['75'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['171']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['75'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['172']++;if(!(INIT_VALUE in cfg)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['77'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['173']++;cfg.initValue=newVal;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['77'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['174']++;host._setStateVal(attrName,newVal);}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['74'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['66'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['175']++;allowSet=false;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['176']++;return allowSet;},setAttrs:function(attrs,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['26']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['177']++;return this._setAttrs(attrs,opts);},_setAttrs:function(attrs,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['27']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['178']++;var attr;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['179']++;for(attr in attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['180']++;if(attrs.hasOwnProperty(attr)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['78'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['181']++;this.set(attr,attrs[attr],opts);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['78'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['182']++;return this;},getAttrs:function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['28']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['183']++;return this._getAttrs(attrs);},_getAttrs:function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['29']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['184']++;var obj={},attr,i,len,modifiedOnly=attrs===true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['185']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['80'][0]++,!attrs)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['80'][1]++,modifiedOnly)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['79'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['186']++;attrs=O.keys(this._state.data);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['79'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['187']++;for(i=0,len=attrs.length;i<len;i++){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['188']++;attr=attrs[i];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['189']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['82'][0]++,!modifiedOnly)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['82'][1]++,this._getStateVal(attr)!=this._state.get(attr,INIT_VALUE))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['81'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['190']++;obj[attr]=this.get(attr);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['81'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['191']++;return obj;},addAttrs:function(cfgs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['30']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['192']++;if(cfgs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['83'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['193']++;this._tCfgs=cfgs;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['194']++;this._tVals=values?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['84'][0]++,this._normAttrVals(values)):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['84'][1]++,null);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['195']++;this._addAttrs(cfgs,this._tVals,lazy);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['196']++;this._tCfgs=this._tVals=null;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['83'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['197']++;return this;},_addAttrs:function(cfgs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['31']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['198']++;var tCfgs=this._tCfgs,tVals=this._tVals,attr,attrCfg,value;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['199']++;for(attr in cfgs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['200']++;if(cfgs.hasOwnProperty(attr)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['85'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['201']++;attrCfg=cfgs[attr];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['202']++;attrCfg.defaultValue=attrCfg.value;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['203']++;value=this._getAttrInitVal(attr,attrCfg,tVals);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['204']++;if(value!==undefined){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['86'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['205']++;attrCfg.value=value;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['86'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['206']++;if(tCfgs[attr]){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['87'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['207']++;tCfgs[attr]=undefined;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['87'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['208']++;this.addAttr(attr,attrCfg,lazy);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['85'][1]++;}}},_protectAttrs:AttributeCore.protectAttrs,_normAttrVals:function(valueHash){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['32']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['209']++;var vals,subvals,path,attr,v,k;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['210']++;if(!valueHash){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['88'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['211']++;return null;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['88'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['212']++;vals={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['213']++;for(k in valueHash){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['214']++;if(valueHash.hasOwnProperty(k)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['89'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['215']++;if(k.indexOf(DOT)!==-1){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['90'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['216']++;path=k.split(DOT);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['217']++;attr=path.shift();__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['218']++;subvals=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['91'][0]++,subvals)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['91'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['219']++;v=subvals[attr]=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['92'][0]++,subvals[attr])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['92'][1]++,[]);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['220']++;v[v.length]={path:path,value:valueHash[k]};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['90'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['221']++;vals[k]=valueHash[k];}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['89'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['222']++;return{simple:vals,complex:subvals};},_getAttrInitVal:function(attr,cfg,initValues){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['33']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['223']++;var val=cfg.value,valFn=cfg.valueFn,tmpVal,initValSet=false,readOnly=cfg.readOnly,simple,complex,i,l,path,subval,subvals;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['224']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['94'][0]++,!readOnly)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['94'][1]++,initValues)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['93'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['225']++;simple=initValues.simple;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['226']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['96'][0]++,simple)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['96'][1]++,simple.hasOwnProperty(attr))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['95'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['227']++;val=simple[attr];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['228']++;initValSet=true;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['95'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['93'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['229']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['98'][0]++,valFn)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['98'][1]++,!initValSet)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['97'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['230']++;if(!valFn.call){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['99'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['231']++;valFn=this[valFn];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['99'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['232']++;if(valFn){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['100'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['233']++;tmpVal=valFn.call(this,attr);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['234']++;val=tmpVal;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['100'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['97'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['235']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['102'][0]++,!readOnly)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['102'][1]++,initValues)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['101'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['236']++;complex=initValues.complex;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['237']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['104'][0]++,complex)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['104'][1]++,complex.hasOwnProperty(attr))&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['104'][2]++,val!==undefined)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['104'][3]++,val!==null)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['103'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['238']++;subvals=complex[attr];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['239']++;for(i=0,l=subvals.length;i<l;++i){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['240']++;path=subvals[i].path;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['241']++;subval=subvals[i].value;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['242']++;O.setValue(val,path,subval);}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['103'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['101'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['243']++;return val;},_initAttrs:function(attrs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['34']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['244']++;attrs=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['105'][0]++,attrs)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['105'][1]++,this.constructor.ATTRS);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['245']++;var Base=Y.Base,BaseCore=Y.BaseCore,baseInst=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['106'][0]++,Base)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['106'][1]++,Y.instanceOf(this,Base)),baseCoreInst=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['107'][0]++,!baseInst)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['107'][1]++,BaseCore)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['107'][2]++,Y.instanceOf(this,BaseCore));__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['246']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['109'][0]++,attrs)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['109'][1]++,!baseInst)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['109'][2]++,!baseCoreInst)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['108'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['247']++;this.addAttrs(Y.AttributeCore.protectAttrs(attrs),values,lazy);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['108'][1]++;}}};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['248']++;Y.AttributeCore=AttributeCore;},'3.13.0',{'requires':['oop']});
  