if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
if (!__coverage__['build/uploader-flash/uploader-flash.js']) {
   __coverage__['build/uploader-flash/uploader-flash.js'] = {"path":"build/uploader-flash/uploader-flash.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},"b":{"1":[0,0],"2":[0,0],"3":[0,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,0,0,0,0,0,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,0,0],"28":[0,0],"29":[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,"35":0,"36":0,"37":0,"38":0,"39":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"UploaderFlash","line":30,"loc":{"start":{"line":30,"column":0},"end":{"line":30,"column":31}}},"3":{"name":"(anonymous_3)","line":104,"loc":{"start":{"line":104,"column":16},"end":{"line":104,"column":28}}},"4":{"name":"(anonymous_4)","line":289,"loc":{"start":{"line":289,"column":13},"end":{"line":289,"column":25}}},"5":{"name":"(anonymous_5)","line":319,"loc":{"start":{"line":319,"column":11},"end":{"line":319,"column":23}}},"6":{"name":"(anonymous_6)","line":321,"loc":{"start":{"line":321,"column":38},"end":{"line":321,"column":50}}},"7":{"name":"(anonymous_7)","line":338,"loc":{"start":{"line":338,"column":44},"end":{"line":338,"column":56}}},"8":{"name":"(anonymous_8)","line":345,"loc":{"start":{"line":345,"column":44},"end":{"line":345,"column":56}}},"9":{"name":"(anonymous_9)","line":351,"loc":{"start":{"line":351,"column":43},"end":{"line":351,"column":55}}},"10":{"name":"(anonymous_10)","line":356,"loc":{"start":{"line":356,"column":41},"end":{"line":356,"column":53}}},"11":{"name":"(anonymous_11)","line":361,"loc":{"start":{"line":361,"column":39},"end":{"line":361,"column":51}}},"12":{"name":"(anonymous_12)","line":380,"loc":{"start":{"line":380,"column":23},"end":{"line":380,"column":37}}},"13":{"name":"(anonymous_13)","line":399,"loc":{"start":{"line":399,"column":68},"end":{"line":399,"column":82}}},"14":{"name":"(anonymous_14)","line":408,"loc":{"start":{"line":408,"column":64},"end":{"line":408,"column":78}}},"15":{"name":"(anonymous_15)","line":417,"loc":{"start":{"line":417,"column":78},"end":{"line":417,"column":92}}},"16":{"name":"(anonymous_16)","line":417,"loc":{"start":{"line":417,"column":136},"end":{"line":417,"column":148}}},"17":{"name":"(anonymous_17)","line":418,"loc":{"start":{"line":418,"column":84},"end":{"line":418,"column":98}}},"18":{"name":"(anonymous_18)","line":418,"loc":{"start":{"line":418,"column":142},"end":{"line":418,"column":154}}},"19":{"name":"(anonymous_19)","line":420,"loc":{"start":{"line":420,"column":79},"end":{"line":420,"column":93}}},"20":{"name":"(anonymous_20)","line":421,"loc":{"start":{"line":421,"column":77},"end":{"line":421,"column":91}}},"21":{"name":"(anonymous_21)","line":443,"loc":{"start":{"line":443,"column":20},"end":{"line":443,"column":42}}},"22":{"name":"(anonymous_22)","line":460,"loc":{"start":{"line":460,"column":20},"end":{"line":460,"column":32}}},"23":{"name":"(anonymous_23)","line":476,"loc":{"start":{"line":476,"column":22},"end":{"line":476,"column":34}}},"24":{"name":"(anonymous_24)","line":489,"loc":{"start":{"line":489,"column":20},"end":{"line":489,"column":32}}},"25":{"name":"(anonymous_25)","line":508,"loc":{"start":{"line":508,"column":19},"end":{"line":508,"column":34}}},"26":{"name":"(anonymous_26)","line":518,"loc":{"start":{"line":518,"column":19},"end":{"line":518,"column":34}}},"27":{"name":"(anonymous_27)","line":533,"loc":{"start":{"line":533,"column":20},"end":{"line":533,"column":34}}},"28":{"name":"(anonymous_28)","line":545,"loc":{"start":{"line":545,"column":22},"end":{"line":545,"column":39}}},"29":{"name":"(anonymous_29)","line":559,"loc":{"start":{"line":559,"column":34},"end":{"line":559,"column":51}}},"30":{"name":"(anonymous_30)","line":567,"loc":{"start":{"line":567,"column":34},"end":{"line":567,"column":51}}},"31":{"name":"(anonymous_31)","line":592,"loc":{"start":{"line":592,"column":24},"end":{"line":592,"column":41}}},"32":{"name":"(anonymous_32)","line":635,"loc":{"start":{"line":635,"column":11},"end":{"line":635,"column":42}}},"33":{"name":"(anonymous_33)","line":663,"loc":{"start":{"line":663,"column":14},"end":{"line":663,"column":39}}},"34":{"name":"(anonymous_34)","line":676,"loc":{"start":{"line":676,"column":16},"end":{"line":676,"column":48}}},"35":{"name":"(anonymous_35)","line":694,"loc":{"start":{"line":694,"column":48},"end":{"line":694,"column":62}}},"36":{"name":"(anonymous_36)","line":830,"loc":{"start":{"line":830,"column":23},"end":{"line":830,"column":44}}},"37":{"name":"(anonymous_37)","line":941,"loc":{"start":{"line":941,"column":20},"end":{"line":941,"column":32}}},"38":{"name":"(anonymous_38)","line":958,"loc":{"start":{"line":958,"column":27},"end":{"line":958,"column":48}}},"39":{"name":"(anonymous_39)","line":975,"loc":{"start":{"line":975,"column":19},"end":{"line":975,"column":31}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1047,"column":3}},"2":{"start":{"line":14,"column":0},"end":{"line":18,"column":67}},"3":{"start":{"line":30,"column":0},"end":{"line":32,"column":1}},"4":{"start":{"line":31,"column":2},"end":{"line":31,"column":65}},"5":{"start":{"line":36,"column":0},"end":{"line":1028,"column":3}},"6":{"start":{"line":107,"column":4},"end":{"line":107,"column":46}},"7":{"start":{"line":108,"column":4},"end":{"line":108,"column":30}},"8":{"start":{"line":109,"column":4},"end":{"line":109,"column":22}},"9":{"start":{"line":110,"column":4},"end":{"line":110,"column":29}},"10":{"start":{"line":111,"column":4},"end":{"line":111,"column":29}},"11":{"start":{"line":112,"column":4},"end":{"line":112,"column":36}},"12":{"start":{"line":113,"column":4},"end":{"line":113,"column":24}},"13":{"start":{"line":129,"column":4},"end":{"line":129,"column":31}},"14":{"start":{"line":137,"column":4},"end":{"line":137,"column":32}},"15":{"start":{"line":152,"column":4},"end":{"line":152,"column":36}},"16":{"start":{"line":171,"column":4},"end":{"line":171,"column":35}},"17":{"start":{"line":188,"column":4},"end":{"line":188,"column":40}},"18":{"start":{"line":205,"column":4},"end":{"line":205,"column":35}},"19":{"start":{"line":213,"column":4},"end":{"line":213,"column":39}},"20":{"start":{"line":234,"column":4},"end":{"line":234,"column":32}},"21":{"start":{"line":242,"column":4},"end":{"line":242,"column":31}},"22":{"start":{"line":250,"column":4},"end":{"line":250,"column":31}},"23":{"start":{"line":258,"column":4},"end":{"line":258,"column":30}},"24":{"start":{"line":266,"column":4},"end":{"line":266,"column":28}},"25":{"start":{"line":274,"column":4},"end":{"line":274,"column":26}},"26":{"start":{"line":290,"column":5},"end":{"line":292,"column":56}},"27":{"start":{"line":294,"column":5},"end":{"line":294,"column":50}},"28":{"start":{"line":295,"column":5},"end":{"line":295,"column":63}},"29":{"start":{"line":296,"column":5},"end":{"line":296,"column":39}},"30":{"start":{"line":297,"column":5},"end":{"line":298,"column":88}},"31":{"start":{"line":299,"column":5},"end":{"line":299,"column":60}},"32":{"start":{"line":300,"column":5},"end":{"line":306,"column":22}},"33":{"start":{"line":307,"column":5},"end":{"line":307,"column":80}},"34":{"start":{"line":321,"column":4},"end":{"line":330,"column":13}},"35":{"start":{"line":322,"column":6},"end":{"line":322,"column":31}},"36":{"start":{"line":323,"column":6},"end":{"line":323,"column":29}},"37":{"start":{"line":324,"column":6},"end":{"line":324,"column":29}},"38":{"start":{"line":325,"column":6},"end":{"line":325,"column":32}},"39":{"start":{"line":326,"column":6},"end":{"line":326,"column":70}},"40":{"start":{"line":327,"column":6},"end":{"line":327,"column":66}},"41":{"start":{"line":328,"column":6},"end":{"line":328,"column":62}},"42":{"start":{"line":329,"column":6},"end":{"line":329,"column":63}},"43":{"start":{"line":332,"column":4},"end":{"line":332,"column":68}},"44":{"start":{"line":338,"column":8},"end":{"line":344,"column":17}},"45":{"start":{"line":339,"column":12},"end":{"line":339,"column":36}},"46":{"start":{"line":340,"column":12},"end":{"line":340,"column":48}},"47":{"start":{"line":341,"column":12},"end":{"line":343,"column":13}},"48":{"start":{"line":342,"column":16},"end":{"line":342,"column":53}},"49":{"start":{"line":345,"column":8},"end":{"line":350,"column":17}},"50":{"start":{"line":346,"column":12},"end":{"line":346,"column":36}},"51":{"start":{"line":347,"column":12},"end":{"line":347,"column":49}},"52":{"start":{"line":348,"column":12},"end":{"line":348,"column":50}},"53":{"start":{"line":351,"column":8},"end":{"line":355,"column":17}},"54":{"start":{"line":352,"column":12},"end":{"line":352,"column":35}},"55":{"start":{"line":353,"column":12},"end":{"line":353,"column":39}},"56":{"start":{"line":354,"column":12},"end":{"line":354,"column":49}},"57":{"start":{"line":356,"column":8},"end":{"line":360,"column":17}},"58":{"start":{"line":357,"column":12},"end":{"line":357,"column":33}},"59":{"start":{"line":358,"column":12},"end":{"line":358,"column":37}},"60":{"start":{"line":359,"column":12},"end":{"line":359,"column":50}},"61":{"start":{"line":361,"column":8},"end":{"line":367,"column":17}},"62":{"start":{"line":362,"column":12},"end":{"line":362,"column":31}},"63":{"start":{"line":363,"column":12},"end":{"line":363,"column":37}},"64":{"start":{"line":364,"column":12},"end":{"line":364,"column":48}},"65":{"start":{"line":365,"column":12},"end":{"line":365,"column":34}},"66":{"start":{"line":366,"column":12},"end":{"line":366,"column":44}},"67":{"start":{"line":381,"column":6},"end":{"line":430,"column":7}},"68":{"start":{"line":383,"column":8},"end":{"line":393,"column":9}},"69":{"start":{"line":384,"column":10},"end":{"line":384,"column":49}},"70":{"start":{"line":385,"column":10},"end":{"line":385,"column":47}},"71":{"start":{"line":386,"column":10},"end":{"line":386,"column":52}},"72":{"start":{"line":387,"column":10},"end":{"line":387,"column":55}},"73":{"start":{"line":388,"column":10},"end":{"line":388,"column":50}},"74":{"start":{"line":389,"column":10},"end":{"line":389,"column":49}},"75":{"start":{"line":392,"column":10},"end":{"line":392,"column":40}},"76":{"start":{"line":395,"column":10},"end":{"line":395,"column":64}},"77":{"start":{"line":396,"column":10},"end":{"line":396,"column":60}},"78":{"start":{"line":399,"column":10},"end":{"line":407,"column":59}},"79":{"start":{"line":400,"column":52},"end":{"line":406,"column":53}},"80":{"start":{"line":401,"column":56},"end":{"line":401,"column":76}},"81":{"start":{"line":402,"column":56},"end":{"line":402,"column":108}},"82":{"start":{"line":403,"column":56},"end":{"line":403,"column":111}},"83":{"start":{"line":404,"column":56},"end":{"line":404,"column":138}},"84":{"start":{"line":405,"column":56},"end":{"line":405,"column":88}},"85":{"start":{"line":408,"column":10},"end":{"line":416,"column":59}},"86":{"start":{"line":409,"column":52},"end":{"line":415,"column":53}},"87":{"start":{"line":410,"column":56},"end":{"line":410,"column":76}},"88":{"start":{"line":411,"column":56},"end":{"line":411,"column":108}},"89":{"start":{"line":412,"column":56},"end":{"line":412,"column":111}},"90":{"start":{"line":413,"column":56},"end":{"line":413,"column":138}},"91":{"start":{"line":414,"column":56},"end":{"line":414,"column":88}},"92":{"start":{"line":417,"column":10},"end":{"line":417,"column":185}},"93":{"start":{"line":417,"column":93},"end":{"line":417,"column":124}},"94":{"start":{"line":417,"column":125},"end":{"line":417,"column":176}},"95":{"start":{"line":417,"column":149},"end":{"line":417,"column":169}},"96":{"start":{"line":418,"column":10},"end":{"line":418,"column":189}},"97":{"start":{"line":418,"column":99},"end":{"line":418,"column":130}},"98":{"start":{"line":418,"column":131},"end":{"line":418,"column":180}},"99":{"start":{"line":418,"column":155},"end":{"line":418,"column":173}},"100":{"start":{"line":420,"column":10},"end":{"line":420,"column":165}},"101":{"start":{"line":420,"column":94},"end":{"line":420,"column":119}},"102":{"start":{"line":420,"column":120},"end":{"line":420,"column":156}},"103":{"start":{"line":421,"column":10},"end":{"line":421,"column":165}},"104":{"start":{"line":421,"column":92},"end":{"line":421,"column":118}},"105":{"start":{"line":421,"column":119},"end":{"line":421,"column":156}},"106":{"start":{"line":423,"column":11},"end":{"line":430,"column":7}},"107":{"start":{"line":424,"column":10},"end":{"line":424,"column":49}},"108":{"start":{"line":425,"column":10},"end":{"line":425,"column":47}},"109":{"start":{"line":426,"column":10},"end":{"line":426,"column":52}},"110":{"start":{"line":427,"column":10},"end":{"line":427,"column":55}},"111":{"start":{"line":428,"column":10},"end":{"line":428,"column":50}},"112":{"start":{"line":429,"column":10},"end":{"line":429,"column":49}},"113":{"start":{"line":444,"column":6},"end":{"line":449,"column":7}},"114":{"start":{"line":445,"column":10},"end":{"line":445,"column":86}},"115":{"start":{"line":448,"column":10},"end":{"line":448,"column":89}},"116":{"start":{"line":461,"column":10},"end":{"line":463,"column":11}},"117":{"start":{"line":462,"column":12},"end":{"line":462,"column":84}},"118":{"start":{"line":477,"column":8},"end":{"line":479,"column":5}},"119":{"start":{"line":478,"column":6},"end":{"line":478,"column":87}},"120":{"start":{"line":490,"column":6},"end":{"line":499,"column":7}},"121":{"start":{"line":491,"column":8},"end":{"line":491,"column":45}},"122":{"start":{"line":492,"column":8},"end":{"line":492,"column":71}},"123":{"start":{"line":493,"column":8},"end":{"line":493,"column":48}},"124":{"start":{"line":496,"column":8},"end":{"line":496,"column":46}},"125":{"start":{"line":497,"column":8},"end":{"line":497,"column":70}},"126":{"start":{"line":498,"column":8},"end":{"line":498,"column":47}},"127":{"start":{"line":509,"column":8},"end":{"line":509,"column":39}},"128":{"start":{"line":519,"column":8},"end":{"line":519,"column":38}},"129":{"start":{"line":520,"column":8},"end":{"line":520,"column":39}},"130":{"start":{"line":535,"column":5},"end":{"line":535,"column":27}},"131":{"start":{"line":536,"column":5},"end":{"line":536,"column":37}},"132":{"start":{"line":539,"column":5},"end":{"line":543,"column":53}},"133":{"start":{"line":545,"column":5},"end":{"line":556,"column":8}},"134":{"start":{"line":546,"column":7},"end":{"line":546,"column":28}},"135":{"start":{"line":547,"column":7},"end":{"line":547,"column":37}},"136":{"start":{"line":548,"column":7},"end":{"line":548,"column":51}},"137":{"start":{"line":549,"column":7},"end":{"line":549,"column":51}},"138":{"start":{"line":550,"column":7},"end":{"line":550,"column":51}},"139":{"start":{"line":551,"column":7},"end":{"line":551,"column":66}},"140":{"start":{"line":552,"column":7},"end":{"line":552,"column":71}},"141":{"start":{"line":553,"column":7},"end":{"line":553,"column":37}},"142":{"start":{"line":555,"column":7},"end":{"line":555,"column":41}},"143":{"start":{"line":558,"column":7},"end":{"line":570,"column":8}},"144":{"start":{"line":559,"column":10},"end":{"line":564,"column":13}},"145":{"start":{"line":560,"column":12},"end":{"line":560,"column":49}},"146":{"start":{"line":561,"column":12},"end":{"line":563,"column":13}},"147":{"start":{"line":562,"column":16},"end":{"line":562,"column":42}},"148":{"start":{"line":567,"column":10},"end":{"line":569,"column":13}},"149":{"start":{"line":568,"column":12},"end":{"line":568,"column":53}},"150":{"start":{"line":572,"column":5},"end":{"line":579,"column":6}},"151":{"start":{"line":573,"column":8},"end":{"line":573,"column":44}},"152":{"start":{"line":575,"column":8},"end":{"line":576,"column":91}},"153":{"start":{"line":578,"column":8},"end":{"line":578,"column":57}},"154":{"start":{"line":594,"column":4},"end":{"line":619,"column":5}},"155":{"start":{"line":596,"column":19},"end":{"line":596,"column":55}},"156":{"start":{"line":597,"column":16},"end":{"line":597,"column":22}},"157":{"start":{"line":599,"column":19},"end":{"line":599,"column":54}},"158":{"start":{"line":600,"column":16},"end":{"line":600,"column":22}},"159":{"start":{"line":602,"column":19},"end":{"line":602,"column":59}},"160":{"start":{"line":603,"column":16},"end":{"line":603,"column":22}},"161":{"start":{"line":605,"column":19},"end":{"line":605,"column":54}},"162":{"start":{"line":606,"column":16},"end":{"line":606,"column":22}},"163":{"start":{"line":608,"column":19},"end":{"line":608,"column":37}},"164":{"start":{"line":609,"column":19},"end":{"line":609,"column":58}},"165":{"start":{"line":610,"column":16},"end":{"line":610,"column":22}},"166":{"start":{"line":613,"column":19},"end":{"line":613,"column":51}},"167":{"start":{"line":614,"column":16},"end":{"line":614,"column":22}},"168":{"start":{"line":617,"column":19},"end":{"line":617,"column":52}},"169":{"start":{"line":618,"column":16},"end":{"line":618,"column":22}},"170":{"start":{"line":637,"column":8},"end":{"line":639,"column":36}},"171":{"start":{"line":641,"column":12},"end":{"line":641,"column":85}},"172":{"start":{"line":643,"column":8},"end":{"line":652,"column":9}},"173":{"start":{"line":645,"column":12},"end":{"line":645,"column":67}},"174":{"start":{"line":646,"column":12},"end":{"line":646,"column":70}},"175":{"start":{"line":647,"column":12},"end":{"line":647,"column":70}},"176":{"start":{"line":648,"column":12},"end":{"line":648,"column":67}},"177":{"start":{"line":649,"column":12},"end":{"line":649,"column":68}},"178":{"start":{"line":651,"column":12},"end":{"line":651,"column":77}},"179":{"start":{"line":664,"column":8},"end":{"line":664,"column":62}},"180":{"start":{"line":677,"column":4},"end":{"line":699,"column":5}},"181":{"start":{"line":678,"column":8},"end":{"line":679,"column":63}},"182":{"start":{"line":681,"column":11},"end":{"line":688,"column":50}},"183":{"start":{"line":689,"column":11},"end":{"line":689,"column":72}},"184":{"start":{"line":690,"column":11},"end":{"line":690,"column":75}},"185":{"start":{"line":691,"column":11},"end":{"line":691,"column":80}},"186":{"start":{"line":692,"column":11},"end":{"line":692,"column":75}},"187":{"start":{"line":693,"column":11},"end":{"line":693,"column":79}},"188":{"start":{"line":694,"column":11},"end":{"line":694,"column":90}},"189":{"start":{"line":694,"column":63},"end":{"line":694,"column":81}},"190":{"start":{"line":695,"column":11},"end":{"line":695,"column":72}},"191":{"start":{"line":696,"column":11},"end":{"line":696,"column":36}},"192":{"start":{"line":698,"column":11},"end":{"line":698,"column":36}},"193":{"start":{"line":831,"column":17},"end":{"line":831,"column":164}},"194":{"start":{"line":942,"column":21},"end":{"line":942,"column":143}},"195":{"start":{"line":959,"column":20},"end":{"line":959,"column":50}},"196":{"start":{"line":976,"column":12},"end":{"line":976,"column":73}},"197":{"start":{"line":978,"column":12},"end":{"line":980,"column":13}},"198":{"start":{"line":979,"column":14},"end":{"line":979,"column":59}},"199":{"start":{"line":981,"column":12},"end":{"line":981,"column":26}},"200":{"start":{"line":1030,"column":0},"end":{"line":1030,"column":38}}},"branchMap":{"1":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":12}},{"start":{"line":341,"column":12},"end":{"line":341,"column":12}}]},"2":{"line":381,"type":"if","locations":[{"start":{"line":381,"column":6},"end":{"line":381,"column":6}},{"start":{"line":381,"column":6},"end":{"line":381,"column":6}}]},"3":{"line":381,"type":"binary-expr","locations":[{"start":{"line":381,"column":10},"end":{"line":381,"column":42}},{"start":{"line":381,"column":46},"end":{"line":381,"column":83}},{"start":{"line":381,"column":87},"end":{"line":381,"column":122}}]},"4":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":8},"end":{"line":383,"column":8}},{"start":{"line":383,"column":8},"end":{"line":383,"column":8}}]},"5":{"line":400,"type":"if","locations":[{"start":{"line":400,"column":52},"end":{"line":400,"column":52}},{"start":{"line":400,"column":52},"end":{"line":400,"column":52}}]},"6":{"line":400,"type":"binary-expr","locations":[{"start":{"line":400,"column":56},"end":{"line":400,"column":71}},{"start":{"line":400,"column":75},"end":{"line":400,"column":87}}]},"7":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":52},"end":{"line":409,"column":52}},{"start":{"line":409,"column":52},"end":{"line":409,"column":52}}]},"8":{"line":409,"type":"binary-expr","locations":[{"start":{"line":409,"column":56},"end":{"line":409,"column":71}},{"start":{"line":409,"column":75},"end":{"line":409,"column":86}}]},"9":{"line":423,"type":"if","locations":[{"start":{"line":423,"column":11},"end":{"line":423,"column":11}},{"start":{"line":423,"column":11},"end":{"line":423,"column":11}}]},"10":{"line":444,"type":"if","locations":[{"start":{"line":444,"column":6},"end":{"line":444,"column":6}},{"start":{"line":444,"column":6},"end":{"line":444,"column":6}}]},"11":{"line":461,"type":"if","locations":[{"start":{"line":461,"column":10},"end":{"line":461,"column":10}},{"start":{"line":461,"column":10},"end":{"line":461,"column":10}}]},"12":{"line":461,"type":"binary-expr","locations":[{"start":{"line":461,"column":14},"end":{"line":461,"column":32}},{"start":{"line":461,"column":36},"end":{"line":461,"column":70}}]},"13":{"line":477,"type":"if","locations":[{"start":{"line":477,"column":8},"end":{"line":477,"column":8}},{"start":{"line":477,"column":8},"end":{"line":477,"column":8}}]},"14":{"line":490,"type":"if","locations":[{"start":{"line":490,"column":6},"end":{"line":490,"column":6}},{"start":{"line":490,"column":6},"end":{"line":490,"column":6}}]},"15":{"line":558,"type":"if","locations":[{"start":{"line":558,"column":7},"end":{"line":558,"column":7}},{"start":{"line":558,"column":7},"end":{"line":558,"column":7}}]},"16":{"line":561,"type":"if","locations":[{"start":{"line":561,"column":12},"end":{"line":561,"column":12}},{"start":{"line":561,"column":12},"end":{"line":561,"column":12}}]},"17":{"line":572,"type":"if","locations":[{"start":{"line":572,"column":5},"end":{"line":572,"column":5}},{"start":{"line":572,"column":5},"end":{"line":572,"column":5}}]},"18":{"line":576,"type":"cond-expr","locations":[{"start":{"line":576,"column":46},"end":{"line":576,"column":74}},{"start":{"line":576,"column":77},"end":{"line":576,"column":88}}]},"19":{"line":594,"type":"switch","locations":[{"start":{"line":596,"column":19},"end":{"line":597,"column":22}},{"start":{"line":599,"column":19},"end":{"line":600,"column":22}},{"start":{"line":602,"column":19},"end":{"line":603,"column":22}},{"start":{"line":605,"column":19},"end":{"line":606,"column":22}},{"start":{"line":608,"column":19},"end":{"line":610,"column":22}},{"start":{"line":612,"column":16},"end":{"line":612,"column":16}},{"start":{"line":613,"column":19},"end":{"line":614,"column":22}},{"start":{"line":616,"column":16},"end":{"line":616,"column":16}},{"start":{"line":617,"column":19},"end":{"line":618,"column":22}}]},"20":{"line":637,"type":"binary-expr","locations":[{"start":{"line":637,"column":24},"end":{"line":637,"column":27}},{"start":{"line":637,"column":31},"end":{"line":637,"column":52}}]},"21":{"line":638,"type":"binary-expr","locations":[{"start":{"line":638,"column":23},"end":{"line":638,"column":31}},{"start":{"line":638,"column":35},"end":{"line":638,"column":62}}]},"22":{"line":641,"type":"cond-expr","locations":[{"start":{"line":641,"column":57},"end":{"line":641,"column":73}},{"start":{"line":641,"column":76},"end":{"line":641,"column":84}}]},"23":{"line":643,"type":"if","locations":[{"start":{"line":643,"column":8},"end":{"line":643,"column":8}},{"start":{"line":643,"column":8},"end":{"line":643,"column":8}}]},"24":{"line":677,"type":"if","locations":[{"start":{"line":677,"column":4},"end":{"line":677,"column":4}},{"start":{"line":677,"column":4},"end":{"line":677,"column":4}}]},"25":{"line":678,"type":"binary-expr","locations":[{"start":{"line":678,"column":24},"end":{"line":678,"column":27}},{"start":{"line":678,"column":31},"end":{"line":678,"column":52}}]},"26":{"line":679,"type":"binary-expr","locations":[{"start":{"line":679,"column":23},"end":{"line":679,"column":31}},{"start":{"line":679,"column":35},"end":{"line":679,"column":62}}]},"27":{"line":831,"type":"binary-expr","locations":[{"start":{"line":831,"column":25},"end":{"line":831,"column":55}},{"start":{"line":831,"column":59},"end":{"line":831,"column":85}},{"start":{"line":831,"column":89},"end":{"line":831,"column":123}},{"start":{"line":831,"column":127},"end":{"line":831,"column":162}}]},"28":{"line":959,"type":"binary-expr","locations":[{"start":{"line":959,"column":28},"end":{"line":959,"column":36}},{"start":{"line":959,"column":40},"end":{"line":959,"column":48}}]},"29":{"line":978,"type":"if","locations":[{"start":{"line":978,"column":12},"end":{"line":978,"column":12}},{"start":{"line":978,"column":12},"end":{"line":978,"column":12}}]}},"code":["(function () { FOO.add('uploader-flash', function (F, NAME) {","","","    /**","     * This module provides a UI for file selection and multiple file upload capability using","     * Flash as a transport engine.","     * The supported features include: automatic upload queue management, upload progress","     * tracking, file filtering, server response retrieval and error reporting.","     *","     * @module uploader-flash","     */     ","","// Shorthands for external modules","var  substitute            = Y.substitute,","     UploaderQueue         = Y.Uploader.Queue,","     getCN                 = Y.ClassNameManager.getClassName,","     UPLOADER              = 'uploader',","     SELECT_FILES          = getCN(UPLOADER, 'selectfiles-button');","","","    /**","     * This module provides a UI for file selection and multiple file upload capability","     * using Flash as a transport engine.","     * @class UploaderFlash","     * @extends Widget","     * @constructor","     * @param {Object} config Configuration object.","     */","","function UploaderFlash(config) {","  UploaderFlash.superclass.constructor.apply ( this, arguments );","}","","","","Y.UploaderFlash = Y.extend(UploaderFlash, Y.Widget, {","","  /**","   * Stored value of the current button state (based on ","   * mouse events dispatched by the Flash player)","   * @property _buttonState","   * @type {String}","   * @protected","   */","  _buttonState: \"up\",","","  /**","   * Stored value of the current button focus state (based ","   * on keyboard and mouse events).","   * @property _buttonFocus","   * @type {Boolean}","   * @protected","   */","  _buttonFocus: false,","","  /**","   * Stored value of the unique id for the container that holds the ","   * Flash uploader.","   *","   * @property _swfContainerId","   * @type {String}","   * @protected","   */","  _swfContainerId: null,","","  /**","   * Stored reference to the instance of SWF used to host the","   * Flash uploader.","   *","   * @property _swfReference","   * @type {SWF}","   * @protected","   */","  _swfReference: null,","","  /**","   * Stored reference to the instance of Uploader.Queue used to manage","   * the upload process. This is a read-only property that only exists","   * during an active upload process. Only one queue can be active at","   * a time; if an upload start is attempted while a queue is active,","   * it will be ignored.","   *","   * @property queue","   * @type {Y.Uploader.Queue}","   */","   queue: null,","","  /**","   * Stored event bindings for keyboard navigation to and from the uploader.","   *","   * @property _tabElementBindings","   * @type {Object}","   * @protected","   */","  _tabElementBindings: null,","","","/**"," * Construction logic executed during UploaderFlash instantiation."," *"," * @method initializer"," * @protected"," */","  initializer : function () {","","    // Assign protected variable values","    this._swfContainerId = Y.guid(\"uploader\");","    this._swfReference = null;","    this.queue = null;","    this._buttonState = \"up\";","    this._buttonFocus = null;","    this._tabElementBindings = null;","    this._fileList = [];","","    // Publish available events","","   /**","    * Signals that files have been selected. ","    *","    * @event fileselect","    * @param event {Event} The event object for the `fileselect` with the","    *                      following payload:","    *  <dl>","    *      <dt>fileList</dt>","    *          <dd>An `Array` of files selected by the user, encapsulated","    *              in Y.FileFlash objects.</dd>","    *  </dl>","    */","    this.publish(\"fileselect\");","","   /**","    * Signals that an upload of multiple files has been started. ","    *","    * @event uploadstart","    * @param event {Event} The event object for the `uploadstart`.","    */","    this.publish(\"uploadstart\");","","   /**","    * Signals that an upload of a specific file has started. ","    *","    * @event fileuploadstart","    * @param event {Event} The event object for the `fileuploadstart` with the","    *                      following payload:","    *  <dl>","    *      <dt>file</dt>","    *          <dd>A reference to the Y.File that dispatched the event.</dd>","    *      <dt>originEvent</dt>","    *          <dd>The original event dispatched by Y.File.</dd>","    *  </dl>","    */","    this.publish(\"fileuploadstart\");","","   /**","    * Reports on upload progress of a specific file. ","    *","    * @event uploadprogress","    * @param event {Event} The event object for the `uploadprogress` with the","    *                      following payload:","    *  <dl>","    *      <dt>bytesLoaded</dt>","    *          <dd>The number of bytes of the file that has been uploaded</dd>","    *      <dt>bytesTotal</dt>","    *          <dd>The total number of bytes in the file</dd>","    *      <dt>percentLoaded</dt>","    *          <dd>The fraction of the file that has been uploaded, out of 100</dd>","    *      <dt>originEvent</dt>","    *          <dd>The original event dispatched by the SWF uploader</dd>","    *  </dl>","    */","    this.publish(\"uploadprogress\");","","   /**","    * Reports on the total upload progress of the file list. ","    *","    * @event totaluploadprogress","    * @param event {Event} The event object for the `totaluploadprogress` with the","    *                      following payload:","    *  <dl>","    *      <dt>bytesLoaded</dt>","    *          <dd>The number of bytes of the file list that has been uploaded</dd>","    *      <dt>bytesTotal</dt>","    *          <dd>The total number of bytes in the file list</dd>","    *      <dt>percentLoaded</dt>","    *          <dd>The fraction of the file list that has been uploaded, out of 100</dd>","    *  </dl>","    */","    this.publish(\"totaluploadprogress\");","","   /**","    * Signals that a single file upload has been completed. ","    *","    * @event uploadcomplete","    * @param event {Event} The event object for the `uploadcomplete` with the","    *                      following payload:","    *  <dl>","    *      <dt>file</dt>","    *          <dd>The pointer to the instance of `Y.File` whose upload has been completed.</dd>","    *      <dt>originEvent</dt>","    *          <dd>The original event fired by the SWF Uploader</dd>","    *      <dt>data</dt>","    *          <dd>Data returned by the server.</dd>","    *  </dl>","    */","    this.publish(\"uploadcomplete\");","","   /**","    * Signals that the upload process of the entire file list has been completed. ","    *","    * @event alluploadscomplete","    * @param event {Event} The event object for the `alluploadscomplete`.","    */","    this.publish(\"alluploadscomplete\");","","   /**","    * Signals that a error has occurred in a specific file's upload process. ","    *","    * @event uploaderror","    * @param event {Event} The event object for the `uploaderror` with the","    *                      following payload:","    *  <dl>","    *      <dt>originEvent</dt>","    *          <dd>The original error event fired by the SWF Uploader. </dd>","    *      <dt>file</dt>","    *          <dd>The pointer at the instance of Y.FileFlash that returned the error.</dd>","    *      <dt>source</dt>","    *          <dd>The source of the upload error, either \"io\" or \"http\"</dd>       ","    *      <dt>message</dt>","    *          <dd>The message that accompanied the error. Corresponds to the text of","    *              the error in cases where source is \"io\", and to the HTTP status for","                   cases where source is \"http\".</dd>     ","    *  </dl>","    */","    this.publish(\"uploaderror\");","","   /**","    * Signals that a mouse has begun hovering over the `Select Files` button. ","    *","    * @event mouseenter","    * @param event {Event} The event object for the `mouseenter` event.","    */","    this.publish(\"mouseenter\");","","   /**","    * Signals that a mouse has stopped hovering over the `Select Files` button. ","    *","    * @event mouseleave","    * @param event {Event} The event object for the `mouseleave` event.","    */","    this.publish(\"mouseleave\");","","   /**","    * Signals that a mouse button has been pressed over the `Select Files` button. ","    *","    * @event mousedown","    * @param event {Event} The event object for the `mousedown` event.","    */","    this.publish(\"mousedown\");","","   /**","    * Signals that a mouse button has been released over the `Select Files` button. ","    *","    * @event mouseup","    * @param event {Event} The event object for the `mouseup` event.","    */","    this.publish(\"mouseup\");","","   /**","    * Signals that a mouse has been clicked over the `Select Files` button. ","    *","    * @event click","    * @param event {Event} The event object for the `click` event.","    */","    this.publish(\"click\");","  },","","  /**","   * Creates the DOM structure for the UploaderFlash.","   * UploaderFlash's DOM structure consists of two layers: the base \"Select Files\"","   * button that can be replaced by the developer's widget of choice; and a transparent","   * Flash overlay positoned above the button that captures all input events.","   * The `position` style attribute of the `boundingBox` of the `Uploader` widget","   * is forced to be `relative`, in order to accommodate the Flash player overlay","   * (which is `position`ed `absolute`ly).","   *","   * @method renderUI","   * @protected","   */","  renderUI : function () {","     var boundingBox = this.get(\"boundingBox\"),","         contentBox = this.get('contentBox'),","         selFilesButton = this.get(\"selectFilesButton\");"," ","     boundingBox.setStyle(\"position\", \"relative\");","     selFilesButton.setStyles({width: \"100%\", height: \"100%\"});","     contentBox.append(selFilesButton);","     contentBox.append(Y.Node.create(substitute(UploaderFlash.FLASH_CONTAINER, ","                                              {swfContainerId: this._swfContainerId})));","     var flashContainer = Y.one(\"#\" + this._swfContainerId);","     var params = {version: \"10.0.45\",","                     fixedAttributes: {wmode: \"transparent\", ","                                       allowScriptAccess:\"always\", ","                                       allowNetworking:\"all\", ","                                       scale: \"noscale\"","                                      }","                    };","     this._swfReference = new Y.SWF(flashContainer, this.get(\"swfURL\"), params);","  },","","  /**","   * Binds handlers to the UploaderFlash UI events and propagates attribute","   * values to the Flash player.","   * The propagation of initial values is set to occur once the Flash player ","   * instance is ready (as indicated by the `swfReady` event.)","   *","   * @method bindUI","   * @protected","   */","  bindUI : function () {","","    this._swfReference.on(\"swfReady\", function () {","      this._setMultipleFiles();","      this._setFileFilters();","      this._triggerEnabled();","      this._attachTabElements();","      this.after(\"multipleFilesChange\", this._setMultipleFiles, this);","      this.after(\"fileFiltersChange\", this._setFileFilters, this);","      this.after(\"enabledChange\", this._triggerEnabled, this);","      this.after(\"tabElementsChange\", this._attachTabElements);","    }, this);","        ","    this._swfReference.on(\"fileselect\", this._updateFileList, this);","","","","        // this._swfReference.on(\"trace\", function (ev) {console.log(ev.message);});","","        this._swfReference.on(\"mouseenter\", function () {","            this.fire(\"mouseenter\");","            this._setButtonClass(\"hover\", true);","            if (this._buttonState == \"down\") {","                this._setButtonClass(\"active\", true);","            }","        }, this);","        this._swfReference.on(\"mouseleave\", function () {","            this.fire(\"mouseleave\");","            this._setButtonClass(\"hover\", false);","            this._setButtonClass(\"active\", false);","            ","        }, this);","        this._swfReference.on(\"mousedown\", function () {","            this.fire(\"mousedown\");","            this._buttonState = \"down\";","            this._setButtonClass(\"active\", true);","        }, this);","        this._swfReference.on(\"mouseup\", function () {","            this.fire(\"mouseup\");","            this._buttonState = \"up\";","            this._setButtonClass(\"active\", false);","        }, this);","        this._swfReference.on(\"click\", function () {","            this.fire(\"click\");","            this._buttonFocus = true;","            this._setButtonClass(\"focus\", true);","            Y.one(\"body\").focus();","            this._swfReference._swf.focus();","        }, this);","  },","","  /**","   * Attaches keyboard bindings to enabling tabbing to and from the instance of the Flash","   * player in the Uploader widget. If the previous and next elements are specified, the","   * keyboard bindings enable the user to tab from the `tabElements[\"from\"]` node to the ","   * Flash-powered \"Select Files\" button, and to the `tabElements[\"to\"]` node. ","   *","   * @method _attachTabElements","   * @protected","   * @param ev {Event} Optional event payload if called as a `tabElementsChange` handler.","   */","  _attachTabElements : function (ev) {","      if (this.get(\"tabElements\") !== null && this.get(\"tabElements\").from !== null && this.get(\"tabElements\").to !== null) {","","        if (this._tabElementBindings !== null) {","          this._tabElementBindings.from.detach();","          this._tabElementBindings.to.detach();","          this._tabElementBindings.tabback.detach();","          this._tabElementBindings.tabforward.detach();","          this._tabElementBindings.focus.detach();","          this._tabElementBindings.blur.detach();","        }","        else {","          this._tabElementBindings = {};","        }","","          var fromElement = Y.one(this.get(\"tabElements\").from);","          var toElement = Y.one(this.get(\"tabElements\").to);","","","          this._tabElementBindings.from = fromElement.on(\"keydown\", function (ev) { ","                                                    if (ev.keyCode == 9 && !ev.shiftKey) {","                                                        ev.preventDefault();","                                                        this._swfReference._swf.setAttribute(\"tabindex\", 0); ","                                                        this._swfReference._swf.setAttribute(\"role\", \"button\");","                                                        this._swfReference._swf.setAttribute(\"aria-label\", this.get(\"selectButtonLabel\"));","                                                        this._swfReference._swf.focus();","                                                    }","                                                  }, this);","          this._tabElementBindings.to = toElement.on(\"keydown\", function (ev) { ","                                                    if (ev.keyCode == 9 && ev.shiftKey) {","                                                        ev.preventDefault();","                                                        this._swfReference._swf.setAttribute(\"tabindex\", 0); ","                                                        this._swfReference._swf.setAttribute(\"role\", \"button\");","                                                        this._swfReference._swf.setAttribute(\"aria-label\", this.get(\"selectButtonLabel\"));","                                                        this._swfReference._swf.focus();","                                                    }","                                                  }, this);","          this._tabElementBindings.tabback = this._swfReference.on(\"tabback\", function (ev) {this._swfReference._swf.blur(); setTimeout(function () {fromElement.focus();}, 30);}, this);","          this._tabElementBindings.tabforward = this._swfReference.on(\"tabforward\", function (ev) {this._swfReference._swf.blur(); setTimeout(function () {toElement.focus();}, 30);}, this);","","          this._tabElementBindings.focus = this._swfReference._swf.on(\"focus\", function (ev) {this._buttonFocus = true; this._setButtonClass(\"focus\", true);}, this);","          this._tabElementBindings.blur = this._swfReference._swf.on(\"blur\", function (ev) {this._buttonFocus = false; this._setButtonClass(\"focus\", false);}, this);","      }","      else if (this._tabElementBindings !== null) {","          this._tabElementBindings.from.detach();","          this._tabElementBindings.to.detach();","          this._tabElementBindings.tabback.detach();","          this._tabElementBindings.tabforward.detach();","          this._tabElementBindings.focus.detach();","          this._tabElementBindings.blur.detach();","      }","  },","","","  /**","   * Adds or removes a specified state CSS class to the underlying uploader button. ","   *","   * @method _setButtonClass","   * @protected","   * @param state {String} The name of the state enumerated in `buttonClassNames` attribute","   * from which to derive the needed class name.","   * @param add {Boolean} A Boolean indicating whether to add or remove the class.","   */","  _setButtonClass : function (state, add) {","      if (add) {","          this.get(\"selectFilesButton\").addClass(this.get(\"buttonClassNames\")[state]);","      }","      else {","          this.get(\"selectFilesButton\").removeClass(this.get(\"buttonClassNames\")[state]);","      }","  },","","","  /**","   * Syncs the state of the `fileFilters` attribute between the instance of UploaderFlash","   * and the Flash player.","   * ","   * @method _setFileFilters","   * @private","   */","  _setFileFilters : function () {","          if (this._swfReference && this.get(\"fileFilters\").length > 0) {","            this._swfReference.callSWF(\"setFileFilters\", [this.get(\"fileFilters\")]);","          } ","","  },","","","","  /**","   * Syncs the state of the `multipleFiles` attribute between this class","   * and the Flash uploader.","   * ","   * @method _setMultipleFiles","   * @private","   */","  _setMultipleFiles : function () {","        if (this._swfReference) {","      this._swfReference.callSWF(\"setAllowMultipleFiles\", [this.get(\"multipleFiles\")]);","    }","  },","","  /**","   * Syncs the state of the `enabled` attribute between this class","   * and the Flash uploader.","   * ","   * @method _triggerEnabled","   * @private","   */","  _triggerEnabled : function () {","      if (this.get(\"enabled\")) {","        this._swfReference.callSWF(\"enable\");","        this._swfReference._swf.setAttribute(\"aria-disabled\", \"false\");","        this._setButtonClass(\"disabled\", false);","      }","      else {","        this._swfReference.callSWF(\"disable\");","        this._swfReference._swf.setAttribute(\"aria-disabled\", \"true\");","        this._setButtonClass(\"disabled\", true);","      }","  },","","  /**","   * Getter for the `fileList` attribute","   * ","   * @method _getFileList","   * @private","   */","    _getFileList : function (arr) {","        return this._fileList.concat();","    },","","  /**","   * Setter for the `fileList` attribute","   * ","   * @method _setFileList","   * @private","   */","    _setFileList : function (val) {","        this._fileList = val.concat();","        return this._fileList.concat();","    },","","  /**","   * Adjusts the content of the `fileList` based on the results of file selection","   * and the `appendNewFiles` attribute. If the `appendNewFiles` attribute is true,","   * then selected files are appended to the existing list; otherwise, the list is","   * cleared and populated with the newly selected files.","   * ","   * @method _updateFileList","   * @param ev {Event} The file selection event received from the uploader.","   * @private","   */","  _updateFileList : function (ev) {","     ","     Y.one(\"body\").focus();","     this._swfReference._swf.focus();","","","     var newfiles = ev.fileList,","         fileConfObjects = [],","         parsedFiles = [],","         swfRef = this._swfReference,","         filterFunc = this.get(\"fileFilterFunction\");"," ","     Y.each(newfiles, function (value) {","       var newFileConf = {};","       newFileConf.id = value.fileId;","       newFileConf.name = value.fileReference.name;","       newFileConf.size = value.fileReference.size;","       newFileConf.type = value.fileReference.type;","       newFileConf.dateCreated = value.fileReference.creationDate;","       newFileConf.dateModified = value.fileReference.modificationDate;","       newFileConf.uploader = swfRef;","","       fileConfObjects.push(newFileConf);","     });","","       if (filterFunc) {","          Y.each(fileConfObjects, function (value) {","            var newfile = new Y.FileFlash(value);","            if (filterFunc(newfile)) {","                parsedFiles.push(newfile);","            }","          });","       }","       else {","          Y.each(fileConfObjects, function (value) {","            parsedFiles.push(new Y.FileFlash(value));","          });","       }","","     if (parsedFiles.length > 0) {","        var oldfiles = this.get(\"fileList\");","","        this.set(\"fileList\", ","                 this.get(\"appendNewFiles\") ? oldfiles.concat(parsedFiles) : parsedFiles );","","        this.fire(\"fileselect\", {fileList: parsedFiles});","     }","","  },","","","","  /**","   * Handles and retransmits events fired by `Y.FileFlash` and `Y.Uploader.Queue`.","   * ","   * @method _uploadEventHandler","   * @param event The event dispatched during the upload process.","   * @private","   */","  _uploadEventHandler : function (event) {","  ","    switch (event.type) {","                case \"file:uploadstart\":","                   this.fire(\"fileuploadstart\", event);","                break;","                case \"file:uploadprogress\":","                   this.fire(\"uploadprogress\", event);","                break;","                case \"uploaderqueue:totaluploadprogress\":","                   this.fire(\"totaluploadprogress\", event);","                break;","                case \"file:uploadcomplete\":","                   this.fire(\"uploadcomplete\", event);","                break;","                case \"uploaderqueue:alluploadscomplete\":","                   this.queue = null;","                   this.fire(\"alluploadscomplete\", event);","                break;","                case \"file:uploaderror\":","                case \"uploaderqueue:uploaderror\":","                   this.fire(\"uploaderror\", event);","                break;","                case \"file:uploadcancel\":","                case \"uploaderqueue:uploadcancel\":","                   this.fire(\"uploadcancel\", event);","                break;","    }   ","","  },","","","","  /**","   * Starts the upload of a specific file.","   *","   * @method upload","   * @param file {Y.FileFlash} Reference to the instance of the file to be uploaded.","   * @param url {String} The URL to upload the file to.","   * @param postVars {Object} (optional) A set of key-value pairs to send as variables along with the file upload HTTP request.","   *                          If not specified, the values from the attribute `postVarsPerFile` are used instead. ","   */","","  upload : function (file, url, postvars) {","        ","        var uploadURL = url || this.get(\"uploadURL\"),","            postVars = postvars || this.get(\"postVarsPerFile\"),","            fileId = file.get(\"id\");","","            postVars = postVars.hasOwnProperty(fileId) ? postVars[fileId] : postVars;","","        if (file instanceof Y.FileFlash) {","           ","            file.on(\"uploadstart\", this._uploadEventHandler, this);","            file.on(\"uploadprogress\", this._uploadEventHandler, this);","            file.on(\"uploadcomplete\", this._uploadEventHandler, this);","            file.on(\"uploaderror\", this._uploadEventHandler, this);","            file.on(\"uploadcancel\", this._uploadEventHandler, this);","","            file.startUpload(uploadURL, postVars, this.get(\"fileFieldName\"));","        }","  },","","  /**","   * Starts the upload of all files on the file list, using an automated queue.","   *","   * @method uploadAll","   * @param url {String} The URL to upload the files to.","   * @param postVars {Object} (optional) A set of key-value pairs to send as variables along with the file upload HTTP request.","   *                          If not specified, the values from the attribute `postVarsPerFile` are used instead. ","   */","  uploadAll : function (url, postvars) {","        this.uploadThese(this.get(\"fileList\"), url, postvars);","  },","","  /**","   * Starts the upload of the files specified in the first argument, using an automated queue.","   *","   * @method uploadThese","   * @param files {Array} The list of files to upload.","   * @param url {String} The URL to upload the files to.","   * @param postVars {Object} (optional) A set of key-value pairs to send as variables along with the file upload HTTP request.","   *                          If not specified, the values from the attribute `postVarsPerFile` are used instead. ","   */","  uploadThese : function (files, url, postvars) {","    if (!this.queue) {","        var uploadURL = url || this.get(\"uploadURL\"),","            postVars = postvars || this.get(\"postVarsPerFile\");","","           this.queue = new UploaderQueue({simUploads: this.get(\"simLimit\"), ","                                           errorAction: this.get(\"errorAction\"),","                                           fileFieldName: this.get(\"fileFieldName\"),","                                           fileList: files,","                                           uploadURL: uploadURL,","                                           perFileParameters: postVars,","                                           retryCount: this.get(\"retryCount\")","                                               });","           this.queue.on(\"uploadstart\", this._uploadEventHandler, this);","           this.queue.on(\"uploadprogress\", this._uploadEventHandler, this);","           this.queue.on(\"totaluploadprogress\", this._uploadEventHandler, this);","           this.queue.on(\"uploadcomplete\", this._uploadEventHandler, this);","           this.queue.on(\"alluploadscomplete\", this._uploadEventHandler, this);","           this.queue.on(\"alluploadscancelled\", function (ev) {this.queue = null;}, this);","           this.queue.on(\"uploaderror\", this._uploadEventHandler, this);","           this.queue.startUpload();  ","           ","           this.fire(\"uploadstart\"); ","    }","  }","},","","{","  /**","   * The template for the Flash player container. Since the Flash player container needs","   * to completely overlay the &lquot;Select Files&rqot; control, it's positioned absolutely,","   * with width and height set to 100% of the parent.","   *","   * @property FLASH_CONTAINER","   * @type {String}","   * @static","   * @default \"<div id='{swfContainerId}' style='position:absolute; top:0px; left: 0px; margin: 0; padding: 0; border: 0; width:100%; height:100%'></div>\"","   */","  FLASH_CONTAINER: \"<div id='{swfContainerId}' style='position:absolute; top:0px; left: 0px; margin: 0; padding: 0; border: 0; width:100%; height:100%'></div>\",","","  /**","   * The template for the \"Select Files\" button.","   *","   * @property SELECT_FILES_BUTTON","   * @type {String}","   * @static","   * @default \"<button type='button' class='yui3-button' tabindex='-1'>{selectButtonLabel}</button>\"","   */","  SELECT_FILES_BUTTON: \"<button type='button' class='yui3-button' tabindex='-1'>{selectButtonLabel}</button>\",","","   /**","   * The static property reflecting the type of uploader that `Y.Uploader`","   * aliases. The UploaderFlash value is `\"flash\"`.","   * ","   * @property TYPE","   * @type {String}","   * @static","   */","  TYPE: \"flash\",","","  /**","   * The identity of the widget.","   *","   * @property NAME","   * @type String","   * @default 'uploader'","   * @readOnly","   * @protected","   * @static","   */","  NAME: \"uploader\",","","  /**","   * Static property used to define the default attribute configuration of","   * the Widget.","   *","   * @property ATTRS","   * @type {Object}","   * @protected","   * @static","   */","  ATTRS: {","","        /**","         * A Boolean indicating whether newly selected files should be appended ","         * to the existing file list, or whether they should replace it.","         *","         * @attribute appendNewFiles","         * @type {Boolean}","         * @default true","         */","         appendNewFiles : {","            value: true","         },","","        /**","         * The names of CSS classes that correspond to different button states","         * of the \"Select Files\" control. These classes are assigned to the ","         * \"Select Files\" control based on the mouse states reported by the","         * Flash player. The keys for the class names are:","         * <ul>","         *   <li> <strong>`hover`</strong>: the class corresponding to mouse hovering over","         *      the \"Select Files\" button.</li>","         *   <li> <strong>`active`</strong>: the class corresponding to mouse down state of","         *      the \"Select Files\" button.</li>","         *   <li> <strong>`disabled`</strong>: the class corresponding to the disabled state","         *      of the \"Select Files\" button.</li>","         *   <li> <strong>`focus`</strong>: the class corresponding to the focused state of","         *      the \"Select Files\" button.</li>","         * </ul>","         * @attribute buttonClassNames","         * @type {Object}","         * @default { hover: \"yui3-button-hover\",","         *            active: \"yui3-button-active\",","         *            disabled: \"yui3-button-disabled\",","         *            focus: \"yui3-button-selected\"","         *          }","         */","        buttonClassNames: {","            value: {","                \"hover\": \"yui3-button-hover\",","                \"active\": \"yui3-button-active\",","                \"disabled\": \"yui3-button-disabled\",","                \"focus\": \"yui3-button-selected\"","            }","        },","","        /**","         * A Boolean indicating whether the uploader is enabled or disabled for user input.","         *","         * @attribute enabled","         * @type {Boolean}","         * @default true","         */","        enabled : {","            value: true","        },","","        /**","         * The action  performed when an upload error occurs for a specific file being uploaded.","         * The possible values are: ","         * <ul>","         *   <li> <strong>`UploaderQueue.CONTINUE`</strong>: the error is ignored and the upload process is continued.</li>","         *   <li> <strong>`UploaderQueue.STOP`</strong>: the upload process is stopped as soon as any other parallel file","         *     uploads are finished.</li>","         *   <li> <strong>`UploaderQueue.RESTART_ASAP`</strong>: the file is added back to the front of the queue.</li>","         *   <li> <strong>`UploaderQueue.RESTART_AFTER`</strong>: the file is added to the back of the queue.</li>","         * </ul>","         * @attribute errorAction","         * @type {String}","         * @default UploaderQueue.CONTINUE","         */","        errorAction: {","            value: \"continue\",","            validator: function (val, name) {","                 return (val === UploaderQueue.CONTINUE || val === UploaderQueue.STOP || val === UploaderQueue.RESTART_ASAP || val === UploaderQueue.RESTART_AFTER);           ","             }","        },","","        /**","         * An array indicating what fileFilters should be applied to the file","         * selection dialog. Each element in the array should be an object with","         * the following key-value pairs:","         * {","         *   description : String           ","             extensions: String of the form &lquot;*.ext1;*.ext2;*.ext3;...&rquot;","         * }","         * @attribute fileFilters","         * @type {Array}","         * @default []","         */","        fileFilters: {","          value: []","        },","","        /**","         * A filtering function that is applied to every file selected by the user.","         * The function receives the `Y.File` object and must return a Boolean value.","         * If a `false` value is returned, the file in question is not added to the","         * list of files to be uploaded.","         * Use this function to put limits on file sizes or check the file names for","         * correct extension, but make sure that a server-side check is also performed,","         * since any client-side restrictions are only advisory and can be circumvented.","         *","         * @attribute fileFilterFunction","         * @type {Function}","         * @default null","         */","        fileFilterFunction: {","          value: null","        },","         ","        /**","         * A String specifying what should be the POST field name for the file","         * content in the upload request.","         *","         * @attribute fileFieldName","         * @type {String}","         * @default Filedata","         */","        fileFieldName: {","          value: \"Filedata\"","        },","","        /**","         * The array of files to be uploaded. All elements in the array","       * must be instances of `Y.FileFlash` and be instantiated with a `fileId`","       * retrieved from an instance of the uploader.","         *","         * @attribute fileList","         * @type {Array}","         * @default []","         */","        fileList: {","          value: [],","          getter: \"_getFileList\",","          setter: \"_setFileList\"","        },","","        /**","         * A Boolean indicating whether multiple file selection is enabled.","         *","         * @attribute multipleFiles","         * @type {Boolean}","         * @default false","         */","        multipleFiles: {","          value: false","        },","","        /**","         * An object, keyed by `fileId`, containing sets of key-value pairs","         * that should be passed as POST variables along with each corresponding","         * file. This attribute is only used if no POST variables are specifed","         * in the upload method call.","         *","         * @attribute postVarsPerFile","         * @type {Object}","         * @default {}","         */","        postVarsPerFile: {","          value: {}","        },","","        /**","         * The label for the \"Select Files\" widget. This is the value that replaces the","         * `{selectButtonLabel}` token in the `SELECT_FILES_BUTTON` template.","         * ","         * @attribute selectButtonLabel","         * @type {String}","         * @default \"Select Files\"","         */","        selectButtonLabel: {","            value: \"Select Files\"","        },","","        /**","         * The widget that serves as the \"Select Files\" control for the file uploader","         * ","         *","         * @attribute selectFilesButton","         * @type {Node | Widget}","         * @default A standard HTML button with YUI CSS Button skin.","         */","        selectFilesButton : {","           valueFn: function () {","                     return Y.Node.create(substitute(Y.UploaderFlash.SELECT_FILES_BUTTON, {selectButtonLabel: this.get(\"selectButtonLabel\")}));","                 }","         },","     ","        /**","         * The number of files that can be uploaded","         * simultaneously if the automatic queue management","         * is used. This value can be in the range between 2","         * and 5.","         *","         * @attribute simLimit","         * @type {Number}","         * @default 2","         */","        simLimit: {","                value: 2,","                validator: function (val, name) {","                    return (val >= 2 && val <= 5);","                }","            },","","        /**","         * The URL to the SWF file of the flash uploader. A copy local to","         * the server that hosts the page on which the uploader appears is","         * recommended.","         *","         * @attribute swfURL","         * @type {String}","         * @default \"CDN Prefix + uploader/assets/flashuploader.swf\" with a ","         * random GET parameter for IE (to prevent buggy behavior when the SWF ","         * is cached).","         */","        swfURL: {","          valueFn: function () {","            var prefix = Y.Env.cdn + \"uploader/assets/flashuploader.swf\";","","            if (Y.UA.ie > 0) {","              return (prefix + \"?t=\" + Y.guid(\"uploader\"));","            }","            return prefix;","          }","        },","","        /**","         * The id's or `Node` references of the DOM elements that precede","         * and follow the `Select Files` button in the tab order. Specifying","         * these allows keyboard navigation to and from the Flash player","         * layer of the uploader.","         * The two keys corresponding to the DOM elements are:","           <ul>","         *   <li> `from`: the id or the `Node` reference corresponding to the","         *     DOM element that precedes the `Select Files` button in the tab order.</li>","         *   <li> `to`: the id or the `Node` reference corresponding to the","         *     DOM element that follows the `Select Files` button in the tab order.</li>","         * </ul>","         * @attribute tabElements","         * @type {Object}","         * @default null","         */","        tabElements: {","            value: null","        },","","        /**","         * The URL to which file upload requested are POSTed. Only used if a different url is not passed to the upload method call.","         *","         * @attribute uploadURL","         * @type {String}","         * @default \"\"","         */","        uploadURL: {","          value: \"\"","        },","","        /**","         * The number of times to try re-uploading a file that failed to upload before","         * cancelling its upload.","         *","         * @attribute retryCount","         * @type {Number}","         * @default 3","         */ ","         retryCount: {","           value: 3","         }","  }","});","","Y.UploaderFlash.Queue = UploaderQueue;","","","","","}, '@VERSION@', {","    \"requires\": [","        \"swf\",","        \"widget\",","        \"substitute\",","        \"base\",","        \"cssbutton\",","        \"node\",","        \"event-custom\",","        \"file-flash\",","        \"uploader-queue\"","    ]","});","","}());"]};
}
var __cov_H2imwewODq4$fnpUwROFpA = __coverage__['build/uploader-flash/uploader-flash.js'];
__cov_H2imwewODq4$fnpUwROFpA.s['1']++;FOO.add('uploader-flash',function(F,NAME){__cov_H2imwewODq4$fnpUwROFpA.f['1']++;__cov_H2imwewODq4$fnpUwROFpA.s['2']++;var substitute=Y.substitute,UploaderQueue=Y.Uploader.Queue,getCN=Y.ClassNameManager.getClassName,UPLOADER='uploader',SELECT_FILES=getCN(UPLOADER,'selectfiles-button');__cov_H2imwewODq4$fnpUwROFpA.s['3']++;function UploaderFlash(config){__cov_H2imwewODq4$fnpUwROFpA.f['2']++;__cov_H2imwewODq4$fnpUwROFpA.s['4']++;UploaderFlash.superclass.constructor.apply(this,arguments);}__cov_H2imwewODq4$fnpUwROFpA.s['5']++;Y.UploaderFlash=Y.extend(UploaderFlash,Y.Widget,{_buttonState:'up',_buttonFocus:false,_swfContainerId:null,_swfReference:null,queue:null,_tabElementBindings:null,initializer:function(){__cov_H2imwewODq4$fnpUwROFpA.f['3']++;__cov_H2imwewODq4$fnpUwROFpA.s['6']++;this._swfContainerId=Y.guid('uploader');__cov_H2imwewODq4$fnpUwROFpA.s['7']++;this._swfReference=null;__cov_H2imwewODq4$fnpUwROFpA.s['8']++;this.queue=null;__cov_H2imwewODq4$fnpUwROFpA.s['9']++;this._buttonState='up';__cov_H2imwewODq4$fnpUwROFpA.s['10']++;this._buttonFocus=null;__cov_H2imwewODq4$fnpUwROFpA.s['11']++;this._tabElementBindings=null;__cov_H2imwewODq4$fnpUwROFpA.s['12']++;this._fileList=[];__cov_H2imwewODq4$fnpUwROFpA.s['13']++;this.publish('fileselect');__cov_H2imwewODq4$fnpUwROFpA.s['14']++;this.publish('uploadstart');__cov_H2imwewODq4$fnpUwROFpA.s['15']++;this.publish('fileuploadstart');__cov_H2imwewODq4$fnpUwROFpA.s['16']++;this.publish('uploadprogress');__cov_H2imwewODq4$fnpUwROFpA.s['17']++;this.publish('totaluploadprogress');__cov_H2imwewODq4$fnpUwROFpA.s['18']++;this.publish('uploadcomplete');__cov_H2imwewODq4$fnpUwROFpA.s['19']++;this.publish('alluploadscomplete');__cov_H2imwewODq4$fnpUwROFpA.s['20']++;this.publish('uploaderror');__cov_H2imwewODq4$fnpUwROFpA.s['21']++;this.publish('mouseenter');__cov_H2imwewODq4$fnpUwROFpA.s['22']++;this.publish('mouseleave');__cov_H2imwewODq4$fnpUwROFpA.s['23']++;this.publish('mousedown');__cov_H2imwewODq4$fnpUwROFpA.s['24']++;this.publish('mouseup');__cov_H2imwewODq4$fnpUwROFpA.s['25']++;this.publish('click');},renderUI:function(){__cov_H2imwewODq4$fnpUwROFpA.f['4']++;__cov_H2imwewODq4$fnpUwROFpA.s['26']++;var boundingBox=this.get('boundingBox'),contentBox=this.get('contentBox'),selFilesButton=this.get('selectFilesButton');__cov_H2imwewODq4$fnpUwROFpA.s['27']++;boundingBox.setStyle('position','relative');__cov_H2imwewODq4$fnpUwROFpA.s['28']++;selFilesButton.setStyles({width:'100%',height:'100%'});__cov_H2imwewODq4$fnpUwROFpA.s['29']++;contentBox.append(selFilesButton);__cov_H2imwewODq4$fnpUwROFpA.s['30']++;contentBox.append(Y.Node.create(substitute(UploaderFlash.FLASH_CONTAINER,{swfContainerId:this._swfContainerId})));__cov_H2imwewODq4$fnpUwROFpA.s['31']++;var flashContainer=Y.one('#'+this._swfContainerId);__cov_H2imwewODq4$fnpUwROFpA.s['32']++;var params={version:'10.0.45',fixedAttributes:{wmode:'transparent',allowScriptAccess:'always',allowNetworking:'all',scale:'noscale'}};__cov_H2imwewODq4$fnpUwROFpA.s['33']++;this._swfReference=new Y.SWF(flashContainer,this.get('swfURL'),params);},bindUI:function(){__cov_H2imwewODq4$fnpUwROFpA.f['5']++;__cov_H2imwewODq4$fnpUwROFpA.s['34']++;this._swfReference.on('swfReady',function(){__cov_H2imwewODq4$fnpUwROFpA.f['6']++;__cov_H2imwewODq4$fnpUwROFpA.s['35']++;this._setMultipleFiles();__cov_H2imwewODq4$fnpUwROFpA.s['36']++;this._setFileFilters();__cov_H2imwewODq4$fnpUwROFpA.s['37']++;this._triggerEnabled();__cov_H2imwewODq4$fnpUwROFpA.s['38']++;this._attachTabElements();__cov_H2imwewODq4$fnpUwROFpA.s['39']++;this.after('multipleFilesChange',this._setMultipleFiles,this);__cov_H2imwewODq4$fnpUwROFpA.s['40']++;this.after('fileFiltersChange',this._setFileFilters,this);__cov_H2imwewODq4$fnpUwROFpA.s['41']++;this.after('enabledChange',this._triggerEnabled,this);__cov_H2imwewODq4$fnpUwROFpA.s['42']++;this.after('tabElementsChange',this._attachTabElements);},this);__cov_H2imwewODq4$fnpUwROFpA.s['43']++;this._swfReference.on('fileselect',this._updateFileList,this);__cov_H2imwewODq4$fnpUwROFpA.s['44']++;this._swfReference.on('mouseenter',function(){__cov_H2imwewODq4$fnpUwROFpA.f['7']++;__cov_H2imwewODq4$fnpUwROFpA.s['45']++;this.fire('mouseenter');__cov_H2imwewODq4$fnpUwROFpA.s['46']++;this._setButtonClass('hover',true);__cov_H2imwewODq4$fnpUwROFpA.s['47']++;if(this._buttonState=='down'){__cov_H2imwewODq4$fnpUwROFpA.b['1'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['48']++;this._setButtonClass('active',true);}else{__cov_H2imwewODq4$fnpUwROFpA.b['1'][1]++;}},this);__cov_H2imwewODq4$fnpUwROFpA.s['49']++;this._swfReference.on('mouseleave',function(){__cov_H2imwewODq4$fnpUwROFpA.f['8']++;__cov_H2imwewODq4$fnpUwROFpA.s['50']++;this.fire('mouseleave');__cov_H2imwewODq4$fnpUwROFpA.s['51']++;this._setButtonClass('hover',false);__cov_H2imwewODq4$fnpUwROFpA.s['52']++;this._setButtonClass('active',false);},this);__cov_H2imwewODq4$fnpUwROFpA.s['53']++;this._swfReference.on('mousedown',function(){__cov_H2imwewODq4$fnpUwROFpA.f['9']++;__cov_H2imwewODq4$fnpUwROFpA.s['54']++;this.fire('mousedown');__cov_H2imwewODq4$fnpUwROFpA.s['55']++;this._buttonState='down';__cov_H2imwewODq4$fnpUwROFpA.s['56']++;this._setButtonClass('active',true);},this);__cov_H2imwewODq4$fnpUwROFpA.s['57']++;this._swfReference.on('mouseup',function(){__cov_H2imwewODq4$fnpUwROFpA.f['10']++;__cov_H2imwewODq4$fnpUwROFpA.s['58']++;this.fire('mouseup');__cov_H2imwewODq4$fnpUwROFpA.s['59']++;this._buttonState='up';__cov_H2imwewODq4$fnpUwROFpA.s['60']++;this._setButtonClass('active',false);},this);__cov_H2imwewODq4$fnpUwROFpA.s['61']++;this._swfReference.on('click',function(){__cov_H2imwewODq4$fnpUwROFpA.f['11']++;__cov_H2imwewODq4$fnpUwROFpA.s['62']++;this.fire('click');__cov_H2imwewODq4$fnpUwROFpA.s['63']++;this._buttonFocus=true;__cov_H2imwewODq4$fnpUwROFpA.s['64']++;this._setButtonClass('focus',true);__cov_H2imwewODq4$fnpUwROFpA.s['65']++;Y.one('body').focus();__cov_H2imwewODq4$fnpUwROFpA.s['66']++;this._swfReference._swf.focus();},this);},_attachTabElements:function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['12']++;__cov_H2imwewODq4$fnpUwROFpA.s['67']++;if((__cov_H2imwewODq4$fnpUwROFpA.b['3'][0]++,this.get('tabElements')!==null)&&(__cov_H2imwewODq4$fnpUwROFpA.b['3'][1]++,this.get('tabElements').from!==null)&&(__cov_H2imwewODq4$fnpUwROFpA.b['3'][2]++,this.get('tabElements').to!==null)){__cov_H2imwewODq4$fnpUwROFpA.b['2'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['68']++;if(this._tabElementBindings!==null){__cov_H2imwewODq4$fnpUwROFpA.b['4'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['69']++;this._tabElementBindings.from.detach();__cov_H2imwewODq4$fnpUwROFpA.s['70']++;this._tabElementBindings.to.detach();__cov_H2imwewODq4$fnpUwROFpA.s['71']++;this._tabElementBindings.tabback.detach();__cov_H2imwewODq4$fnpUwROFpA.s['72']++;this._tabElementBindings.tabforward.detach();__cov_H2imwewODq4$fnpUwROFpA.s['73']++;this._tabElementBindings.focus.detach();__cov_H2imwewODq4$fnpUwROFpA.s['74']++;this._tabElementBindings.blur.detach();}else{__cov_H2imwewODq4$fnpUwROFpA.b['4'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['75']++;this._tabElementBindings={};}__cov_H2imwewODq4$fnpUwROFpA.s['76']++;var fromElement=Y.one(this.get('tabElements').from);__cov_H2imwewODq4$fnpUwROFpA.s['77']++;var toElement=Y.one(this.get('tabElements').to);__cov_H2imwewODq4$fnpUwROFpA.s['78']++;this._tabElementBindings.from=fromElement.on('keydown',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['13']++;__cov_H2imwewODq4$fnpUwROFpA.s['79']++;if((__cov_H2imwewODq4$fnpUwROFpA.b['6'][0]++,ev.keyCode==9)&&(__cov_H2imwewODq4$fnpUwROFpA.b['6'][1]++,!ev.shiftKey)){__cov_H2imwewODq4$fnpUwROFpA.b['5'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['80']++;ev.preventDefault();__cov_H2imwewODq4$fnpUwROFpA.s['81']++;this._swfReference._swf.setAttribute('tabindex',0);__cov_H2imwewODq4$fnpUwROFpA.s['82']++;this._swfReference._swf.setAttribute('role','button');__cov_H2imwewODq4$fnpUwROFpA.s['83']++;this._swfReference._swf.setAttribute('aria-label',this.get('selectButtonLabel'));__cov_H2imwewODq4$fnpUwROFpA.s['84']++;this._swfReference._swf.focus();}else{__cov_H2imwewODq4$fnpUwROFpA.b['5'][1]++;}},this);__cov_H2imwewODq4$fnpUwROFpA.s['85']++;this._tabElementBindings.to=toElement.on('keydown',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['14']++;__cov_H2imwewODq4$fnpUwROFpA.s['86']++;if((__cov_H2imwewODq4$fnpUwROFpA.b['8'][0]++,ev.keyCode==9)&&(__cov_H2imwewODq4$fnpUwROFpA.b['8'][1]++,ev.shiftKey)){__cov_H2imwewODq4$fnpUwROFpA.b['7'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['87']++;ev.preventDefault();__cov_H2imwewODq4$fnpUwROFpA.s['88']++;this._swfReference._swf.setAttribute('tabindex',0);__cov_H2imwewODq4$fnpUwROFpA.s['89']++;this._swfReference._swf.setAttribute('role','button');__cov_H2imwewODq4$fnpUwROFpA.s['90']++;this._swfReference._swf.setAttribute('aria-label',this.get('selectButtonLabel'));__cov_H2imwewODq4$fnpUwROFpA.s['91']++;this._swfReference._swf.focus();}else{__cov_H2imwewODq4$fnpUwROFpA.b['7'][1]++;}},this);__cov_H2imwewODq4$fnpUwROFpA.s['92']++;this._tabElementBindings.tabback=this._swfReference.on('tabback',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['15']++;__cov_H2imwewODq4$fnpUwROFpA.s['93']++;this._swfReference._swf.blur();__cov_H2imwewODq4$fnpUwROFpA.s['94']++;setTimeout(function(){__cov_H2imwewODq4$fnpUwROFpA.f['16']++;__cov_H2imwewODq4$fnpUwROFpA.s['95']++;fromElement.focus();},30);},this);__cov_H2imwewODq4$fnpUwROFpA.s['96']++;this._tabElementBindings.tabforward=this._swfReference.on('tabforward',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['17']++;__cov_H2imwewODq4$fnpUwROFpA.s['97']++;this._swfReference._swf.blur();__cov_H2imwewODq4$fnpUwROFpA.s['98']++;setTimeout(function(){__cov_H2imwewODq4$fnpUwROFpA.f['18']++;__cov_H2imwewODq4$fnpUwROFpA.s['99']++;toElement.focus();},30);},this);__cov_H2imwewODq4$fnpUwROFpA.s['100']++;this._tabElementBindings.focus=this._swfReference._swf.on('focus',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['19']++;__cov_H2imwewODq4$fnpUwROFpA.s['101']++;this._buttonFocus=true;__cov_H2imwewODq4$fnpUwROFpA.s['102']++;this._setButtonClass('focus',true);},this);__cov_H2imwewODq4$fnpUwROFpA.s['103']++;this._tabElementBindings.blur=this._swfReference._swf.on('blur',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['20']++;__cov_H2imwewODq4$fnpUwROFpA.s['104']++;this._buttonFocus=false;__cov_H2imwewODq4$fnpUwROFpA.s['105']++;this._setButtonClass('focus',false);},this);}else{__cov_H2imwewODq4$fnpUwROFpA.b['2'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['106']++;if(this._tabElementBindings!==null){__cov_H2imwewODq4$fnpUwROFpA.b['9'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['107']++;this._tabElementBindings.from.detach();__cov_H2imwewODq4$fnpUwROFpA.s['108']++;this._tabElementBindings.to.detach();__cov_H2imwewODq4$fnpUwROFpA.s['109']++;this._tabElementBindings.tabback.detach();__cov_H2imwewODq4$fnpUwROFpA.s['110']++;this._tabElementBindings.tabforward.detach();__cov_H2imwewODq4$fnpUwROFpA.s['111']++;this._tabElementBindings.focus.detach();__cov_H2imwewODq4$fnpUwROFpA.s['112']++;this._tabElementBindings.blur.detach();}else{__cov_H2imwewODq4$fnpUwROFpA.b['9'][1]++;}}},_setButtonClass:function(state,add){__cov_H2imwewODq4$fnpUwROFpA.f['21']++;__cov_H2imwewODq4$fnpUwROFpA.s['113']++;if(add){__cov_H2imwewODq4$fnpUwROFpA.b['10'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['114']++;this.get('selectFilesButton').addClass(this.get('buttonClassNames')[state]);}else{__cov_H2imwewODq4$fnpUwROFpA.b['10'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['115']++;this.get('selectFilesButton').removeClass(this.get('buttonClassNames')[state]);}},_setFileFilters:function(){__cov_H2imwewODq4$fnpUwROFpA.f['22']++;__cov_H2imwewODq4$fnpUwROFpA.s['116']++;if((__cov_H2imwewODq4$fnpUwROFpA.b['12'][0]++,this._swfReference)&&(__cov_H2imwewODq4$fnpUwROFpA.b['12'][1]++,this.get('fileFilters').length>0)){__cov_H2imwewODq4$fnpUwROFpA.b['11'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['117']++;this._swfReference.callSWF('setFileFilters',[this.get('fileFilters')]);}else{__cov_H2imwewODq4$fnpUwROFpA.b['11'][1]++;}},_setMultipleFiles:function(){__cov_H2imwewODq4$fnpUwROFpA.f['23']++;__cov_H2imwewODq4$fnpUwROFpA.s['118']++;if(this._swfReference){__cov_H2imwewODq4$fnpUwROFpA.b['13'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['119']++;this._swfReference.callSWF('setAllowMultipleFiles',[this.get('multipleFiles')]);}else{__cov_H2imwewODq4$fnpUwROFpA.b['13'][1]++;}},_triggerEnabled:function(){__cov_H2imwewODq4$fnpUwROFpA.f['24']++;__cov_H2imwewODq4$fnpUwROFpA.s['120']++;if(this.get('enabled')){__cov_H2imwewODq4$fnpUwROFpA.b['14'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['121']++;this._swfReference.callSWF('enable');__cov_H2imwewODq4$fnpUwROFpA.s['122']++;this._swfReference._swf.setAttribute('aria-disabled','false');__cov_H2imwewODq4$fnpUwROFpA.s['123']++;this._setButtonClass('disabled',false);}else{__cov_H2imwewODq4$fnpUwROFpA.b['14'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['124']++;this._swfReference.callSWF('disable');__cov_H2imwewODq4$fnpUwROFpA.s['125']++;this._swfReference._swf.setAttribute('aria-disabled','true');__cov_H2imwewODq4$fnpUwROFpA.s['126']++;this._setButtonClass('disabled',true);}},_getFileList:function(arr){__cov_H2imwewODq4$fnpUwROFpA.f['25']++;__cov_H2imwewODq4$fnpUwROFpA.s['127']++;return this._fileList.concat();},_setFileList:function(val){__cov_H2imwewODq4$fnpUwROFpA.f['26']++;__cov_H2imwewODq4$fnpUwROFpA.s['128']++;this._fileList=val.concat();__cov_H2imwewODq4$fnpUwROFpA.s['129']++;return this._fileList.concat();},_updateFileList:function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['27']++;__cov_H2imwewODq4$fnpUwROFpA.s['130']++;Y.one('body').focus();__cov_H2imwewODq4$fnpUwROFpA.s['131']++;this._swfReference._swf.focus();__cov_H2imwewODq4$fnpUwROFpA.s['132']++;var newfiles=ev.fileList,fileConfObjects=[],parsedFiles=[],swfRef=this._swfReference,filterFunc=this.get('fileFilterFunction');__cov_H2imwewODq4$fnpUwROFpA.s['133']++;Y.each(newfiles,function(value){__cov_H2imwewODq4$fnpUwROFpA.f['28']++;__cov_H2imwewODq4$fnpUwROFpA.s['134']++;var newFileConf={};__cov_H2imwewODq4$fnpUwROFpA.s['135']++;newFileConf.id=value.fileId;__cov_H2imwewODq4$fnpUwROFpA.s['136']++;newFileConf.name=value.fileReference.name;__cov_H2imwewODq4$fnpUwROFpA.s['137']++;newFileConf.size=value.fileReference.size;__cov_H2imwewODq4$fnpUwROFpA.s['138']++;newFileConf.type=value.fileReference.type;__cov_H2imwewODq4$fnpUwROFpA.s['139']++;newFileConf.dateCreated=value.fileReference.creationDate;__cov_H2imwewODq4$fnpUwROFpA.s['140']++;newFileConf.dateModified=value.fileReference.modificationDate;__cov_H2imwewODq4$fnpUwROFpA.s['141']++;newFileConf.uploader=swfRef;__cov_H2imwewODq4$fnpUwROFpA.s['142']++;fileConfObjects.push(newFileConf);});__cov_H2imwewODq4$fnpUwROFpA.s['143']++;if(filterFunc){__cov_H2imwewODq4$fnpUwROFpA.b['15'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['144']++;Y.each(fileConfObjects,function(value){__cov_H2imwewODq4$fnpUwROFpA.f['29']++;__cov_H2imwewODq4$fnpUwROFpA.s['145']++;var newfile=new Y.FileFlash(value);__cov_H2imwewODq4$fnpUwROFpA.s['146']++;if(filterFunc(newfile)){__cov_H2imwewODq4$fnpUwROFpA.b['16'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['147']++;parsedFiles.push(newfile);}else{__cov_H2imwewODq4$fnpUwROFpA.b['16'][1]++;}});}else{__cov_H2imwewODq4$fnpUwROFpA.b['15'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['148']++;Y.each(fileConfObjects,function(value){__cov_H2imwewODq4$fnpUwROFpA.f['30']++;__cov_H2imwewODq4$fnpUwROFpA.s['149']++;parsedFiles.push(new Y.FileFlash(value));});}__cov_H2imwewODq4$fnpUwROFpA.s['150']++;if(parsedFiles.length>0){__cov_H2imwewODq4$fnpUwROFpA.b['17'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['151']++;var oldfiles=this.get('fileList');__cov_H2imwewODq4$fnpUwROFpA.s['152']++;this.set('fileList',this.get('appendNewFiles')?(__cov_H2imwewODq4$fnpUwROFpA.b['18'][0]++,oldfiles.concat(parsedFiles)):(__cov_H2imwewODq4$fnpUwROFpA.b['18'][1]++,parsedFiles));__cov_H2imwewODq4$fnpUwROFpA.s['153']++;this.fire('fileselect',{fileList:parsedFiles});}else{__cov_H2imwewODq4$fnpUwROFpA.b['17'][1]++;}},_uploadEventHandler:function(event){__cov_H2imwewODq4$fnpUwROFpA.f['31']++;__cov_H2imwewODq4$fnpUwROFpA.s['154']++;switch(event.type){case'file:uploadstart':__cov_H2imwewODq4$fnpUwROFpA.b['19'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['155']++;this.fire('fileuploadstart',event);__cov_H2imwewODq4$fnpUwROFpA.s['156']++;break;case'file:uploadprogress':__cov_H2imwewODq4$fnpUwROFpA.b['19'][1]++;__cov_H2imwewODq4$fnpUwROFpA.s['157']++;this.fire('uploadprogress',event);__cov_H2imwewODq4$fnpUwROFpA.s['158']++;break;case'uploaderqueue:totaluploadprogress':__cov_H2imwewODq4$fnpUwROFpA.b['19'][2]++;__cov_H2imwewODq4$fnpUwROFpA.s['159']++;this.fire('totaluploadprogress',event);__cov_H2imwewODq4$fnpUwROFpA.s['160']++;break;case'file:uploadcomplete':__cov_H2imwewODq4$fnpUwROFpA.b['19'][3]++;__cov_H2imwewODq4$fnpUwROFpA.s['161']++;this.fire('uploadcomplete',event);__cov_H2imwewODq4$fnpUwROFpA.s['162']++;break;case'uploaderqueue:alluploadscomplete':__cov_H2imwewODq4$fnpUwROFpA.b['19'][4]++;__cov_H2imwewODq4$fnpUwROFpA.s['163']++;this.queue=null;__cov_H2imwewODq4$fnpUwROFpA.s['164']++;this.fire('alluploadscomplete',event);__cov_H2imwewODq4$fnpUwROFpA.s['165']++;break;case'file:uploaderror':__cov_H2imwewODq4$fnpUwROFpA.b['19'][5]++;case'uploaderqueue:uploaderror':__cov_H2imwewODq4$fnpUwROFpA.b['19'][6]++;__cov_H2imwewODq4$fnpUwROFpA.s['166']++;this.fire('uploaderror',event);__cov_H2imwewODq4$fnpUwROFpA.s['167']++;break;case'file:uploadcancel':__cov_H2imwewODq4$fnpUwROFpA.b['19'][7]++;case'uploaderqueue:uploadcancel':__cov_H2imwewODq4$fnpUwROFpA.b['19'][8]++;__cov_H2imwewODq4$fnpUwROFpA.s['168']++;this.fire('uploadcancel',event);__cov_H2imwewODq4$fnpUwROFpA.s['169']++;break;}},upload:function(file,url,postvars){__cov_H2imwewODq4$fnpUwROFpA.f['32']++;__cov_H2imwewODq4$fnpUwROFpA.s['170']++;var uploadURL=(__cov_H2imwewODq4$fnpUwROFpA.b['20'][0]++,url)||(__cov_H2imwewODq4$fnpUwROFpA.b['20'][1]++,this.get('uploadURL')),postVars=(__cov_H2imwewODq4$fnpUwROFpA.b['21'][0]++,postvars)||(__cov_H2imwewODq4$fnpUwROFpA.b['21'][1]++,this.get('postVarsPerFile')),fileId=file.get('id');__cov_H2imwewODq4$fnpUwROFpA.s['171']++;postVars=postVars.hasOwnProperty(fileId)?(__cov_H2imwewODq4$fnpUwROFpA.b['22'][0]++,postVars[fileId]):(__cov_H2imwewODq4$fnpUwROFpA.b['22'][1]++,postVars);__cov_H2imwewODq4$fnpUwROFpA.s['172']++;if(file instanceof Y.FileFlash){__cov_H2imwewODq4$fnpUwROFpA.b['23'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['173']++;file.on('uploadstart',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['174']++;file.on('uploadprogress',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['175']++;file.on('uploadcomplete',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['176']++;file.on('uploaderror',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['177']++;file.on('uploadcancel',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['178']++;file.startUpload(uploadURL,postVars,this.get('fileFieldName'));}else{__cov_H2imwewODq4$fnpUwROFpA.b['23'][1]++;}},uploadAll:function(url,postvars){__cov_H2imwewODq4$fnpUwROFpA.f['33']++;__cov_H2imwewODq4$fnpUwROFpA.s['179']++;this.uploadThese(this.get('fileList'),url,postvars);},uploadThese:function(files,url,postvars){__cov_H2imwewODq4$fnpUwROFpA.f['34']++;__cov_H2imwewODq4$fnpUwROFpA.s['180']++;if(!this.queue){__cov_H2imwewODq4$fnpUwROFpA.b['24'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['181']++;var uploadURL=(__cov_H2imwewODq4$fnpUwROFpA.b['25'][0]++,url)||(__cov_H2imwewODq4$fnpUwROFpA.b['25'][1]++,this.get('uploadURL')),postVars=(__cov_H2imwewODq4$fnpUwROFpA.b['26'][0]++,postvars)||(__cov_H2imwewODq4$fnpUwROFpA.b['26'][1]++,this.get('postVarsPerFile'));__cov_H2imwewODq4$fnpUwROFpA.s['182']++;this.queue=new UploaderQueue({simUploads:this.get('simLimit'),errorAction:this.get('errorAction'),fileFieldName:this.get('fileFieldName'),fileList:files,uploadURL:uploadURL,perFileParameters:postVars,retryCount:this.get('retryCount')});__cov_H2imwewODq4$fnpUwROFpA.s['183']++;this.queue.on('uploadstart',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['184']++;this.queue.on('uploadprogress',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['185']++;this.queue.on('totaluploadprogress',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['186']++;this.queue.on('uploadcomplete',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['187']++;this.queue.on('alluploadscomplete',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['188']++;this.queue.on('alluploadscancelled',function(ev){__cov_H2imwewODq4$fnpUwROFpA.f['35']++;__cov_H2imwewODq4$fnpUwROFpA.s['189']++;this.queue=null;},this);__cov_H2imwewODq4$fnpUwROFpA.s['190']++;this.queue.on('uploaderror',this._uploadEventHandler,this);__cov_H2imwewODq4$fnpUwROFpA.s['191']++;this.queue.startUpload();__cov_H2imwewODq4$fnpUwROFpA.s['192']++;this.fire('uploadstart');}else{__cov_H2imwewODq4$fnpUwROFpA.b['24'][1]++;}}},{FLASH_CONTAINER:'<div id=\'{swfContainerId}\' style=\'position:absolute; top:0px; left: 0px; margin: 0; padding: 0; border: 0; width:100%; height:100%\'></div>',SELECT_FILES_BUTTON:'<button type=\'button\' class=\'yui3-button\' tabindex=\'-1\'>{selectButtonLabel}</button>',TYPE:'flash',NAME:'uploader',ATTRS:{appendNewFiles:{value:true},buttonClassNames:{value:{'hover':'yui3-button-hover','active':'yui3-button-active','disabled':'yui3-button-disabled','focus':'yui3-button-selected'}},enabled:{value:true},errorAction:{value:'continue',validator:function(val,name){__cov_H2imwewODq4$fnpUwROFpA.f['36']++;__cov_H2imwewODq4$fnpUwROFpA.s['193']++;return(__cov_H2imwewODq4$fnpUwROFpA.b['27'][0]++,val===UploaderQueue.CONTINUE)||(__cov_H2imwewODq4$fnpUwROFpA.b['27'][1]++,val===UploaderQueue.STOP)||(__cov_H2imwewODq4$fnpUwROFpA.b['27'][2]++,val===UploaderQueue.RESTART_ASAP)||(__cov_H2imwewODq4$fnpUwROFpA.b['27'][3]++,val===UploaderQueue.RESTART_AFTER);}},fileFilters:{value:[]},fileFilterFunction:{value:null},fileFieldName:{value:'Filedata'},fileList:{value:[],getter:'_getFileList',setter:'_setFileList'},multipleFiles:{value:false},postVarsPerFile:{value:{}},selectButtonLabel:{value:'Select Files'},selectFilesButton:{valueFn:function(){__cov_H2imwewODq4$fnpUwROFpA.f['37']++;__cov_H2imwewODq4$fnpUwROFpA.s['194']++;return Y.Node.create(substitute(Y.UploaderFlash.SELECT_FILES_BUTTON,{selectButtonLabel:this.get('selectButtonLabel')}));}},simLimit:{value:2,validator:function(val,name){__cov_H2imwewODq4$fnpUwROFpA.f['38']++;__cov_H2imwewODq4$fnpUwROFpA.s['195']++;return(__cov_H2imwewODq4$fnpUwROFpA.b['28'][0]++,val>=2)&&(__cov_H2imwewODq4$fnpUwROFpA.b['28'][1]++,val<=5);}},swfURL:{valueFn:function(){__cov_H2imwewODq4$fnpUwROFpA.f['39']++;__cov_H2imwewODq4$fnpUwROFpA.s['196']++;var prefix=Y.Env.cdn+'uploader/assets/flashuploader.swf';__cov_H2imwewODq4$fnpUwROFpA.s['197']++;if(Y.UA.ie>0){__cov_H2imwewODq4$fnpUwROFpA.b['29'][0]++;__cov_H2imwewODq4$fnpUwROFpA.s['198']++;return prefix+'?t='+Y.guid('uploader');}else{__cov_H2imwewODq4$fnpUwROFpA.b['29'][1]++;}__cov_H2imwewODq4$fnpUwROFpA.s['199']++;return prefix;}},tabElements:{value:null},uploadURL:{value:''},retryCount:{value:3}}});__cov_H2imwewODq4$fnpUwROFpA.s['200']++;Y.UploaderFlash.Queue=UploaderQueue;},'@VERSION@',{'requires':['swf','widget','substitute','base','cssbutton','node','event-custom','file-flash','uploader-queue']});
