{"version":3,"file":"angular-strap.min.js","sources":["module.js","affix/affix.js","aside/aside.js","alert/alert.js","button/button.js","collapse/collapse.js","datepicker/datepicker.js","dropdown/dropdown.js","helpers/date-parser.js","helpers/debounce.js","helpers/dimensions.js","helpers/parse-options.js","helpers/raf.js","modal/modal.js","navbar/navbar.js","popover/popover.js","scrollspy/scrollspy.js","select/select.js","tab/tab.js","timepicker/timepicker.js","tooltip/tooltip.js","typeahead/typeahead.js"],"names":[],"mappings":"UAOE,EAAA,wBAGA,OAAA,kBACA,uBACA,uBACA,uBACA,wBACA,wBACA,4BACA,4BACF,iDClBA,mDAEA,sDAEE,gFAME,OAAA,wBAAY,oCAAA,6CAEV,SAAA,gCAGA,UAAA,6EAQE,GAAA,EAAA,WAiJI,GAAA,EAAA,EAAA,MAEA,GAAA,IACF,EAAA,GAEA,OAAA,IAAA,QAEF,OAAA,GAAA,EAAA,GAAA,EAAA,aAEA,OAAA,GAAA,EAAA,IAAA,EAAA,GAAA,EAAA,EACE,kBAOF,QAAA,KACA,MAAA,GAAA,KAAA,EAAA,EAAA,YAAA,EAAA,GAAA,uBAIF,MAAA,GAAA,KAAA,EAAA,EAAA,SAAA,KAAA,aAAA,EAAA,GAAA,gBArKM,MAGA,EAAA,QAAA,UAAA,EAAA,GACA,EAAA,EAAA,OAGJ,EAAA,+BACA,EAAA,EACA,EAAA,EACE,EAAA,EACE,EAAA,IACE,KACF,EAAA,KAEF,EAAA,EAAA,YAEA,EAAA,aACF,GAAA,EAAA,aAAA,MAAA,8CAEA,EAAA,EAAA,+CAqJN,UA7IQ,KAAA,WAEA,EAAA,gBACA,EAAA,EAAA,OAAA,EAAA,IAAA,IAAA,iCAIF,EAAA,GAAA,QAAA,EAAA,gEAKE,EAAA,gBACA,EAAA,mDAOA,EAAA,IAAA,SAAA,EAAA,2DAEF,EAAA,IAAA,SAAA,EAAA,6DAME,WAAA,EAAA,cAAA,MAIA,cAAA,WAGA,GAAA,GAAA,IACA,EAAA,EAAA,OAAA,EAAA,+BAOE,KAAA,MACA,IAGE,YAAA,GAAA,SAAA,SAAA,WAAA,EAAA,IAAA,EAAA,KAEF,QAAA,KACE,OACA,IAAA,WAAA,EAAA,aAAA,GAAA,cACA,IAAA,MAAA,KACF,WAAA,GAEA,EADA,EAAA,cACA,EAAA,EAAA,aAKF,EAAA,IAAA,EAEF,EAAA,IAAA,WAAA,EAAA,aAAA,GAAA,0EAGE,EAAA,KACA,EAAA,IAAA,WAAA,SACF,EAAA,IAAA,MAAA,EAAA,WAKE,UAAA,WACA,EAAA,qCAGE,mBAAA,EAAA,EAAA,UAAA,MAEA,cAAA,aAGE,IAAA,WAAA,EAAA,aAAA,GAAA,cAEA,YACA,SAAA,EAAA,cACE,UAAA,MAEJ,EAAA,UAAA,MAAA,cACA,EAAA,GAAA,EAAA,UAEA,EADE,EAAA,aACF,EAAA,OAAA,EAAA,IAAA,IAAA,EAAA,EAAA,UAGF,EAAA,OAAA,EAAA,IAAA,IAAA,EAAA,IAAA,EAAA,GAAA,aAAA,GAAA,EAAA,EAAA,WAIE,EAAA,EAAA,EAAA,WAIF,EAAA,8HAMF,EAAA,EAAA,wBAkCN,KA9KM,GAAA,QAAA,QAAA,EAAA,SAAA,MACA,EAAA,QAAA,QAAA,EAiLJ,OAAA,iBAMI,WAAA,SAAA,UAAA,SAAA,EAAA,iCAIA,uBACA,SAAA,EAAA,EAAA,EAAA,MAEE,IAAA,MAAA,EAAA,UAAA,OAAA,OAAA,EAAA,EAAA,SAAA,QAAA,QAAA,YACA,SAAA,YAAA,eAAA,eAAA,eAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAGJ,IAAA,GAAA,EAAA,EAAA,+BAED,GAAA,EAAA,iBAED,EAAA,iDC1NF,0CAEE,KAAA,SAAA,eAMI,OAAA,wBAAA,kCAEA,SAAA,cAEA,GAAA,KAAA,UACA,UAAA,0BACA,YAAA,QACA,UAAA,QACF,SAAA,0CAEA,WAAY,eAEV,UAAA,oBAEE,kEAWF,EAAA,QAAA,UAAA,EAAA,EAIJ,OAFG,GAAA,EAAA,GAMD,MAAA,iBAMI,WAAA,UAAA,OAAA,SAAA,SAAA,EAAA,EAAA,GAEA,EAAA,uBAAA,EAAA,wCAIA,OACA,SAAA,EAAA,EAAA,MAEI,IAAA,MAAA,EAAA,QAAA,EAAA,MAAA,WACF,SAAA,WAAA,kBAAA,YAAA,WAAA,WAAA,OAAA,YAAA,aAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,cAIE,SAAA,QAAA,WAAA,SAAA,KACE,IAAA,EAAA,SAAA,EAAA,SAAA,GACF,EAAA,GAAA,EAAA,YAAA,OAKF,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,SAAA,GACA,QAAA,SAAA,uBAGA,EAAA,QAAA,IAEA,MAGE,GAAA,EAAA,iEAOP,GAAA,EAAA,UCvFH,EAAA,2BAcM,OAAA,wBAAA,kCAEA,SAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,QACA,UAAA,KACA,SAAA,uBACA,WAAA,EACF,QAAA,iBAEA,UAAY,4BAIR,6EAQA,GAAA,MAGA,EAAA,QAAA,UAAA,EAAA,EAEA,GAAA,EAAA,KAGE,OAAA,cAAA,EAAA,cACE,SACA,OAAA,KAAA,EAAA,KAIJ,IAAA,GAAA,EAAA,IAUN,qBARM,EAAA,KAAA,eAEF,EAAA,qBAEA,IAAA,EAAA,YAIJ,EAIE,MAAA,sEAQI,EAAA,uBAAA,EAAA,2BAGA,oBAEA,SAAA,EAAA,EAAA,MAGI,IAAA,MAAA,EAAA,QAAA,EAAA,MAAA,WACF,SAAA,WAAA,YAAA,WAAA,OAAA,YAAA,YAAA,WAAA,eAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,cAIE,SAAA,QAAA,UAAA,QAAA,SAAA,KACE,IAAA,EAAA,SAAA,EAAA,SAAA,GACF,EAAA,GAAA,EAAA,YAAA,OAKF,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,SAAA,GACA,QAAA,SAAA,uBAGA,EAAA,QAAA,IAEA,MAGE,GAAA,EAAA,iEAOP,GAAA,EAAA,UC/GH,EAAA,uEAYM,UAAA,gCAGJ,YAAA,6BAIE,MAAA,KAAA,WACE,OAAA,SAAA,gBAKE,kBAAA,2BAGE,YACA,kBACF,SAAA,EAAA,GACF,EAAA,KAAA,cAAA,mCAEF,IAAA,GAAA,EAAA,GAAA,iBAAA,wDAEF,GAAA,GAAA,QAAA,QAAA,4BAEA,EAAA,KAAA,WAAyB,EAAA,QAAA,IAAA,EAAA,KAAA,0BAQrB,cAAA,UAAA,QAAA,SAAA,EAAA,MAEE,GAAA,EAAA,gDAIA,2BAEA,SAAA,EAAA,EAAA,EAAA,MAEE,GAAA,EAGF,EAAA,UAAA,EAAA,GAAA,SACE,EAAA,EAAA,EAAA,SAAA,iDAGF,GAAA,KAAA,EAAA,aACA,EAAA,EAAA,MAAA,EAAA,eAEE,GAAA,QAAA,UAAA,EAAA,YAAA,EAAA,YAAA,IACE,KAAA,EAAA,gBACA,EAAA,MAAA,EAAA,gBAIA,GAAA,iBAAA,IAAA,iBAAA,EACF,KACF,EAAA,SAAA,KAAA,SAAA,GAEA,MAAA,GAAA,EAAA,IAGE,EAAA,OAAA,EAAA,QAAA,WACA,EAAA,kCAOF,GAAA,GAAA,QAAA,OAAA,EAAA,YAAA,EACE,GAAA,WACE,IAAA,EAAA,GAAA,QAAA,GACA,EAAA,YAAA,EAAA,YAAA,QAKA,KAAA,EAAA,YAAA,WACF,EAAA,OAAA,cAGJ,EAAA,eAAA,EAAA,SAAA,WAEF,kCAYI,eAAA,2BAGE,YACF,UACF,QAAA,SAAA,EAAA,mCAEF,EAAA,WAAA,8DAEF,SAAA,QAAA,EAAA,SAAA,0CAEA,QAAA,QAAsB,GAAA,KAAA,WAAA,EAAA,yBAQlB,WAAA,UAAA,QAAA,SAAA,EAAA,MAEE,GAAA,EAAA,gDAIA,2BAEA,SAAA,EAAA,EAAA,EAAA,GAEA,GAAA,GAAA,EAGE,EAAA,UAAA,EAAA,GAAA,SACA,EAAA,EAAA,EAAA,SAAA,EAEE,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,2BAKJ,GAAA,GAAA,QAAA,OAAA,EAAA,YAAA,EACE,GAAA,WACE,IAAA,EAAA,GAAA,QAAA,GACA,EAAA,YAAA,EAAA,YAAA,MAKN,EAAA,KAAA,EAAA,YAAA,kDAIH,EAAA,2BC1JC,OAAA,uCAEA,YAAA,gCAGE,UAAA,cACA,gBAAA,EACA,YAAA,wCAIA,GAAA,GAAA,IAGA,GAAA,SAAA,QAAA,KAAA,4EAEA,QAAA,UAAA,EAAA,MAAA,EAAA,SAAA,GAAA,EAAA,MAGA,EAAA,cACE,sCAIF,EAAA,gBAAA,SAAA,GACE,EAAA,SAAA,KAAA,MAEA,gBAAA,SAAA,KACE,SAAA,KAAA,MAGA,SAAA,QAAA,IACF,WAAA,EAAA,WAAA,SAAA,sBACF,EAAA,SAAA,6CAKA,EAAA,qBAAA,QAAA,SAAA,GACA,6BAOJ,GAAA,0BAEE,EAAA,WAAA,gFAQI,EAAA,8DAIE,SAAA,WAAA,SAAA,EAAA,iBACA,SAAA,EAAA,EAAA,EAAA,MAEA,GAAA,EAAA,SAGA,OAGE,qBAAA,KAAA,WACF,EAAA,cAAA,EAAA,SAAA,WAIJ,EAAA,YAAA,KAAA,SAAA,GAGH,yBAAA,kGAcK,SAAA,EAAA,EAAA,EAAA,GAEA,GACE,IADF,EAAA,GACE,EAAA,GAGF,GAAA,KAAA,cAAA,YAGJ,EAAA,gBAAA,2BAEF,GAAA,GAAA,EAAA,kBAAA,EAAA,SAAA,QAAA,qBAEA,EAAA,yBAQM,oBAAA,WAAA,SAAA,mBAGA,YAAA,oBAEA,SAAA,EAAA,EAAA,EAAA,GAgBA,QAAA,KACA,GAAA,GAAA,EAAA,SAAA,QAAA,uBAEF,GAAA,IAAA,EAAA,WAAA,eAAA,EAAA,EAAA,SAAA,gBAhBE,IADE,EAAA,GACF,EAAA,GAGA,GAAA,SAAA,YAGE,EAAA,SAAA,WACA,EAAA,SAAA,EAAA,SAAA,WAIF,EAAA,gBAAA,GAQL,EAAA,qBAAA,KAAA,WCrJH,MAEA,iBAQM,OAAA,6BAAA,oCAAA,oCAEA,cAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,aACA,UAAA,cACA,SAAA,iCACA,QAAA,QACA,WAAA,EACA,UAAA,EACA,MAAA,EACA,MAAA,EAEA,WAAA,EACA,SAAA,OACA,WAAA,YACA,gBAAA,KACA,UAAA,KACA,cAAA,EACA,WAAA,EACF,SAAA,iBAEA,UAAY,YAEV,UAAA,EACA,mBAAA,GACA,SAAA,mCACA,UAAA,gLAUE,GAAA,EAAA,EAAA,GAwIA,QAAA,GAAA,4CAIE,OACE,GAAA,QA3IJ,GAAA,GAAA,EAAA,EAAA,QAAA,UAAA,EAAA,IACA,EAAA,EAAA,MACA,EAAA,EAAA,SACA,EAAA,EAAA,MACA,GAAA,YAAA,EAAA,WAAA,EAAA,QAIA,IAAA,GAAA,EAAA,mBAEA,IAAA,GAAA,EAAA,WACE,MAAA,EAAA,UACF,EAAA,UAAA,EAAA,SACA,EAAA,WAAA,EAAA,aACE,GAAA,EAAA,OAAA,EAAA,MAIF,GAAA,QAAA,SAAA,0CAIA,EAAA,YAAA,MAEE,YAAA,aACE,SAAA,EAAA,MAAA,GAAA,EAAA,OAAA,SAKJ,EAAA,OAAA,SAAA,GAEA,QAAA,OAAA,KAAA,MAAA,EAAA,aACE,EAAA,MAAA,EACA,EAAA,OAAA,KAAA,EAAA,IAGF,EAAA,QAAA,MAGE,oBAAA,SAAA,GACA,EAAA,mBAAA,CACA,KAAA,GAAA,GAAA,EAAA,EAAA,EAAA,KAAA,OAAA,EAAA,EAAA,IACE,QAAA,QAAA,EAAA,KAAA,GAAA,EAAA,mBAIA,OAAA,SAAA,EAAA,GAEA,QAAA,OAAA,EAAA,cAAA,EAAA,WAAA,GAAA,MAAA,KACA,EAAA,OAAA,GACA,EAAA,cAAA,QAAA,KAAA,IACF,EAAA,UACF,EAAA,YAAA,gBAIE,QAAA,OAAA,GAAA,KAAA,EAAA,cAAA,MAAA,EAAA,WAAA,KAAA,EAAA,YACA,EAAA,QAAA,EAAA,MAAA,GACA,EAAA,iCAMA,EAAA,MAAA,EACA,EAAA,EAAA,OAAA,EAAA,OACA,EAAA,YAKA,OAAA,SAAA,GAEA,KAAA,GAAA,EAAA,QACF,KAAA,GAAA,EAAA,yBAIA,EAAA,gBAAA,+CAEA,QAAA,QAAA,EAAA,KAAA,GAAA,IAIA,EAAA,YAAA,SAAA,GACE,MAAA,GAAA,WAAA,MAGA,eAAA,SAAA,GACF,EAAA,SAAA,EAAA,WAAA,EAAA,SAGE,YAAA,SAAA,GACA,GAAA,GAAA,EAAA,MACA,EAAA,GAAA,MAAA,KAAA,IAAA,EAAA,MAAA,EAAA,MAAA,GAAA,EAAA,EAAA,OAAA,EAAA,OAAA,GAAA,EAAA,EAAA,MAAA,EAAA,KAAA,GAAA,GACA,SAAA,OAAA,GAAA,KAAA,EAAA,iBAAA,MAAA,EAAA,cAAA,KAAA,EAAA,eACA,EAAA,YAGI,aAAA,SAAA,QAEF,iBACF,EAAA,qBAGF,GAAA,GAAA,QAAA,QAAA,EAAA,OACE,YAAA,EAAA,GAAA,SAAA,gBACA,EAAA,EAAA,wCAME,WAAA,SAAA,MACE,mBAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAIJ,KAHE,iBACF,EAAA,kBAEA,KAAA,EAAA,QACA,MAAA,GAAA,iDACA,EAAA,MAAA,EAOF,GAAA,UAAA,oBAgBI,GAAA,EAAA,OACA,KAAA,WACF,MAAA,IAAA,EAAA,WACA,EAAA,KAAA,OAAA,YACF,GAAA,IAAA,qBAAA,eAEA,IACA,EAAA,KAAA,OAAA,QACE,EAAA,KAAA,WAAA,QACE,EAAA,GAAA,QAAA,QAEF,MAGF,IAAA,GAAA,EAAA,OACA,GAAA,QAAA,WACE,GAAA,EAAA,WACA,EAAA,IAAA,QAAA,WAKA,GAAA,EAAA,IACF,GAAA,KAAA,eAEA,WAAA,WACA,EAAA,SAAA,GAAA,EAAA,aAAA,YAAA,EAAA,cACE,EAAA,UACA,EAAA,GAAA,UAAA,EAAA,kCAMF,GAAA,KAAA,SAAA,6DAEF,EAAA,wCAGA,EAAA,SA7LE,IADA,QAAA,QAAA,EAAA,SAAA,MACA,8BAAA,KAAA,EAAA,UAAA,YACA,EAAA,eAAA,GAAA,UAAA,CAoMJ,OAnMI,GAAA,OAAA,EAAA,KAAA,EAAA,iBAmMJ,gBAMA,gBAAA,UAAA,SAAA,KAAA,UAAA,aAAA,cAAA,cAAA,WAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,MAGE,IADA,EAAA,SACA,8BAAA,KAAA,EAAA,UAAA,iCAEE,MAAA,WAAA,KAAA,SAAA,oBAIA,6BAEA,SAAA,EAAA,EAAA,EAAA,WAkDI,GAAA,sBAEA,UAjDF,IAAA,MAAA,EAAA,WAAA,WACA,SAAA,YAAA,YAAA,QAAA,UAAA,WAAA,OAAA,YAAA,WAAA,YAAA,WAAA,aAAA,kBAAA,YAAA,eAAA,YAAA,YAAA,YAAA,OAAA,YAAA,UAAA,WAAA,YAAA,sBAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAIA,EAAA,QAAA,EAAA,OAAA,EAAA,OAAA,SAAA,GACA,GAAA,QAAA,UAAA,KACA,QAAA,SAAA,KAAA,IAAA,EAAA,MAAA,oDAKE,GAAA,EAAA,EAAA,EAAA,KACE,EAAA,YAEE,EAAA,YAAA,EAAA,WAAA,sBAGA,SAAA,UAAA,WAAA,SAAA,WAEA,UAAA,EAAA,KAAA,EAAA,SAAA,EAAA,SAAA,MAEA,UAAA,EAAA,CACF,GAAA,GAAA,GAAA,KACE,GAAA,SAAA,IAAA,GAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,YAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,YAAA,EAAA,EAAA,QAEF,GAAA,SAAA,GADA,QAAA,SAAA,IAAA,EAAA,MAAA,WACA,GAAA,MAAA,EAAA,OAAA,EAAA,EAAA,OAAA,IACA,EAAA,IACF,GAAA,MAAA,SAAA,EAAA,KACF,QAAA,SAAA,IAAA,IAAA,EAAA,gCAGA,GAAA,MAAA,6CAQE,OAAA,EAAA,QAAA,WACF,EAAA,OAAA,EAAA,iBAUE,QAAA,UAAA,EAAA,gBACF,EAAA,OAAA,EAAA,cAAA,SAAA,EAAA,UAEA,EAAA,EAAA,GAEA,IAAA,GACA,EAAA,oBAAA,QAKI,GAAA,GAAA,OAAA,EAAA,WAAA,KAAA,EAAA,KAAA,OAAA,EAAA,iBAGF,SAAA,QAAA,SAAA,GAGA,IAAA,EAEE,WADA,GAAA,aAAA,QAAA,MAGA,GAAA,EAAA,MAAA,EAAA,EAAA,gBACA,GAAA,MAAA,EAAA,WAEA,WADA,GAAA,aAAA,QAAA,EAGF,IAAA,GAAA,MAAA,EAAA,SAAA,UAAA,EAAA,WAAA,EAAA,SAAA,QACA,EAAA,MAAA,EAAA,SAAA,UAAA,EAAA,WAAA,EAAA,SAAA,QACE,EAAA,GAAA,CAOF,OANA,GAAA,aAAA,OAAA,GACE,EAAA,aAAA,MAAA,GACF,EAAA,aAAA,MAAA,GAEA,IAAA,EAAA,WAAA,GAEA,WAAA,EAAA,SACF,EAAA,EAAA,EAAA,iBAAA,EAAA,kCAEA,EAAA,WAAA,UACA,QAAA,EAAA,SACE,EAAA,WAAA,cAEA,GAAA,MAAA,EAAA,gBAKE,YAAA,KAAA,SAAA,MAEA,SAEF,GADA,QAAA,YAAA,IAAA,OAAA,EACA,IACA,QAAA,OAAA,GACA,EACA,WAAA,EAAA,SACA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAEA,GAAA,MAAA,GAOF,EAAA,WAAA,mBAKE,QAAA,WAEF,EAAA,KAAA,EAAA,YAAA,MAAA,EAAA,WAAA,WAAA,GAAA,EAAA,EAAA,WAAA,EAAA,0CAKL,GAAA,EAAA,iBAED,EAAA,qBAQE,kBAAA,WAQA,QAAA,GAAA,EAAA,GAEE,IADF,GAAA,MACE,EAAA,OAAA,GACF,EAAA,KAAA,EAAA,OAAA,EAAA,GAEA,OAAA,WAII,GAAA,EAAA,UACA,EAAA,EAAA,GAAA,EAhBF,KAAA,oBACE,KACF,SAAA,QAiBE,MAAA,UAAA,OAAA,aAAA,SAAA,EAAA,EAAA,sBAIA,GAAA,GAAA,EAAA,OACA,EAAA,EAAA,SAEA,EAAA,EAAA,iBAAA,SACI,EAAA,EAAA,MAAA,EAAA,WAAA,OAAA,EAAA,MAAA,EAAA,EAAA,YACA,EAAA,EAAA,YAAA,+BAAA,EAAA,KAAA,qCAAA,SAEA,EAAA,EAAA,QAAA,EAAA,UAAA,GAAA,MAAA,EAAA,WAAA,GAAA,UACE,KAAA,EAAA,cAAA,MAAA,EAAA,WAAA,KAAA,EAAA,cACE,IAAA,EAAA,6BAGA,EAAA,gBACA,SACF,MAAA,GACF,OAAA,SAAA,EAAA,IACA,KAAA,OAAA,GAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OACE,QAAA,OAAA,GAAA,KAAA,EAAA,MAAA,cAAA,MAAA,EAAA,MAAA,WAAA,KAAA,EAAA,MAAA,YACA,EAAA,UACA,EAAA,YAAA,EAAA,OACA,EAAA,KAAA,EAAA,MAAA,UACA,EAAA,0BAGE,cACA,GAAA,GAAA,MAAA,EAAA,KAAA,EAAA,MAAA,GAAA,EAAA,EAAA,oBACF,EAAA,GAAA,OAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,UAAA,IAAA,EAAA,EAAA,oBACA,GAAA,GAAA,OAAA,cAEA,KAAA,IAAA,EAAA,GAAA,OAAA,EAAA,KAAA,EAAA,IAEA,KAAA,GADA,GAAA,KACA,EAAA,EAAA,GAAA,EAAA,IACF,EAAA,GAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,UAAA,GACA,EAAA,MAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,QAAA,SAAA,EAAA,OAAA,KAAA,WAAA,GAAA,MAAA,EAAA,aAAA,EAAA,MAAA,SAAA,KAAA,WAAA,IAEA,GAAA,MAAA,EAAA,EAAA,aACA,EAAA,YAAA,EACE,EAAA,OAAA,yBAEA,KAAA,OAAA,0BAGA,MAAA,GAAA,OAAA,EAAA,gBAAA,EAAA,MAAA,eAAA,EAAA,aAAA,EAAA,MAAA,YAAA,EAAA,YAAA,EAAA,MAAA,kCAGA,GAAA,GAAA,EAAA,aAGI,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,OAAA,KAGE,OAAA,mBAAA,QAAA,EAAA,UAAA,OAAA,KAGF,EAAA,mBACF,IAAA,GAAA,GAAA,EAAA,EAAA,EAAA,mBAAA,OAAA,IACF,GAAA,GAAA,EAAA,mBAAA,GAAA,gDAKA,CAKA,QAAA,yBAGA,GACF,GADE,EAAA,EAAA,MAAA,SAGF,MAAA,EAAA,QAAA,EAAA,GAAA,MAAA,EAAA,OACA,KAAA,EAAA,QAAA,EAAA,GAAA,MAAA,EAAA,QACA,KAAA,EAAA,QAAA,EAAA,GAAA,MAAA,EAAA,OACA,KAAA,EAAA,UAAA,EAAA,GAAA,MAAA,EAAA,SAEE,KAAA,WAAA,IAAA,EAAA,OAAA,GAAA,WAGA,eACE,YACA,SACF,KAAA,GACF,OAAA,SAAA,GACA,KAAA,OAAA,EAAA,gBAAA,EAAA,KAGE,EAAA,aAAA,EAAA,QACE,QAAA,OAAA,GAAA,MAAA,EAAA,MAAA,WAAA,KAAA,EAAA,MAAA,YACA,EAAA,oBAJF,QAAA,OAAA,GAAA,KAAA,EAAA,MAAA,cAAA,MAAA,EAAA,MAAA,WAAA,KAAA,EAAA,MAAA,YACA,EAAA,iBAMA,WAGF,IAAA,GADE,GAAA,GADA,GAAA,MAAA,EAAA,KAAA,EAAA,OAEF,EAAA,EAAA,GAAA,EAAA,IACA,EAAA,GAAA,MAAA,EAAA,KAAA,EAAA,GACE,EAAA,MAAA,KAAA,EAAA,MAAA,EAAA,EAAA,KAAA,QAAA,SAAA,EAAA,YAAA,GAAA,SAAA,KAAA,WAAA,IAEF,GAAA,MAAA,EAAA,EAAA,QACE,EAAA,YAAA,EACA,EAAA,KAAA,EAAA,EAAA,KAAA,OACF,KAAA,OAAA,cAEE,SAAA,GACA,MAAA,GAAA,OAAA,EAAA,gBAAA,EAAA,MAAA,eAAA,EAAA,aAAA,EAAA,MAAA,uBAEA,SAAA,GACA,GAAA,IAAA,GAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EACA,OAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,+BAGA,GAAA,GAAA,EAAA,MAAA,WACF,EAAA,GAAA,MAAA,EAAA,MAEA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,GACA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,GACA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,GACA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAA,GAEE,KAAA,WAAA,IAAA,EAAA,OAAA,GAAA,WAGA,cACE,aACA,SACF,KAAA,IACF,OAAA,SAAA,EAAA,IACA,KAAA,OAAA,GAAA,SAAA,EAAA,cAAA,GAAA,MAAA,SAAA,EAAA,KAAA,GAAA,KACE,QAAA,OAAA,GAAA,KAAA,EAAA,MAAA,cAAA,MAAA,EAAA,MAAA,WAAA,KAAA,EAAA,MAAA,YACA,EAAA,UACA,EAAA,gBAAA,EAAA,OACE,QAAA,OAAA,GAAA,KAAA,EAAA,MAAA,cAAA,MAAA,EAAA,MAAA,WAAA,KAAA,EAAA,MAAA,YACA,EAAA,0BAGF,WAGF,IAAA,GADE,GADA,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,OACA,KACF,EAAA,EAAA,GAAA,EAAA,IACA,EAAA,GAAA,MAAA,EAAA,EAAA,EAAA,GACE,EAAA,MAAA,KAAA,EAAA,MAAA,EAAA,EAAA,KAAA,QAAA,SAAA,EAAA,YAAA,GAAA,SAAA,KAAA,WAAA,IAEF,GAAA,MAAA,EAAA,GAAA,MAAA,IAAA,EAAA,EAAA,OAAA,GAAA,MACE,EAAA,YAAA,EACA,EAAA,KAAA,EAAA,EAAA,KAAA,OACF,KAAA,OAAA,cAEE,SAAA,SACI,GAAA,OAAA,EAAA,gBAAA,EAAA,MAAA,0BAEJ,SAAA,GACA,GAAA,IAAA,GAAA,MAAA,EAAA,cAAA,EAAA,EAAA,EACA,OAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,+BAGA,GAAA,GAAA,EAAA,MAAA,cACF,EAAA,GAAA,MAAA,EAAA,qCAGJ,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,GACE,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,GACA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iDAOR,MAAA,EAAA,QAAA,MAAA,UAAA,MAAA,KAAA,EAAA,EAAA,SAAA,ECnlBF,SAAA,gBAUM,OAAA,2BAAA,oCAEA,YAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACF,YAAA,mCAEA,SAAY,6CAEV,WAAA,EACA,UAAA,UAEA,MAAA,wEAQE,GAAA,EAAA,iBAyDF,MAAA,GAAA,SAAA,EAAA,6BAAA,iBApDE,EAAA,QAAA,UAAA,EAAA,EACE,GAAA,OAAA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA,SAEA,EAAA,EAAA,sBAKA,WAAA,SAAA,GACA,GAAA,UAAA,KAAA,EAAA,SAAA,GACE,iBACF,EAAA,iBAGA,IAAA,GAAA,QAAA,QAAA,EAAA,SAAA,GAAA,iBAAA,sBACA,IAAA,EAAA,OAAA,CACA,GAAA,EACA,SAAA,QAAA,EAAA,SAAA,EAAA,0DAMF,KAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,IACA,QAAA,YAAA,KAAA,EAAA,GACE,EAAA,GAAA,GAAA,GAAA,UAMF,IAAA,GAAA,EAAA,uBAEA,IACA,WAAA,WACE,EAAA,UAAA,EAAA,SAAA,GAAA,UAAA,EAAA,YACA,EAAA,GAAA,QAAA,KAEA,EAAA,SAAA,aAAA,EAAA,SAAA,QAGF,IAAA,GAAA,EAAA,IAeN,0BAbM,EAAA,UAAA,EAAA,SAAA,IAAA,UAAA,EAAA,YACE,EAAA,IAAA,QAAA,GACA,EAAA,SAAA,aAAA,EAAA,YAAA,QACF,KAUN,KAhEM,GAAA,QAAA,QAAA,EAAA,SAAA,MACA,EAAA,QAAA,UAAA,iBAAA,QAAA,UAAA,uBAAA,QAAA,UAAA,oBAAA,QAAA,UAAA,mBAAA,QAAA,UAAA,gBAmEJ,OAAA,iBAMI,cAAA,UAAA,OAAA,YAAA,SAAA,EAAA,EAAA,mBAGA,oBAEA,SAAA,EAAA,EAAA,GAGA,GAAA,IAAA,MAAA,oHAEA,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,QAIE,YAAA,EAAA,OAAA,EAAA,WAAA,SAAA,GACF,EAAA,QAAA,+CAKA,GAAA,QAAA,UAAA,KACA,QAAA,SAAA,KAAA,IAAA,EAAA,MAAA,mBACE,KAAA,EAAA,EAAA,OAAA,EAAA,mDAQP,GAAA,EAAA,UCpIH,EAAA,mFAYI,eAAA,kBAAA,mBAIA,mDAQE,4BAIA,MAAA,UAAA,aAAA,SAAA,EAAA,MAEE,GAAA,SAAA,WAkFI,GAAA,MACA,GAAA,EAAA,OAAA,KAAA,QACE,KAEJ,EAAA,CACF,KAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IACA,GAAA,EAAA,MAAA,EAAA,IAAA,OAAA,EAAA,CACA,GAAA,GAAA,EAAA,OAAA,EAAA,GACE,GAAA,EAAA,MAAA,EAAA,IAAA,KAAA,IACA,EAAA,EAAA,MACA,EAAA,GAAA,EAAA,EAAA,KAUF,MALF,SAAA,QAAA,EAAA,SAAA,kBAKE,UAGA,GAAA,GACA,MAAA,GAAA,QAAA,MAAA,SAAA,QAAA,OAAA,OAAA,QAAA,MAAA,OAAA,QAAA,OAAA,iBAGA,GAAA,GACA,GAAA,GAAA,EAAA,OAAA,KAAA,GAEA,EAAA,yBAGA,EAAA,EAAA,MAAA,EAAA,IAAA,KAAA,KAAA,EAAA,IAGF,KAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IACA,EAAA,EAAA,MAAA,KAAA,EAAA,KAAA,KAAA,IAAA,EAAA,EAAA,IAAA,IAIF,OAFA,GAAA,EAAA,GAEA,GAAA,QAAA,IAAA,EAAA,KAAA,SArEE,GAAA,EApDE,EAAA,QAAA,UAAA,EAAA,GAEA,KAEA,GACA,IAAA,WACA,GAAA,aACA,EAAA,EAAA,OAAA,cAAA,mBACA,GAAA,aACA,EAAA,EAAA,OAAA,cAAA,mBACA,GAAA,mBACA,EAAA,EAAA,OAAA,iBAAA,oBACA,GAAA,oBACA,EAAA,EAAA,OAAA,eAAA,iBACA,EAAA,QACA,KAAA,EAAA,iBAAA,IAAA,KAAA,KACA,IAAA,EAAA,iBAAA,SAAA,KAAA,KACA,GAAA,yBACF,EAAA,EAAA,OAAA,yBAAA,mEAEA,IAAA,EAAA,iBAAA,WAAA,KAAA,KACE,GAAA,gBACA,EAAA,EAAA,OAAA,eAAA,iBACA,KAAA,gCACA,GAAA,WACA,EAAA,EAAA,OAAA,wBAAA,kBAGA,GACA,IAAA,EAAA,gBACA,GAAA,EAAA,WACA,EAAA,EAAA,WACA,GAAA,EAAA,WACA,EAAA,EAAA,WACA,GAAA,EAAA,SACA,EAAA,EAAA,SACA,GAAA,EAAA,SACA,EAAA,EAAA,SACA,KAAA,EACA,IAAA,EACA,GAAA,EAAA,QACA,EAAA,EAAA,QACF,EAAA,SAAA,GAAA,GAAA,GAAA,KAAA,UAAA,OAAA,MAAA,SAAA,EAAA,MAAA,OAAA,EAAA,GAAA,gFAEA,IAAA,SAAA,GAAA,MAAA,MAAA,SAAA,EAAA,iBAAA,WAAA,QAAA,iDAEA,EAAA,SAAA,GAAA,MAAA,MAAA,SAAA,EAAA,EAAA,IACE,KAAA,EAAA,YACA,GAAA,SAAA,GAAA,MAAA,MAAA,YAAA,IAAA,EAAA,IACA,EAAA,EAAA,YA4EP,UAvEO,KAAA,WACF,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,sBAEA,EAAA,EAAA,EAAA,YAGE,QAAA,SAAA,GACA,MAAA,SAAA,OAAA,IAAA,MAAA,EAAA,WACA,EAAA,KAAA,MAGE,MAAA,SAAA,EAAA,EAAA,GACF,QAAA,OAAA,KAAA,EAAA,EAAA,EAAA,GAAA,EAAA,SACA,IAAA,GAAA,EAAA,EAAA,GAAA,EACF,EAAA,EAAA,EAAA,GAAA,aAEA,KAAA,EAAA,OAAA,CAEA,KAAA,yBAAA,EAAA,EAAA,EAAA,EAAA,OAAA,EAAA,IACE,EAAA,IAAA,EAAA,GAAA,KAAA,EAAA,EAAA,EAAA,GAEA,OAAA,aAkDP,yBCnJG,OAAA,+CAIE,WAAA,SAAA,EAAA,EAAA,SACE,EAAA,EAAA,EAAA,QACF,cACE,OACA,YACF,GAAA,KACF,IAAA,GAAA,WACA,GAAA,GAAA,GAAA,MAAA,CACA,GAAA,EACE,EAAA,WAAA,EAAA,EAAA,IAEF,EAAA,KACA,IAAA,EAAA,EAAA,MAAA,EAAA,aAQF,YAHF,EAAA,WAAA,EAAA,IAEA,IAAA,EAAA,EAAA,MAAA,EAAA,IACE,cAOE,WAAA,SAAA,EAAA,EAAA,GACF,GAAA,GAAA,EAAA,EACA,EAAA,KACE,EAAA,MACA,SACA,GAAA,WACA,EAAA,EAAA,WAAA,EAAA,EAAA,GAAA,MACA,EAAA,KACA,EAAA,EAAA,MAAA,EAAA,UAEE,eACA,GAAA,GAAA,KACA,IAAA,EAAA,WAAA,IAAA,EAAA,EACF,IAAA,GAAA,GAAA,EAAA,YACE,KACF,EAAA,UACA,GAAA,GACF,aAAA,GACF,EAAA,KC3DA,EAAA,kBAEA,GAAA,EAAA,YAAA,oCAQK,OAAA,gDAEA,cAAA,YAAA,UAAA,WAED,GACE,IADF,QAAA,YAQC,EAAA,EAAA,SAAA,SAAA,EAAA,GACA,MAAA,GAAA,UAAA,EAAA,SAAA,gBAAA,EAAA,iBASC,IAAA,SAAA,EAAA,EAAA,GACA,GAAA,EAQD,UAPD,EAAA,+BAEA,EAAA,iBACC,EAAA,iBAAA,GAAA,GAEA,EAAA,MAAA,GAEA,KAAA,EAAA,WAAA,IAAA,EAAA,KASC,OAAA,SAAA,GACF,GAAA,GAAA,EAAA,yCAEA,QACC,MAAA,EAAA,OAAA,EAAA,YACA,OAAA,EAAA,QAAA,EAAA,aACA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,gBAAA,YAAA,EAAA,gBAAA,WAAA,GACA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,gBAAA,aAAA,EAAA,gBAAA,YAAA,kCAcC,EAFE,GAAA,IAAA,EAAA,KAAA,SAKA,UAAA,EAAA,IAAA,EAAA,YAGA,EAAA,EAAA,gCAMA,EAAA,EAAA,OAAA,GAGF,EAAA,EAAA,OAAA,iBAEA,EAAA,EAAA,OAAA,IAIE,EAAA,KAAA,EAAA,IAAA,EAAA,kBAAA,GACA,EAAA,MAAA,EAAA,IAAA,EAAA,mBAAA,KAKJ,MAAA,EAAA,YACC,OAAA,EAAA,aACA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,GACA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,cAAA,IAUD,IAAA,GAAA,SAAA,yBAEA,EAAA,EAAA,cAAA,CACC,IAAA,EAAA,EAAA,aAAA,MAAA,GAAA,eACA,MAAA,IAAA,EAAA,EAAA,SAAA,WAAA,EAAA,IAAA,EAAA,aACA,EAAA,EAAA,YAEA,OAAA,IAAA,EAAA,uBAUD,GAAA,OAAA,SAAA,EAAA,uBAOC,OALD,GACC,GAAA,EAAA,IAAA,EAAA,aAAA,GAAA,EAAA,IAAA,EAAA,gBAAA,GAEA,GAAA,EAAA,IAAA,EAAA,cAAA,GAAA,EAAA,IAAA,EAAA,iBAAA,GAAA,EAAA,IAAA,EAAA,kBAAA,GAAA,EAAA,IAAA,EAAA,qBAAA,GAEA,GAUD,EAAA,MAAA,SAAA,EAAA,sBC/IJ,ODiJI,yDCnJJ,GAAA,EAAA,IAAA,EAAA,eAAA,GAAA,EAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,IAAA,EAAA,mBAAA,GAAA,EAAA,IAAA,EAAA,oBAAA,GAEA,gBAQI,OAAA,mDAEE,gBAAA,cAEE,GAAA,KAAA,sMAIA,MAAA,SAAA,KAAA,SAAA,EAAA,WAEA,GAAA,EAAA,GA+BA,QAAA,GAAA,EAAA,8BAEA,GAAA,GAAA,EAAA,WACA,GAAA,GAAA,WAEF,EAAA,EAAA,EAAA,IAAA,+BA/BI,EAAA,QAAA,UAAA,EAAA,KACA,cAGA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAiCR,OA/BM,GAAA,KAAA,wCAEA,EAAA,EAAA,EAAA,IAAA,EAAA,IACE,EAAA,EAAA,IAAA,EAAA,GACA,EAAA,EAAA,KACE,EAAA,EAAA,IAAA,MACA,EAAA,EAAA,GAAA,EAAA,GAAA,GACF,EAAA,EAAA,EAAA,KAGF,EAAA,SAAA,SAAA,EAAA,yBAEA,KAAA,SAAA,GAEI,MADF,GAAA,QAAA,EAAA,EAAA,EAAA,MACE,EAAA,oBAiBV,uBCpDA,QAAA,MAAA,GAAA,QAAA,QAAA,IAAA,IAAA,QAAA,OAAA,iCAE2B,WAAA,SAAA,EAAA,kCAG3B,EAAA,6BACA,EAAA,yBAEI,EAAA,EAAA,sBACA,EAAA,4BACE,EAAA,yBACF,EAAA,kCAEF,IAAA,EACE,EAAA,WACA,MACE,GAAA,EAAA,EACF,OAAA,YACF,EAAA,iBAIF,GAAA,GAAA,EAAA,EAAA,OAAA,qBAED,EAAA,OAAA,IAMD,OAFA,GAAA,UAAA,EAEA,aC9BM,OAAA,wBAAA,+CAEA,SAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,kBAAA,UACA,YAAA,QACA,YAAA,QACA,UAAA,MACF,SAAA,0CAEA,WAAY,eAEV,UAAA,EACA,UAAA,EACA,MAAA,EACA,MAAA,QAGA,MAAA,UAAA,aAAA,WAAA,KAAA,iBAAA,QAAA,WAAA,WAAA,OAAA,aAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,WAQE,GAAA,iBAgMF,EAAA,SAAA,EAAA,0DA9LE,GAAA,MAGA,EAAA,EAAA,SAAA,QAAA,UAAA,EAAA,KACE,SAAA,EAAA,EAAA,SACF,IAAA,GAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA,gCAEA,EAAA,UAAA,WAIE,QAAA,WAAA,SAAA,GACF,EAAA,KAAA,EAAA,GAAA,EAAA,YAAA,EAAA,SAIE,MAAA,WACF,EAAA,aAAA,WACA,EAAA,YAGE,MAAA,WACF,EAAA,aAAA,yBAIE,QAAA,aACE,aAAA,WACA,EAAA,cAKE,oBACF,SAAA,EAAA,SAAA,KAAA,SAAA,GACF,GAAA,GAAA,QAAA,QAAA,EACF,OAAA,GAAA,EAAA,kCAEA,GAAA,GAAA,EAAA,sBAAA,EAAA,IAAA,WAAA,WAAA,KAAA,EAGA,OADA,GAAA,UAAA,EAAA,OAAA,SACA,EAAA,GAAA,cAMA,IAAA,GAAA,gEAmJF,OAjJE,GAAA,SAAA,KAAA,SAAA,mCAEE,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,mBACA,EAAA,EAAA,MAAA,KACE,EAAA,KACE,2BAMN,EAAA,gCAEE,EAAA,YAME,QAAA,eAIF,EAAA,SACA,EAAA,MAEF,eAEA,EAAA,MAIE,EAAA,cAIA,KAAA,kDAGA,IAAA,KACA,QAAA,UAAA,EAAA,uBAGA,EAAA,UAAA,EAAA,EAAA,WAAA,IAEA,IAAA,GAAA,EAAA,UAAA,KAAA,EAAA,UAGI,EAAA,SAAA,EAAA,EAAA,cAGJ,EAAA,KAAA,QAAA,UAAA,SAAA,EAAA,WAGE,EAAA,YACF,EAAA,UACA,EAAA,SAAA,EAAA,mBAEA,EAAA,SAAA,EAAA,YAGA,EAAA,UACA,EAAA,MAAA,EAAA,EAAA,KAAA,cAEA,EAAA,MAAA,EAAA,EAAA,EAAA,WACE,EAAA,MAAA,EAAA,YAAA,QAAA,mBAGF,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,SAAA,EAAA,SAGA,IAAA,GAAA,EAAA,gBAEA,EAAA,YAGE,SAAA,EAAA,YAAA,SACF,EAAA,WACA,EAAA,SAAA,EAAA,YAAA,SAAA,EAAA,wBAKF,EAAA,GAAA,QAAA,oBAGE,EAAA,UACE,EAAA,GAAA,QAAA,EAAA,aAIA,KAAA,WAEF,EAAA,MAAA,EAAA,YAAA,eAAA,KACE,MAAA,EAAA,WACF,EAAA,MAAA,EAAA,YAAA,QAAA,GACA,EAAA,YAAA,EAAA,YAAA,SACA,EAAA,+DAIE,EAAA,UACA,EAAA,MAAA,EAAA,cAEF,EAAA,UAAA,IACE,SAAA,EAAA,OAAA,EAAA,MAAA,SAAA,EAAA,uBAIJ,EAAA,IAAA,QAAA,iCAIA,EAAA,IAAA,QAAA,EAAA,WAIA,EAAA,OAAA,WAEA,EAAA,SAAA,EAAA,OAAA,EAAA,UAIE,MAAA,aACE,GAAA,2DAQJ,EAAA,OACE,EAAA,oBAYJ,UAMM,GAAA,EAAA,SACA,SAAA,SAAA,GAAA,GAAA,iBAAA,YAGJ,GAAA,GACF,MAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,qBAEA,MAAA,SAAA,SAAA,oBAED,EAAA,MAEH,OA3NM,GAAA,QAAA,gCAEA,EAAA,EAAA,uBAAA,EAAA,WACA,EAAA,QAAA,QAAA,EAAA,SAAA,MACA,EAAA,aA2NJ,OAAA,iBAMI,WAAA,UAAA,OAAA,SAAA,SAAA,EAAA,EAAA,mBAGA,oBAEA,SAAA,EAAA,EAAA,MAGI,IAAA,MAAA,EAAA,QAAA,EAAA,MAAA,WACF,SAAA,WAAA,kBAAA,YAAA,WAAA,WAAA,OAAA,YAAA,aAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,cAIE,SAAA,QAAA,WAAA,SAAA,KACE,IAAA,EAAA,SAAA,EAAA,SAAA,GACF,EAAA,GAAA,EAAA,YAAA,OAKF,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,SAAA,GACA,QAAA,SAAA,uBAGA,EAAA,QAAA,IAEA;GAGE,GAAA,EAAA,iEAOP,GAAA,EAAA,UC1SH,EAAA,2BAUI,OAAA,qCAEA,UAAA,WAEA,GAAA,GAAA,KAAA,+BAEF,UAAA,6BAIE,MAAA,KAAA,2CAMI,YAAA,UAAA,YAAA,UAAA,SAAA,EAAA,EAAA,MAEA,GAAA,EAAA,kCAIA,SAAA,EAAA,EAAA,MAGE,GAAA,QAAA,KAAA,8CAEF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,QAIE,OAAA,iBAEE,GAAA,iBAEA,MAEA,GAAA,EAAA,GAAA,iBAAA,MAAA,EAAA,UAAA,sCAIE,GAAA,QAAA,QAAA,GACF,EAAA,EAAA,KAAA,EAAA,WAAA,QAAA,IAAA,MACE,GAAA,SACF,EAAA,IAAA,EAAA,IAEF,IAAA,GAAA,GAAA,QAAA,GAAA,KAEF,GAAA,KAAA,2EChDF,OAAA,0BAAA,oCAEA,WAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,GACA,WAAA,EACA,QAAA,EACA,UAAA,QACF,SAAA,8CAEA,QAAA,oBAEE,MAAA,mBAEE,SACA,6CAKA,GAAA,EAAA,wCAYN,OAJI,GAAA,sCAIJ,EAIE,MAAA,6EAQI,GAAA,EAAA,uBAAA,EAAA,2BAGA,oBAEA,SAAA,EAAA,EAAA,MAGI,IAAA,MAAA,WACA,SAAA,WAAA,kBAAA,YAAA,YAAA,SAAA,QAAA,UAAA,WAAA,OAAA,YAAA,eAAA,SAAA,WACE,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,sDAKN,EAAA,IAAA,EAAA,SAAA,EAAA,SAAA,EAAA,GACA,EAAA,GAAA,EAAA,YAAA,GACE,QAAA,UAAA,IAAA,EAAA,WACE,GAAA,EAAA,0BAMF,WAAA,EAAA,OAAA,EAAA,UAAA,SAAA,EAAA,GACF,QAAA,SAAA,uBAGA,EAAA,QAAA,EAEE,QAAA,UAAA,IAAA,EAAA,WACA,GAAA,EAAA,iEAMF,GAAA,QAAA,UAAA,KACA,QAAA,SAAA,KAAA,IAAA,EAAA,MAAA,kBACE,KAAA,EAAA,EAAA,OAAA,EAAA,mDAQP,GAAA,EAAA,UCvGH,EAAA,2BAUM,OAAA,4BAAA,kCAAA,+CAEA,aAAA,WAGF,GAAA,GAAY,KAAA,WAEV,EAAA,KAAA,UACA,SAAA,IACA,SAAA,qBAIA,MAAA,UAAA,YAAA,aAAA,aAAA,WAAA,WAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,WAQE,GAAA,EAAA,GACA,MAAA,GAAA,GAAA,UAAA,EAAA,GAAA,SAAA,gBAAA,EAAA,+BAME,GAAA,QAAA,UAAA,EAAA,EACA,GAAA,UAAA,EAAA,QAAA,EACF,IAAA,GAAA,EAAA,EAAA,QAAA,wBAEA,EAAA,EAAA,SAAA,EAAA,EAGA,IAAA,EAAA,GAEA,MADA,GAAA,GAAA,UACA,EAAA,EAGA,IAGA,GAAA,IAIE,EACA,IAEA,EACA,EAXF,6BAKA,IAuJN,UA/IQ,KAAA,0BAMA,EAAA,EAAA,KAAA,cAAA,EAAA,UACA,EAAA,EAAA,KAAA,cAAA,EAAA,wDAEA,EAAA,GAAA,SAAA,GACA,EAAA,GAAA,SAAA,GAEA,EAAA,EAAA,KAAA,aAAA,EAAA,0CAEF,EAAA,EAAA,IAAA,wBAAA,OAIE,IACA,EAAA,GAAA,MAKA,QAAA,WAGA,KAAA,UACA,KAAA,QAAA,IAKF,EAAA,IAAA,QAAA,KAAA,8CAEA,EAAA,IAAA,SAAA,OAEE,IACA,mBAKA,cAAA,WAGA,GAAA,EAAA,OAAA,IAGA,GAAA,EAAA,EAAA,YAAA,EAAA,KAAA,eAAA,EAGA,EAAA,KAAA,IAAA,EAAA,YAAA,EAAA,KAAA,iBAGE,EAAA,EAAA,GAAA,WAAA,IAAA,EAAA,GAAA,OACA,MAAA,GAAA,iBAAA,EAAA,GAIJ,KAAA,GAAA,GAAA,EAAA,OAAA,qEAEA,IAAA,EAAA,GAAA,UACE,EAAA,EAAA,GAAA,WACF,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,GAAA,+CAMI,2BAAA,sBACA,KAAA,cAAA,MAKA,iBAAA,SAAA,GACF,GAAA,EAAA,CACA,GAAA,GAAA,EAAA,mBAAA,EACA,KACA,EAAA,OAAA,YAAA,UACE,EAAA,EAAA,OAAA,OAAA,EAAA,EAAA,OAAA,SAAA,SAAA,OACF,EAAA,OAAA,SAAA,SAAA,YAAA,WAIA,EAAA,EAAA,SACE,OAAA,SAAA,UACF,EAAA,EAAA,OAAA,OAAA,EAAA,EAAA,OAAA,SAAA,SAAA,OACF,EAAA,OAAA,SAAA,SAAA,SAAA,WAIA,EAAA,mBAAA,SAAA,+BAEE,MAAA,GAAA,SAAA,IACE,MAKF,aAAA,mBAEE,QAAA,EAAA,SAAA,GACF,GAAA,GAAA,EAAA,cAAA,EAAA,OACA,GAAA,UAAA,EAAA,EAAA,OAAA,GAAA,IAAA,KACE,EAAA,QAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,EAAA,UAGF,EAAA,qBAEF,MAAA,QAAA,EAAA,YAEA,KAAA,SAAA,EAAA,GACE,MAAA,GAAA,UAAA,EAAA,YAGF,OAIM,aAAA,SAAA,EAAA,KACA,MAAA,OAAA,EAAA,OAAA,OAGJ,eAAA,SAAA,EAAA,UACF,mBAEA,GAAA,EAAA,GAAA,SAAA,GAAA,EAAA,GAAA,SAAA,EAAA,CACE,EAAA,CACF,+CAOF,EAAA,GAAA,SAAA,oBAMJ,EArLI,GAAA,GAAA,QAAA,QAAA,gDAEA,EAAA,QAAA,QAAA,EAAA,SAAA,KAuLF,OAAA,iBAMM,eAAA,aAAA,WAAA,aAAA,aAAA,SAAA,EAAA,EAAA,EAAA,mBAGF,WACA,SAAA,EAAA,EAAA,GAEA,GAAA,IAAA,MAAA,WACE,SAAA,SAAA,UAAA,SAAA,GACE,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,SAGF,GAAA,EAAA,KACA,aAAA,EAAA,OAAA,+BAGJ,IACF,EAAA,eAAA,EAAA,OAAA,+CAaM,mBAAA,aAAA,WAAA,aAAA,aAAA,+BAIN,QAAA,SAAA,8CAED,SAAA,QAAA,EAAA,SAAA,GC3PH,GAAA,GAAA,QAAA,QAAA,wFAUM,OAAA,yBAAA,yBAAA,iDAEA,UAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,SACA,YAAA,UACA,UAAA,cACA,SAAA,yBACA,QAAA,QACA,WAAA,EACA,UAAA,EACA,MAAA,EACA,MAAA,EACF,UAAA,oBAEA,MAAA,gDAEE,YAAA,gCACA,UAAA,EACA,cAAA,wDAIE,MAAA,UAAA,YAAA,aAAA,WAAA,SAAA,EAAA,EAAA,EAAA,WAMA,GAAA,EAAA,EAAA,GAEA,GAAA,MAGA,EAAA,QAAA,UAAA,EAAA,WAGA,IAAA,GAAA,EAAA,SAEI,cACF,aAAA,EACF,EAAA,YAAA,EAAA,4DAEA,EAAA,eAAA,EAAA,gBAEI,UAAA,SAAA,GACF,EAAA,aAAA,WACF,EAAA,SAAA,MAIA,EAAA,QAAA,SAAA,6BAEA,EAAA,OAAA,MAIA,EAAA,WAAA,WACE,MAAA,GAAA,gBAGE,UAAA,SAAA,GACF,MAAA,GAAA,UAAA,IAGF,EAAA,WAAA,WACE,IAAA,GAAA,GAAA,EAAA,EAAA,EAAA,SAAA,OAAA,IACE,EAAA,UAAA,IACE,EAAA,QAAA,IAKN,EAAA,YAAA,+CAEA,EAAA,UAAA,IACE,EAAA,QAAA,MAOE,OAAA,SAAA,KACA,SAAA,EACF,EAAA,wBAGA,SAAA,SAAA,SACF,GAAA,gCAEA,EAAA,UAAA,GAAA,EAAA,aAAA,OAAA,EAAA,aAAA,QAAA,GAAA,GAAA,EAAA,aAAA,KAAA,GACE,EAAA,MAAA,EAAA,aAAA,QAEE,EAAA,aAAA,EAEE,EAAA,gBAGF,OAAA,SAAA,MACE,GAAA,EAAA,SAAA,GAAA,QACA,OAAA,aACA,SAAA,GACF,EAAA,SACF,EAAA,cAAA,EAAA,aAAA,IAAA,SAAA,GACA,MAAA,GAAA,SAAA,GAAA,2CASI,MAAA,EAAA,YAAA,UAAA,EAAA,MAKF,mBAAA,WACF,EAAA,aAAA,EAAA,SAAA,OAEA,EAAA,aADE,EAAA,UAAA,QAAA,QAAA,EAAA,aACF,EAAA,YAAA,IAAA,SAAA,GACF,MAAA,GAAA,UAAA,KAGE,EAAA,UAAA,EAAA,aAEA,EAAA,cAAA,EAAA,SAAA,SACA,EAAA,aAAA,EAAA,YAAA,IAIF,EAAA,WAAA,WACE,MAAA,GAAA,WAAA,EAIA,EAAA,SAAA,QAAA,EAAA,WAAA,QAAA,EAAA,UAHE,EAAA,SAAA,QAMJ,EAAA,UAAA,SAAA,GACE,MAAA,GAAA,SACA,KAAA,EAAA,aAAA,QAAA,GAEE,EAAA,eAAA,GAIJ,EAAA,UAAA,SAAA,8BAEA,IAAA,EAAA,CACE,IAAA,EAAA,EAAA,KACA,EAAA,SAAA,GAAA,QAAA,IAEA,KAAA,EAAA,GACA,MAAA,OAGA,aAAA,SAAA,GAKA,sBAFF,EAAA,kBAEE,EAAA,CACA,GAAA,GAAA,QAAA,QAAA,EAAA,sCAKA,WAAA,SAAA,sCAMA,GAJA,EAAA,iBACA,EAAA,mBAGA,EAAA,WAAA,KAAA,EAAA,SAAA,IAAA,EAAA,SACF,MAAA,GAAA,OAAA,EAAA,aAIA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,EAAA,eACA,KAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,OAAA,EAAA,EAAA,eACE,QAAA,YAAA,EAAA,gBAAA,EAAA,aAAA,GACA,EAAA,eAKE,GAAA,EAAA,OACE,KAAA,eAEJ,EAAA,UACF,EAAA,SAAA,SAAA,mBAEA,WAAA,WACA,EAAA,SAAA,GAAA,EAAA,aAAA,YAAA,EAAA,cACE,EAAA,UACA,EAAA,GAAA,UAAA,EAAA,kCAMF,GAAA,KAAA,qEAEF,EAAA,wCAGA,GAAA,SAvLE,IADA,QAAA,QAAA,EAAA,SAAA,MACA,8BAAA,KAAA,EAAA,UAAA,2CA+LJ,qBAAA,qGAQI,GAAA,EAAA,yBAGA,6BAEA,SAAA,EAAA,EAAA,EAAA,MAGE,IAAA,MAAA,EAMF,YALE,SAAA,YAAA,YAAA,QAAA,UAAA,WAAA,OAAA,YAAA,WAAA,cAAA,WAAA,iBAAA,YAAA,iBAAA,SAAA,GACA,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAIF,WAAA,EAAA,GAAA,SAAA,cAAA,QAEA,GAAA,IAAA,UAAA,QACA,EAAA,QAAA,QAAA,yEAKE,GAAA,EAAA,EAAA,WAGE,EAAA,EAAA,EAAA,EAAA,GAGJ,EAAA,EAAA,OAAA,GAAA,QAAA,OAAA,IAAA,6BAGA,EAAA,SAAA,EAAA,GACE,KAAA,SAAA,GACA,EAAA,OAAA,GACA,EAAA,mBAKA,OAAA,EAAA,QAAA,WAEA,EAAA,uBACE,iBAIA,QAAA,cAEA,GAAA,IACE,UAAA,QAAA,QAAA,EAAA,cACF,EAAA,EAAA,YAAA,IAAA,SAAA,GAEA,MADF,GAAA,EAAA,UAAA,GACE,QAAA,UAAA,GAAA,EAAA,OAAA,SAAA,GAAA,OAAA,IACA,OAAA,QAAA,WAEF,EADA,EAAA,QAAA,EAAA,WAAA,EAAA,WACA,EAAA,OAAA,KAAA,EAAA,eAAA,EAAA,8BAKA,EAAA,EAAA,UAAA,EAAA,aACA,EAAA,QAAA,UAAA,GAAA,EAAA,OAAA,SAAA,GAAA,OAAA,GAEF,EAAA,MAAA,EAAA,EAAA,EAAA,aAAA,EAAA,aAAA,EAAA,wCAKL,GAAA,EAAA,UCjTH,EAAA,2BAUM,OAAA,uDAIA,GAAA,KAAA,8BAEA,SAAA,mBACA,SAAA,WACA,YAAA,4CAIA,GAAA,GAAA,gCAIA,QAAA,SAAA,YAAA,WAAA,eAAA,SAAA,qDAKE,UAAA,EAAA,SAAA,SACF,EAAA,aAAA,EAAA,SAAA,YAEA,EAAA,OAAA,EAAA,YAEE,0BAEE,MAAA,SAAA,GACF,EAAA,OAAA,KAAA,IAGJ,EAAA,OAAA,QAAA,wCAEA,EAAA,OAAA,QAAA,EACE,EAAA,qBAAA,QAAA,SAAA,GACA,6BAOJ,GAAA,0BAEE,EAAA,WAAA,iBAME,UAAA,UAAA,WAAA,OAAA,SAAA,EAAA,EAAA,MAEE,GAAA,EAAA,0DAIA,SACA,qEAEA,SAAA,EAAA,uCAGE,SAAA,EAAA,EAAA,EAAA,MAEA,GAAA,EAAA,SAGA,OAGE,qBAAA,KAAA,WACF,EAAA,cAAA,EAAA,OAAA,WAIJ,EAAA,YAAA,KAAA,SAAA,GAGH,yBAAA,oBAUK,UAAA,UAAA,WAAA,OAAA,SAAA,EAAA,EAAA,mBAGA,YAAA,yBAEA,SAAA,EAAA,EAAA,EAAA,GAqBA,QAAA,KACA,GAAA,GAAA,EAAA,OAAA,QAAA,qBAEF,GAAA,IAAA,EAAA,WAAA,eAAA,EAAA,EAAA,SAAA,gBArBE,IADE,EAAA,GACF,EAAA,GAGA,GAAA,SAAA,2CAIA,EAAA,MAAA,EAAA,YAAA,KAIE,EAAA,SAAA,WACA,EAAA,SAAA,EAAA,SAAA,WAIF,EAAA,MAAA,GAQL,EAAA,qBAAA,KAAA,WCnIH,MAEA,iBAQM,OAAA,6BAAA,oCAAA,oCAEA,cAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,aACA,UAAA,cACA,SAAA,iCACA,QAAA,QACA,WAAA,EACA,UAAA,EACA,MAAA,EACA,MAAA,EAEA,WAAA,EACA,SAAA,OACA,WAAA,YACA,gBAAA,KACA,WAAA,EACF,SAAA,iBAEA,OAAA,aAEE,WAAA,EACA,OAAA,iCACA,SAAA,mCACA,cAAA,kJAiNM,GAAA,EAAA,GACF,GAAA,EAAA,GAAA,gBAAA,CACE,GAAA,GAAA,EAAA,GAAA,iBACA,GAAA,UAAA,GACF,EAAA,UAAA,YAAA,GACF,EAAA,QAAA,YAAA,kBAEA,GAAA,GAAA,kBACE,EAAA,GAAA,kBAAA,EAAA,GACF,QAAA,YAAA,EAAA,GAAA,wCAEA,EAAA,GAAA,aAAA,WAIE,OACE,GAAA,QArNJ,GAAA,GAAA,EAAA,EAAA,QAAA,UAAA,EAAA,IACA,EAAA,EAAA,mBAEA,EAAA,EAAA,WAKA,EAAA,EAAA,YAAA,GAAA,iIAGE,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,WACF,EAAA,4BAAA,KAAA,GAAA,MAAA,EACA,GAAA,QAAA,EAAA,SACE,UAAA,EAAA,SAIF,EAAA,QAAA,SAAA,EAAA,6CAIA,EAAA,WAAA,EAAA,MAEE,gBAAA,SAAA,KACE,eAAA,MAKF,OAAA,SAAA,2CAGF,EAAA,MAAA,EACE,QAAA,OAAA,GAAA,KAAA,EAAA,WAAA,OAAA,EAAA,aAAA,OAAA,EAAA,aAAA,YAAA,EAAA,oBACA,EAAA,UACA,EAAA,UACA,EAAA,YAIA,OAAA,SAAA,EAAA,EAAA,KAEA,EAAA,YAAA,MAAA,EAAA,WAAA,cAAA,EAAA,WAAA,GAAA,MAAA,KAAA,EAAA,IACF,QAAA,OAAA,KAAA,EAAA,GAAA,MAAA,8CAEA,IAAA,GAAA,EAAA,WAAA,WAAA,EAAA,cACE,EAAA,cAAA,EAAA,YACA,EAAA,UACA,EAAA,YAAA,GACA,EAAA,MAAA,iCAKF,GAAA,IAAA,GAAA,EAAA,YAAA,UACE,GAAA,WAAA,SAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IACA,EAAA,cAAA,EAAA,YACA,EAAA,aAKA,OAAA,cAEE,GACA,EADA,EAAA,EAAA,SAAA,SAAA,EAAA,OAAA,EAAA,IACA,IACF,KAAA,EAAA,EAAA,EAAA,EAAA,OAAA,iDAEA,EAAA,MAAA,KAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,GAAA,SAAA,EAAA,YAAA,EAAA,QAEE,GAAA,IACF,KAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IACA,EAAA,GAAA,MAAA,KAAA,EAAA,EAAA,EAAA,EAAA,QAAA,EAAA,GAAA,EAAA,YACA,EAAA,MAAA,KAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,GAAA,SAAA,EAAA,YAAA,EAAA,IAGA,IAAA,KACF,KAAA,EAAA,EAAA,EAAA,EAAA,OAAA,uBAGE,GAAA,KAAA,EACA,EAAA,SAAA,EAAA,KACE,MAAA,EAAA,OAAA,EAAA,GAAA,MAAA,WAAA,GACF,EAAA,cAAA,EAAA,KACE,UAAA,+BAIJ,MAAA,GAAA,MACE,IAAA,EACA,EAAA,aAAA,EAAA,MAAA,WACE,IAAA,EACF,EAAA,eAAA,EAAA,MAAA,aADE,QAHJ,GAQA,EAAA,YAAA,SAAA,EAAA,QAOE,OALF,KAAA,EACE,EAAA,EAAA,UAAA,IAAA,EAAA,OACE,IAAA,IACF,EAAA,EAAA,UAAA,KAAA,EAAA,MAEA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAGF,EAAA,aAAA,SAAA,EAAA,GACE,WAAA,EAAA,cACA,EAAA,eAAA,EAAA,GAEA,EAAA,WAAA,EAAA,MAIE,eAAA,SAAA,EAAA,GACF,CAAA,GAAA,GAAA,GAAA,MAAA,EAAA,OACA,EAAA,EAAA,WACA,GADA,EAAA,EAAA,KAAA,OACA,EAAA,aAAA,GAAA,EAAA,MAAA,OACF,IAAA,0CAIE,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,IAAA,KAEE,OAAA,EAAA,GAAA,GACF,EAAA,aAGA,WAAA,SAAA,EAAA,GACA,GAAA,EACF,KAAA,mDAEA,QAAA,OAAA,GAAA,KAAA,EAAA,cACE,IAAA,IACA,EAAA,GAAA,MAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,YACA,QAAA,OAAA,GAAA,OAAA,EAAA,gBAEA,EAAA,YAGI,aAAA,SAAA,MAEF,UAAA,EAAA,OAAA,SAAA,eAAA,EAAA,iBACF,EAAA,qBAGF,GAAA,GAAA,QAAA,QAAA,EAAA,OACE,YAAA,EAAA,GAAA,SAAA,gBACA,EAAA,EAAA,wCAMA,WAAA,SAAA,GACA,GAAA,mBAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,IACA,EAAA,iBACA,EAAA,sDAME,GAAA,GAAA,MAAA,EAAA,OACA,EAAA,EAAA,WAAA,EAAA,EAAA,EAAA,KAAA,OACF,EAAA,EAAA,aAAA,EAAA,EAAA,EAAA,MAAA,mCAEA,EAAA,EAAA,IAAA,EAAA,EAGE,KACA,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EACA,KAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,OAIA,IAAA,EAAA,EACF,KAAA,GACE,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,KACA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,KACF,GAAA,EAAA,IACA,IAAA,GACA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,KACA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,KACF,GAAA,EAAA,EAAA,EAAA,EAAA,YAEA,GAAA,EAAA,sCAGE,EAAA,OAAA,EAAA,GAAA,KACE,EAAA,GAAA,EAAA,MACA,eA0BA,GAAA,EAAA,OACA,KAAA,WACF,MAAA,IAAA,EAAA,WACA,EAAA,KAAA,OAAA,YACF,GAAA,IAAA,qBAAA,eAEA,IACA,EAAA,KAAA,OAAA,QACE,EAAA,KAAA,WAAA,QACE,EAAA,GAAA,QAAA,QAEF,MAGF,IAAA,GAAA,EAAA,OACA,GAAA,QAAA,WACE,GAAA,EAAA,WACA,EAAA,IAAA,QAAA,WAKA,GAAA,EAAA,IACF,GAAA,KAAA,eAEA,WAAA,WACA,EAAA,SAAA,GAAA,EAAA,aAAA,YAAA,EAAA,cACE,EAAA,UACA,EAAA,GAAA,UAAA,EAAA,kCAMF,GAAA,KAAA,SAAA,6DAEF,EAAA,wCAGA,EAAA,SAvQE,IADA,QAAA,QAAA,EAAA,SAAA,MACA,8BAAA,KAAA,EAAA,UAAA,YACA,EAAA,eAAA,GAAA,UAAA,+BA6QN,EAAA,SAA2B,kBAQvB,gBAAA,UAAA,SAAA,KAAA,UAAA,aAAA,cAAA,cAAA,WAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,qBAGE,EAAA,8BAAA,KAAA,EAAA,UAAA,UACA,GAAA,uBAAA,EAAA,2BAGA,6BAEA,SAAA,EAAA,EAAA,EAAA,MAGE,IAAA,MAAA,EAAA,WAAA,WACA,SAAA,YAAA,YAAA,QAAA,UAAA,WAAA,OAAA,YAAA,WAAA,YAAA,WAAA,aAAA,kBAAA,YAAA,WAAA,aAAA,SAAA,iBAAA,SAAA,GACF,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAIA,EAAA,QAAA,EAAA,OAAA,EAAA,OAAA,SAAA,GACA,GAAA,QAAA,UAAA,4DAEA,KAAA,EAAA,EAAA,OAAA,EAAA,UAIA,IAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,YACE,GAAA,EAAA,EAAA,EAAA,KACA,EAAA,YAGE,GAAA,GAAA,OAAA,EAAA,WAAA,KAAA,EAAA,eAGE,SAAA,UAAA,WAAA,SAAA,WAEF,UAAA,EAAA,KAAA,EAAA,SAAA,EAAA,SAAA,GAEJ,EAAA,SAAA,GADE,QAAA,GACF,GAAA,OAAA,YAAA,KAAA,EAAA,2CAEA,GAAA,MAAA,EAAA,OAAA,EAAA,EAAA,OAAA,IAEE,EAAA,MAAA,EAAA,GAAA,MAAA,KAAA,EAAA,EAAA,KAEF,MAAA,EAAA,SAAA,KAAA,EAAA,eAKE,OAAA,EAAA,QAAA,aAEE,OAAA,EAAA,mBAIF,SAAA,QAAA,SAAA,OAGE,EAEA,WADA,GAAA,aAAA,QAAA,EAGF,IAAA,GAAA,QAAA,OAAA,GAAA,EAAA,EAAA,MAAA,EAAA,EAAA,WACA,KAAA,GAAA,MAAA,EAAA,WACE,EAAA,aAAA,QAAA,OACF,CACE,GAAA,GAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OACF,GAAA,aAAA,OAAA,GAEA,IAAA,EAAA,WAAA,GAEA,MAAA,WAAA,EAAA,SACF,EAAA,EAAA,EAAA,iBAAA,EAAA,kCAEA,EAAA,WAAA,UACA,QAAA,EAAA,SACE,EAAA,WAAA,cAEA,GAAA,MAAA,EAAA,gBAKE,YAAA,KAAA,SAAA,MAEA,SAEF,GADA,QAAA,YAAA,IAAA,OAAA,EACA,IACA,QAAA,OAAA,GACA,EACA,WAAA,EAAA,SACF,EAAA,MAAA,EAAA,KAAA,EAAA,iBAEA,GAAA,MAAA,GAIA,EAAA,WAAA,mBAKE,QAAA,WAEF,EAAA,KAAA,EAAA,YAAA,MAAA,EAAA,WAAA,WAAA,GAAA,EAAA,EAAA,WAAA,EAAA,0CAKL,GAAA,EAAA,UC7aH,EAAA,2BAUM,OAAA,0BAAA,+CAEA,WAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,GACA,YAAA,UACA,YAAA,UACA,WAAA,EACA,QAAA,EACA,UAAA,MACA,SAAA,2BACF,iBAAA,wBAEA,UAAY,UAEV,MAAA,EACA,MAAA,GACA,KAAA,iBAIE,MAAA,UAAA,aAAA,WAAA,KAAA,iBAAA,QAAA,WAAA,aAAA,QAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,WAMA,GAAA,EAAA,GAuSA,QAAA,KACE,MAAA,SAAA,EAAA,UACA,EAAA,OAAA,EAAA,OAAA,IAAA,EAAA,IAEA,EAAA,SAAA,EAAA,OAAA,IAAA,EAAA,YAII,GAAA,EAAA,EAAA,EAAA,MACF,GACA,EAAA,EAAA,MAAA,YAEA,EAAA,QACE,WAEF,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EACA,KAAA,EAAA,KAAA,EAAA,MAEA,WACE,YAEF,IAAA,EAAA,IAAA,EAAA,OACA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,EAEA,WACE,UAEF,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EACA,KAAA,EAAA,KAAA,QAGF,SACE,GACF,IAAA,EAAA,IAAA,iCAMI,EAAA,SACA,EAIJ,IAAA,QAAA,EAAA,IAAA,WAAA,EAAA,GACE,OAAA,EAAA,IACA,IAAA,OACE,EAAA,KAAA,EAAA,IACA,MACF,KAAA,QACE,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,MAEJ,IAAA,SAAA,EAAA,IAAA,UAAA,EAAA,gBAEA,IAAA,MACF,EAAA,IAAA,EAAA,IAAA,OAEA,KAAA,0CA9VE,MAGF,EAAA,EAAA,GAAA,SAAA,cACA,EAAA,EAAA,SAAA,QAAA,UAAA,EAAA,KACE,SAAA,EAAA,EAAA,SACF,IAAA,GAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA,4CAEA,EAAA,MAAA,WAAA,EAAA,QAIE,EAAA,QACF,EAAA,OAAA,MAAA,EAAA,SAIE,MAAA,WACF,EAAA,aAAA,WACA,EAAA,YAGE,MAAA,WACF,EAAA,aAAA,WACA,EAAA,UAGA,EAAA,QAAA,qCAEA,EAAA,cAGI,SAAA,EAAA,UAAA,QAGE,IAGA,oBACF,SAAA,EAAA,SAAA,KAAA,SAAA,GACF,GAAA,GAAA,QAAA,QAAA,EACF,OAAA,GAAA,EAAA,kCAEA,GAAA,GAAA,EAAA,sBAAA,EAAA,GAGE,OAFF,GAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,KACA,EAAA,WAAA,WAAA,KAAA,GACE,EAAA,GAAA,cAMF,IAAA,GAAA,EAAA,EAAA,CAkTF,oCAhTE,QAAA,SAAA,KAAA,EAAA,EAAA,gDAEE,EAAA,EAAA,MAAA,GACA,EAAA,IACE,EAAA,KACE,WAGJ,KAAA,WAGA,EAAA,OAAA,QAAA,SAAA,EAAA,SACA,EAAA,OACA,KAAA,EAAA,qBAWA,SAAA,EAAA,UACA,EAAA,EACA,QAAA,UAAA,EAAA,WACE,EAAA,EAAA,UACE,EAAA,YACF,EAAA,EAAA,EAAA,eAIA,GAAA,EAAA,QAAA,MAAA,IACF,SAAA,QAAA,EAAA,SAAA,eAEA,EAAA,GAAA,QAAA,EAAA,QACA,WAAA,IACE,EAAA,GAAA,UAAA,EAAA,aAAA,QAAA,EAAA,OACF,EAAA,GAAA,UAAA,EAAA,aAAA,OAAA,EAAA,iGAME,EAAA,SACF,EAAA,OAAA,QAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,EAAA,SAIF,EAAA,gCAEE,UAAA,EAAA,QAAA,EAAA,GAAA,QAAA,EAAA,YAME,QAAA,eAIA,GADE,GAAA,EAAA,QAAA,MAAA,KACF,EAAA,EAAA,OAAA,KAAA,CACF,GAAA,GAAA,EAAA,eAEA,EAAA,IAAA,QAAA,EAAA,QACA,WAAA,IACE,EAAA,IAAA,UAAA,EAAA,aAAA,QAAA,EAAA,OACA,EAAA,IAAA,UAAA,EAAA,aAAA,OAAA,EAAA,OACF,WAAA,GAAA,UAAA,GAAA,EAAA,IAAA,EAAA,aAAA,YAAA,EAAA,2BAKA,IACA,EAAA,iCAQA,EAAA,cAIA,MAAA,WAIF,MAFE,cAAA,UAEF,EAAA,OAAA,EAAA,MAAA,UAIE,EAAA,WAAA,WACA,OAAA,GAAA,EAAA,QACA,EAAA,MAAA,mBAIA,KAAA,kDAGA,IAAA,GAAA,EAAA,UAAA,EAAA,KACA,EAAA,EAAA,UAAA,KAAA,CAGA,IAAA,EAAA,SAEA,EAAA,EAAA,SAAA,EAAA,EAAA,8GAOA,EAAA,WAAA,EAAA,SAAA,EAAA,WAEA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,IAAA,EAAA,MAEE,EAAA,aAAA,EAAA,SAAA,EAAA,eAEA,MAAA,EAAA,EAAA,EAAA,WACA,EAAA,MAAA,EAAA,YAAA,QAAA,8BAGF,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,SAAA,EAAA,UACA,EAAA,WACE,EAAA,kBAGA,EAAA,KAAA,WAAA,2BAKJ,UAAA,EAAA,mBAEA,EAAA,GAAA,QAAA,EAAA,WAEE,EAAA,GAAA,QAAA,EAAA,mBAME,MAAA,+BAEA,GACF,EAAA,iCAIF,EAAA,WAAA,sBAEE,EAAA,uBAJF,EAAA,UAUI,KAAA,SAAA,GAEE,EAAA,aACF,MAAA,EAAA,YAAA,eAAA,wBAMF,MAHA,GAAA,MAAA,EAAA,YAAA,QAAA,GAGA,GAAA,UAAA,EAAA,QACA,EAAA,GAAA,OADA,SAKF,EAAA,SAAA,EAAA,UAAA,mDAIA,EAAA,UAAA,OAAA,+BAMA,EAAA,OAAA,8DAKE,EAAA,GAAA,WAKI,gBAAA,2BAOJ,EAAA,EAAA,KAAA,eACA,EAAA,EAAA,KAAA,yCAME,KAAA,OACA,MAAA,KACF,EAAA,IAAA,OAIA,SAAA,SAAA,GACE,KAAA,EAAA,OAAA,EAAA,WACA,EAAA,OACF,EAAA,sBAIA,cAAA,SAAA,GACA,KAAA,EAAA,QACA,EAAA,GAAA,OACA,EAAA,2DAKF,EAAA,iBACE,EAAA,kBAEA,EAAA,SAAA,EAAA,GAAA,OAAA,EAAA,GAAA,SAsEJ,UAMM,GAAA,EAAA,SACA,SAAA,SAAA,GAAA,GAAA,iBAAA,YAGJ,GAAA,GACF,MAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,qBAEA,MAAA,SAAA,SAAA,oBAED,EAAA,MAEH,OA7XM,GAAA,OAAA,UAAA,KACA,EAAA,eAAA,GAAA,SACA,EAAA,aA+XJ,OAAA,iBAMI,aAAA,UAAA,YAAA,OAAA,WAAA,QAAA,SAAA,EAAA,EAAA,EAAA,EAAA,mBAGA,oBAEA,SAAA,EAAA,EAAA,MAGI,IAAA,MAAA,WACA,SAAA,WAAA,kBAAA,YAAA,YAAA,SAAA,QAAA,UAAA,WAAA,OAAA,YAAA,OAAA,eAAA,SAAA,WACE,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,4CAKN,EAAA,SAAA,EAAA,SAAA,EAAA,GACA,EAAA,GAAA,EAAA,YAAA,GACE,QAAA,UAAA,IAAA,EAAA,WACE,GAAA,EAAA,0BAMF,WAAA,EAAA,OAAA,EAAA,UAAA,SAAA,EAAA,GACF,QAAA,SAAA,uBAGA,EAAA,MAAA,EAEE,QAAA,UAAA,IAAA,EAAA,WACA,GAAA,EAAA,iEAMF,GAAA,QAAA,UAAA,KACA,QAAA,SAAA,KAAA,IAAA,EAAA,MAAA,kBACE,KAAA,EAAA,EAAA,OAAA,EAAA,mDAQP,GAAA,EAAA,UCzdH,EAAA,2BAUM,OAAA,4BAAA,yBAAA,iDAEA,aAAA,cAEA,GAAA,KAAA,UACA,UAAA,UACA,YAAA,YACA,YAAA,aACA,UAAA,cACA,SAAA,+BACF,QAAA,qBAEA,UAAY,UAEV,MAAA,cAEA,OAAA,uBAIE,MAAA,UAAA,aAAA,WAAA,SAAA,EAAA,EAAA,WAIA,GAAA,EAAA,EAAA,YAKE,EAAA,QAAA,UAAA,EAAA,EAEF,GAAA,EAAA,EAAA,iBAEA,EAAA,EAAA,SAEI,cAAA,WACF,EAAA,YACF,EAAA,aAAA,GAEA,EAAA,kBAEI,UAAA,SAAA,GACF,EAAA,aAAA,WACF,EAAA,SAAA,MAIA,EAAA,QAAA,SAAA,6BAEA,EAAA,OAAA,QAIE,WAAA,iBACE,GAAA,gBAKF,OAAA,SAAA,GACF,EAAA,SAAA,6BAEA,EAAA,aAAA,MAIE,SAAA,SAAA,GACA,EAAA,aAAA,GAGF,EAAA,OAAA,SAAA,4BAEA,GAAA,cAAA,eAEA,EAAA,gBACE,GAAA,EAAA,UAEA,EAAA,MAAA,EAAA,YAAA,UAAA,EAAA,IAKF,EAAA,WAAA,WACE,MAAA,GAAA,WAAA,EAIA,EAAA,SAAA,QAAA,QAAA,SAAA,EAAA,aAAA,EAAA,WAAA,QAAA,EAAA,YAHA,EAAA,SAAA,QAMF,EAAA,UAAA,SAAA,8BAEA,IAAA,EAAA,CACE,IAAA,EAAA,EAAA,KACA,EAAA,SAAA,GAAA,QAAA,IAEF,KAAA,EAAA,yCAME,EAAA,mBACE,4CAIF,aAAA,KAAA,EAAA,WAGA,EAAA,kCAEA,EAAA,mBAIA,KAAA,EAAA,SAAA,EAAA,SAAA,OACF,EAAA,OAAA,EAAA,cAIA,KAAA,EAAA,SAAA,EAAA,aAAA,EAAA,EAAA,eACA,KAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,OAAA,EAAA,EAAA,eACE,QAAA,YAAA,EAAA,gBAAA,EAAA,aAAA,GACA,EAAA,eAKA,GAAA,EAAA,IACF,GAAA,KAAA,eAEA,WAAA,WACA,EAAA,SAAA,GAAA,YAAA,EAAA,cACE,EAAA,UACA,EAAA,GAAA,UAAA,EAAA,kCAMF,GAAA,KAAA,sDAEF,EAAA,wCAGA,uCAQF,qBAAA,2GAQI,GAAA,EAAA,yBAGA,6BAEA,SAAA,EAAA,EAAA,EAAA,GAGA,GAAA,IAAA,MAAA,EACA,SAAA,SAAA,YAAA,YAAA,QAAA,UAAA,WAAA,OAAA,YAAA,WAAA,SAAA,QAAA,YAAA,eAAA,cAAA,SAAA,GACA,QAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAIA,IAAA,GAAA,EAAA,QAAA,EAAA,0BAEA,EAAA,EAAA,SACA,KAAA,GAAA,MAAA,EAAA,eACE,IAAA,GAAA,cAAA,MACA,GAAA,EAAA,GAGE,EAAA,EAAA,EAAA,EAAA,QAGA,aAAA,CAEJ,GAAA,GAAA,EAAA,OAAA,GAAA,QAAA,OAAA,IAAA,QAAA,UAAA,IAAA,6BAGA,EAAA,SAAA,EAAA,GAAA,KAAA,SAAA,GACE,EAAA,OAAA,GACA,EAAA,cAEA,KAII,OAAA,EAAA,QAAA,SAAA,KAEF,YAAA,IACA,SAAA,EAAA,QACA,SAAA,GAGA,GAAA,EAAA,aAAA,EAAA,QAAA,EAAA,OAAA,EAEA,WADA,GAAA,cAAA,EAAA,WAAA,UAAA,EAAA,EAAA,WAAA,OAAA,GAGF,GAAA,OAAA,IAAA,EAAA,EAAA,MAAA,EAAA,GACF,IAAA,GAAA,EAAA,6BAGA,IAAA,EAAA,QAAA,EAAA,GAAA,QAAA,MACE,GAAA,EAAA,OAAA,GAEA,EAAA,oCAOF,GAAA,EAAA,SAAA,EAAA,YAAA,MAAA,GAAA,IAAA,GACE,IAAA,GAAA,EAAA,UAAA,EAAA,aACA,EAAA,QAAA,UAAA,GAAA,EAAA,OAAA,SAAA,GAAA,MAAA,EAAA,UACA,GAAA,QAAA,SAAA,GAAA,EAAA,MAAA,EACF,EAAA,IAAA,EAAA,QAAA,iBAAA,IAAA,qCAKL,GAAA,EAAA","sourcesContent":["\nangular.module('mgcrea.ngStrap', [\n 'mgcrea.ngStrap.modal',\n 'mgcrea.ngStrap.aside',\n 'mgcrea.ngStrap.alert',\n 'mgcrea.ngStrap.button',\n 'mgcrea.ngStrap.select',\n 'mgcrea.ngStrap.datepicker',\n 'mgcrea.ngStrap.timepicker',\n 'mgcrea.ngStrap.navbar',\n 'mgcrea.ngStrap.tooltip',\n 'mgcrea.ngStrap.popover',\n 'mgcrea.ngStrap.dropdown',\n 'mgcrea.ngStrap.typeahead',\n 'mgcrea.ngStrap.scrollspy',\n 'mgcrea.ngStrap.affix',\n 'mgcrea.ngStrap.tab',\n 'mgcrea.ngStrap.collapse'\n]);\n","'use strict';\n\nangular.module('mgcrea.ngStrap.affix', ['mgcrea.ngStrap.helpers.dimensions', 'mgcrea.ngStrap.helpers.debounce'])\n\n .provider('$affix', function() {\n\n var defaults = this.defaults = {\n offsetTop: 'auto'\n };\n\n this.$get = function($window, debounce, dimensions) {\n\n var bodyEl = angular.element($window.document.body);\n var windowEl = angular.element($window);\n\n function AffixFactory(element, config) {\n\n var $affix = {};\n\n // Common vars\n var options = angular.extend({}, defaults, config);\n var targetEl = options.target;\n\n // Initial private vars\n var reset = 'affix affix-top affix-bottom',\n initialAffixTop = 0,\n initialOffsetTop = 0,\n offsetTop = 0,\n offsetBottom = 0,\n affixed = null,\n unpin = null;\n\n var parent = element.parent();\n // Options: custom parent\n if (options.offsetParent) {\n if (options.offsetParent.match(/^\\d+$/)) {\n for (var i = 0; i < (options.offsetParent * 1) - 1; i++) {\n parent = parent.parent();\n }\n }\n else {\n parent = angular.element(options.offsetParent);\n }\n }\n\n $affix.init = function() {\n\n $affix.$parseOffsets();\n initialOffsetTop = dimensions.offset(element[0]).top + initialAffixTop;\n\n // Bind events\n targetEl.on('scroll', $affix.checkPosition);\n targetEl.on('click', $affix.checkPositionWithEventLoop);\n windowEl.on('resize', $affix.$debouncedOnResize);\n\n // Both of these checkPosition() calls are necessary for the case where\n // the user hits refresh after scrolling to the bottom of the page.\n $affix.checkPosition();\n $affix.checkPositionWithEventLoop();\n\n };\n\n $affix.destroy = function() {\n\n // Unbind events\n targetEl.off('scroll', $affix.checkPosition);\n targetEl.off('click', $affix.checkPositionWithEventLoop);\n windowEl.off('resize', $affix.$debouncedOnResize);\n\n };\n\n $affix.checkPositionWithEventLoop = function() {\n\n setTimeout($affix.checkPosition, 1);\n\n };\n\n $affix.checkPosition = function() {\n // if (!this.$element.is(':visible')) return\n\n var scrollTop = getScrollTop();\n var position = dimensions.offset(element[0]);\n var elementHeight = dimensions.height(element[0]);\n\n // Get required affix class according to position\n var affix = getRequiredAffixClass(unpin, position, elementHeight);\n\n // Did affix status changed this last check?\n if(affixed === affix) return;\n affixed = affix;\n\n // Add proper affix class\n element.removeClass(reset).addClass('affix' + ((affix !== 'middle') ? '-' + affix : ''));\n\n if(affix === 'top') {\n unpin = null;\n element.css('position', (options.offsetParent) ? '' : 'relative');\n element.css('top', '');\n } else if(affix === 'bottom') {\n if (options.offsetUnpin) {\n unpin = -(options.offsetUnpin * 1);\n }\n else {\n // Calculate unpin threshold when affixed to bottom.\n // Hopefully the browser scrolls pixel by pixel.\n unpin = position.top - scrollTop;\n }\n element.css('position', (options.offsetParent) ? '' : 'relative');\n element.css('top', (options.offsetParent) ? '' : ((bodyEl[0].offsetHeight - offsetBottom - elementHeight - initialOffsetTop) + 'px'));\n } else { // affix === 'middle'\n unpin = null;\n element.css('position', 'fixed');\n element.css('top', initialAffixTop + 'px');\n }\n\n };\n\n $affix.$onResize = function() {\n $affix.$parseOffsets();\n $affix.checkPosition();\n };\n $affix.$debouncedOnResize = debounce($affix.$onResize, 50);\n\n $affix.$parseOffsets = function() {\n\n // Reset position to calculate correct offsetTop\n element.css('position', (options.offsetParent) ? '' : 'relative');\n\n if(options.offsetTop) {\n if(options.offsetTop === 'auto') {\n options.offsetTop = '+0';\n }\n if(options.offsetTop.match(/^[-+]\\d+$/)) {\n initialAffixTop = - options.offsetTop * 1;\n if(options.offsetParent) {\n offsetTop = dimensions.offset(parent[0]).top + (options.offsetTop * 1);\n }\n else {\n offsetTop = dimensions.offset(element[0]).top - dimensions.css(element[0], 'marginTop', true) + (options.offsetTop * 1);\n }\n }\n else {\n offsetTop = options.offsetTop * 1;\n }\n }\n\n if(options.offsetBottom) {\n if(options.offsetParent && options.offsetBottom.match(/^[-+]\\d+$/)) {\n // add 1 pixel due to rounding problems...\n offsetBottom = getScrollHeight() - (dimensions.offset(parent[0]).top + dimensions.height(parent[0])) + (options.offsetBottom * 1) + 1;\n }\n else {\n offsetBottom = options.offsetBottom * 1;\n }\n }\n\n };\n\n // Private methods\n\n function getRequiredAffixClass(unpin, position, elementHeight) {\n\n var scrollTop = getScrollTop();\n var scrollHeight = getScrollHeight();\n\n if(scrollTop <= offsetTop) {\n return 'top';\n } else if(unpin !== null && (scrollTop + unpin <= position.top)) {\n return 'middle';\n } else if(offsetBottom !== null && (position.top + elementHeight + initialAffixTop >= scrollHeight - offsetBottom)) {\n return 'bottom';\n } else {\n return 'middle';\n }\n\n }\n\n function getScrollTop() {\n return targetEl[0] === $window ? $window.pageYOffset : targetEl[0].scrollTop;\n }\n\n function getScrollHeight() {\n return targetEl[0] === $window ? $window.document.body.scrollHeight : targetEl[0].scrollHeight;\n }\n\n $affix.init();\n return $affix;\n\n }\n\n return AffixFactory;\n\n };\n\n })\n\n .directive('bsAffix', function($affix, $window) {\n\n return {\n restrict: 'EAC',\n require: '^?bsAffixTarget',\n link: function postLink(scope, element, attr, affixTarget) {\n\n var options = {scope: scope, offsetTop: 'auto', target: affixTarget ? affixTarget.$element : angular.element($window)};\n angular.forEach(['offsetTop', 'offsetBottom', 'offsetParent', 'offsetUnpin'], function(key) {\n if(angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n var affix = $affix(element, options);\n scope.$on('$destroy', function() {\n affix && affix.destroy();\n options = null;\n affix = null;\n });\n\n }\n };\n\n })\n\n .directive('bsAffixTarget', function() {\n return {\n controller: function($element) {\n this.$element = $element;\n }\n };\n });\n","'use strict';\n\nangular.module('mgcrea.ngStrap.aside', ['mgcrea.ngStrap.modal'])\n\n .provider('$aside', function() {\n\n var defaults = this.defaults = {\n animation: 'am-fade-and-slide-right',\n prefixClass: 'aside',\n placement: 'right',\n template: 'aside/aside.tpl.html',\n contentTemplate: false,\n container: false,\n element: null,\n backdrop: true,\n keyboard: true,\n html: false,\n show: true\n };\n\n this.$get = function($modal) {\n\n function AsideFactory(config) {\n\n var $aside = {};\n\n // Common vars\n var options = angular.extend({}, defaults, config);\n\n $aside = $modal(options);\n\n return $aside;\n\n }\n\n return AsideFactory;\n\n };\n\n })\n\n .directive('bsAside', function($window, $sce, $aside) {\n\n var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;\n\n return {\n restrict: 'EAC',\n scope: true,\n link: function postLink(scope, element, attr, transclusion) {\n // Directive options\n var options = {scope: scope, element: element, show: false};\n angular.forEach(['template', 'contentTemplate', 'placement', 'backdrop', 'keyboard', 'html', 'container', 'animation'], function(key) {\n if(angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n // Support scope as data-attrs\n angular.forEach(['title', 'content'], function(key) {\n attr[key] && attr.$observe(key, function(newValue, oldValue) {\n scope[key] = $sce.trustAsHtml(newValue);\n });\n });\n\n // Support scope as an object\n attr.bsAside && scope.$watch(attr.bsAside, function(newValue, oldValue) {\n if(angular.isObject(newValue)) {\n angular.extend(scope, newValue);\n } else {\n scope.content = newValue;\n }\n }, true);\n\n // Initialize aside\n var aside = $aside(options);\n\n // Trigger\n element.on(attr.trigger || 'click', aside.toggle);\n\n // Garbage collection\n scope.$on('$destroy', function() {\n if (aside) aside.destroy();\n options = null;\n aside = null;\n });\n\n }\n };\n\n });\n","'use strict';\n\n// @BUG: following snippet won't compile correctly\n// @TODO: submit issue to core\n// ' ' +\n\nangular.module('mgcrea.ngStrap.alert', ['mgcrea.ngStrap.modal'])\n\n .provider('$alert', function() {\n\n var defaults = this.defaults = {\n animation: 'am-fade',\n prefixClass: 'alert',\n placement: null,\n template: 'alert/alert.tpl.html',\n container: false,\n element: null,\n backdrop: false,\n keyboard: true,\n show: true,\n // Specific options\n duration: false,\n type: false,\n dismissable: true\n };\n\n this.$get = function($modal, $timeout) {\n\n function AlertFactory(config) {\n\n var $alert = {};\n\n // Common vars\n var options = angular.extend({}, defaults, config);\n\n $alert = $modal(options);\n\n // Support scope as string options [/*title, content, */ type, dismissable]\n $alert.$scope.dismissable = !!options.dismissable;\n if(options.type) {\n $alert.$scope.type = options.type;\n }\n\n // Support auto-close duration\n var show = $alert.show;\n if(options.duration) {\n $alert.show = function() {\n show();\n $timeout(function() {\n $alert.hide();\n }, options.duration * 1000);\n };\n }\n\n return $alert;\n\n }\n\n return AlertFactory;\n\n };\n\n })\n\n .directive('bsAlert', function($window, $sce, $alert) {\n\n var requestAnimationFrame = $window.requestAnimationFrame || $window.setTimeout;\n\n return {\n restrict: 'EAC',\n scope: true,\n link: function postLink(scope, element, attr, transclusion) {\n\n // Directive options\n var options = {scope: scope, element: element, show: false};\n angular.forEach(['template', 'placement', 'keyboard', 'html', 'container', 'animation', 'duration', 'dismissable'], function(key) {\n if(angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n // Support scope as data-attrs\n angular.forEach(['title', 'content', 'type'], function(key) {\n attr[key] && attr.$observe(key, function(newValue, oldValue) {\n scope[key] = $sce.trustAsHtml(newValue);\n });\n });\n\n // Support scope as an object\n attr.bsAlert && scope.$watch(attr.bsAlert, function(newValue, oldValue) {\n if(angular.isObject(newValue)) {\n angular.extend(scope, newValue);\n } else {\n scope.content = newValue;\n }\n }, true);\n\n // Initialize alert\n var alert = $alert(options);\n\n // Trigger\n element.on(attr.trigger || 'click', alert.toggle);\n\n // Garbage collection\n scope.$on('$destroy', function() {\n if (alert) alert.destroy();\n options = null;\n alert = null;\n });\n\n }\n };\n\n });\n","'use strict';\n\nangular.module('mgcrea.ngStrap.button', [])\n\n .provider('$button', function() {\n\n var defaults = this.defaults = {\n activeClass:'active',\n toggleEvent:'click'\n };\n\n this.$get = function() {\n return {defaults: defaults};\n };\n\n })\n\n .directive('bsCheckboxGroup', function() {\n\n return {\n restrict: 'A',\n require: 'ngModel',\n compile: function postLink(element, attr) {\n element.attr('data-toggle', 'buttons');\n element.removeAttr('ng-model');\n var children = element[0].querySelectorAll('input[type=\"checkbox\"]');\n angular.forEach(children, function(child) {\n var childEl = angular.element(child);\n childEl.attr('bs-checkbox', '');\n childEl.attr('ng-model', attr.ngModel + '.' + childEl.attr('value'));\n });\n }\n\n };\n\n })\n\n .directive('bsCheckbox', function($button, $$rAF) {\n\n var defaults = $button.defaults;\n var constantValueRegExp = /^(true|false|\\d+)$/;\n\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function postLink(scope, element, attr, controller) {\n\n var options = defaults;\n\n // Support label > input[type=\"checkbox\"]\n var isInput = element[0].nodeName === 'INPUT';\n var activeElement = isInput ? element.parent() : element;\n\n var trueValue = angular.isDefined(attr.trueValue) ? attr.trueValue : true;\n if(constantValueRegExp.test(attr.trueValue)) {\n trueValue = scope.$eval(attr.trueValue);\n }\n var falseValue = angular.isDefined(attr.falseValue) ? attr.falseValue : false;\n if(constantValueRegExp.test(attr.falseValue)) {\n falseValue = scope.$eval(attr.falseValue);\n }\n\n // Parse exotic values\n var hasExoticValues = typeof trueValue !== 'boolean' || typeof falseValue !== 'boolean';\n if(hasExoticValues) {\n controller.$parsers.push(function(viewValue) {\n // console.warn('$parser', element.attr('ng-model'), 'viewValue', viewValue);\n return viewValue ? trueValue : falseValue;\n });\n // Fix rendering for exotic values\n scope.$watch(attr.ngModel, function(newValue, oldValue) {\n controller.$render();\n });\n }\n\n // model -> view\n controller.$render = function () {\n // console.warn('$render', element.attr('ng-model'), 'controller.$modelValue', typeof controller.$modelValue, controller.$modelValue, 'controller.$viewValue', typeof controller.$viewValue, controller.$viewValue);\n var isActive = angular.equals(controller.$modelValue, trueValue);\n $$rAF(function() {\n if(isInput) element[0].checked = isActive;\n activeElement.toggleClass(options.activeClass, isActive);\n });\n };\n\n // view -> model\n element.bind(options.toggleEvent, function() {\n scope.$apply(function () {\n // console.warn('!click', element.attr('ng-model'), 'controller.$viewValue', typeof controller.$viewValue, controller.$viewValue, 'controller.$modelValue', typeof controller.$modelValue, controller.$modelValue);\n if(!isInput) {\n controller.$setViewValue(!activeElement.hasClass('active'));\n }\n if(!hasExoticValues) {\n controller.$render();\n }\n });\n });\n\n }\n\n };\n\n })\n\n .directive('bsRadioGroup', function() {\n\n return {\n restrict: 'A',\n require: 'ngModel',\n compile: function postLink(element, attr) {\n element.attr('data-toggle', 'buttons');\n element.removeAttr('ng-model');\n var children = element[0].querySelectorAll('input[type=\"radio\"]');\n angular.forEach(children, function(child) {\n angular.element(child).attr('bs-radio', '');\n angular.element(child).attr('ng-model', attr.ngModel);\n });\n }\n\n };\n\n })\n\n .directive('bsRadio', function($button, $$rAF) {\n\n var defaults = $button.defaults;\n var constantValueRegExp = /^(true|false|\\d+)$/;\n\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function postLink(scope, element, attr, controller) {\n\n var options = defaults;\n\n // Support `label > input[type=\"radio\"]` markup\n var isInput = element[0].nodeName === 'INPUT';\n var activeElement = isInput ? element.parent() : element;\n\n var value = constantValueRegExp.test(attr.value) ? scope.$eval(attr.value) : attr.value;\n\n // model -> view\n controller.$render = function () {\n // console.warn('$render', element.attr('value'), 'controller.$modelValue', typeof controller.$modelValue, controller.$modelValue, 'controller.$viewValue', typeof controller.$viewValue, controller.$viewValue);\n var isActive = angular.equals(controller.$modelValue, value);\n $$rAF(function() {\n if(isInput) element[0].checked = isActive;\n activeElement.toggleClass(options.activeClass, isActive);\n });\n };\n\n // view -> model\n element.bind(options.toggleEvent, function() {\n scope.$apply(function () {\n // console.warn('!click', element.attr('value'), 'controller.$viewValue', typeof controller.$viewValue, controller.$viewValue, 'controller.$modelValue', typeof controller.$modelValue, controller.$modelValue);\n controller.$setViewValue(value);\n controller.$render();\n });\n });\n\n }\n\n };\n\n });\n","'use strict';\n\nangular.module('mgcrea.ngStrap.collapse', [])\n\n .provider('$collapse', function() {\n\n var defaults = this.defaults = {\n animation: 'am-collapse',\n disallowToggle: false,\n activeClass: 'in'\n };\n\n var controller = this.controller = function($scope, $element, $attrs) {\n var self = this;\n\n // Attributes options\n self.$options = angular.copy(defaults);\n angular.forEach(['animation', 'disallowToggle', 'activeClass'], function(key) {\n if(angular.isDefined($attrs[key])) self.$options[key] = $attrs[key];\n });\n\n self.$toggles = [];\n self.$targets = [];\n\n self.$viewChangeListeners = [];\n\n self.$registerToggle = function(element) {\n self.$toggles.push(element);\n };\n self.$registerTarget = function(element) {\n self.$targets.push(element);\n };\n\n self.$targets.$active = 0;\n self.$setActive = $scope.$setActive = function(value) {\n if(!self.$options.disallowToggle) {\n self.$targets.$active = self.$targets.$active === value ? -1 : value;\n } else {\n self.$targets.$active = value;\n }\n self.$viewChangeListeners.forEach(function(fn) {\n fn();\n });\n };\n\n };\n\n this.$get = function() {\n var $collapse = {};\n $collapse.defaults = defaults;\n $collapse.controller = controller;\n return $collapse;\n };\n\n })\n\n .directive('bsCollapse', function($window, $animate, $collapse) {\n\n var defaults = $collapse.defaults;\n\n return {\n require: ['?ngModel', 'bsCollapse'],\n controller: ['$scope', '$element', '$attrs', $collapse.controller],\n link: function postLink(scope, element, attrs, controllers) {\n\n var ngModelCtrl = controllers[0];\n var bsCollapseCtrl = controllers[1];\n\n if(ngModelCtrl) {\n\n // Update the modelValue following\n bsCollapseCtrl.$viewChangeListeners.push(function() {\n ngModelCtrl.$setViewValue(bsCollapseCtrl.$targets.$active);\n });\n\n // modelValue -> $formatters -> viewValue\n ngModelCtrl.$formatters.push(function(modelValue) {\n // console.warn('$formatter(\"%s\"): modelValue=%o (%o)', element.attr('ng-model'), modelValue, typeof modelValue);\n bsCollapseCtrl.$setActive(modelValue * 1);\n return modelValue;\n });\n\n }\n\n }\n };\n\n })\n\n .directive('bsCollapseToggle', function() {\n\n return {\n require: ['^?ngModel', '^bsCollapse'],\n link: function postLink(scope, element, attrs, controllers) {\n\n var ngModelCtrl = controllers[0];\n var bsCollapseCtrl = controllers[1];\n\n // Add base attr\n element.attr('data-toggle', 'collapse');\n\n // Push pane to parent bsCollapse controller\n bsCollapseCtrl.$registerToggle(element);\n element.on('click', function() {\n var index = attrs.bsCollapseToggle || bsCollapseCtrl.$toggles.indexOf(element);\n bsCollapseCtrl.$setActive(index * 1);\n scope.$apply();\n });\n\n }\n };\n\n })\n\n .directive('bsCollapseTarget', function($animate) {\n\n return {\n require: ['^?ngModel', '^bsCollapse'],\n // scope: true,\n link: function postLink(scope, element, attrs, controllers) {\n\n var ngModelCtrl = controllers[0];\n var bsCollapseCtrl = controllers[1];\n\n // Add base class\n element.addClass('collapse');\n\n // Add animation class\n if(bsCollapseCtrl.$options.animation) {\n element.addClass(bsCollapseCtrl.$options.animation);\n }\n\n // Push pane to parent bsCollapse controller\n bsCollapseCtrl.$registerTarget(element);\n\n function render() {\n var index = bsCollapseCtrl.$targets.indexOf(element);\n var active = bsCollapseCtrl.$targets.$active;\n $animate[index === active ? 'addClass' : 'removeClass'](element, bsCollapseCtrl.$options.activeClass);\n }\n\n bsCollapseCtrl.$viewChangeListeners.push(function() {\n render();\n });\n render();\n\n }\n };\n\n });\n","'use strict';\n\nangular.module('mgcrea.ngStrap.datepicker', ['mgcrea.ngStrap.helpers.dateParser', 'mgcrea.ngStrap.tooltip'])\n\n .provider('$datepicker', function() {\n\n var defaults = this.defaults = {\n animation: 'am-fade',\n prefixClass: 'datepicker',\n placement: 'bottom-left',\n template: 'datepicker/datepicker.tpl.html',\n trigger: 'focus',\n container: false,\n keyboard: true,\n html: false,\n delay: 0,\n // lang: $locale.id,\n useNative: false,\n dateType: 'date',\n dateFormat: 'shortDate',\n modelDateFormat: null,\n dayFormat: 'dd',\n strictFormat: false,\n autoclose: false,\n minDate: -Infinity,\n maxDate: +Infinity,\n startView: 0,\n minView: 0,\n startWeek: 0,\n daysOfWeekDisabled: '',\n iconLeft: 'glyphicon glyphicon-chevron-left',\n iconRight: 'glyphicon glyphicon-chevron-right'\n };\n\n this.$get = function($window, $document, $rootScope, $sce, $locale, dateFilter, datepickerViews, $tooltip) {\n\n var bodyEl = angular.element($window.document.body);\n var isNative = /(ip(a|o)d|iphone|android)/ig.test($window.navigator.userAgent);\n var isTouch = ('createTouch' in $window.document) && isNative;\n if(!defaults.lang) defaults.lang = $locale.id;\n\n function DatepickerFactory(element, controller, config) {\n\n var $datepicker = $tooltip(element, angular.extend({}, defaults, config));\n var parentScope = config.scope;\n var options = $datepicker.$options;\n var scope = $datepicker.$scope;\n if(options.startView) options.startView -= options.minView;\n\n // View vars\n\n var pickerViews = datepickerViews($datepicker);\n $datepicker.$views = pickerViews.views;\n var viewDate = pickerViews.viewDate;\n scope.$mode = options.startView;\n scope.$iconLeft = options.iconLeft;\n scope.$iconRight = options.iconRight;\n var $picker = $datepicker.$views[scope.$mode];\n\n // Scope methods\n\n scope.$select = function(date) {\n $datepicker.select(date);\n };\n scope.$selectPane = function(value) {\n $datepicker.$selectPane(value);\n };\n scope.$toggleMode = function() {\n $datepicker.setMode((scope.$mode + 1) % $datepicker.$views.length);\n };\n\n // Public methods\n\n $datepicker.update = function(date) {\n // console.warn('$datepicker.update() newValue=%o', date);\n if(angular.isDate(date) && !isNaN(date.getTime())) {\n $datepicker.$date = date;\n $picker.update.call($picker, date);\n }\n // Build only if pristine\n $datepicker.$build(true);\n };\n\n $datepicker.updateDisabledDates = function(dateRanges) {\n options.disabledDateRanges = dateRanges;\n for(var i = 0, l = scope.rows.length; i < l; i++) {\n angular.forEach(scope.rows[i], $datepicker.$setDisabledEl);\n }\n };\n\n $datepicker.select = function(date, keep) {\n // console.warn('$datepicker.select', date, scope.$mode);\n if(!angular.isDate(controller.$dateValue)) controller.$dateValue = new Date(date);\n if(!scope.$mode || keep) {\n controller.$setViewValue(angular.copy(date));\n controller.$render();\n if(options.autoclose && !keep) {\n $datepicker.hide(true);\n }\n } else {\n angular.extend(viewDate, {year: date.getFullYear(), month: date.getMonth(), date: date.getDate()});\n $datepicker.setMode(scope.$mode - 1);\n $datepicker.$build();\n }\n };\n\n $datepicker.setMode = function(mode) {\n // console.warn('$datepicker.setMode', mode);\n scope.$mode = mode;\n $picker = $datepicker.$views[scope.$mode];\n $datepicker.$build();\n };\n\n // Protected methods\n\n $datepicker.$build = function(pristine) {\n // console.warn('$datepicker.$build() viewDate=%o', viewDate);\n if(pristine === true && $picker.built) return;\n if(pristine === false && !$picker.built) return;\n $picker.build.call($picker);\n };\n\n $datepicker.$updateSelected = function() {\n for(var i = 0, l = scope.rows.length; i < l; i++) {\n angular.forEach(scope.rows[i], updateSelected);\n }\n };\n\n $datepicker.$isSelected = function(date) {\n return $picker.isSelected(date);\n };\n\n $datepicker.$setDisabledEl = function(el) {\n el.disabled = $picker.isDisabled(el.date);\n };\n\n $datepicker.$selectPane = function(value) {\n var steps = $picker.steps;\n var targetDate = new Date(Date.UTC(viewDate.year + ((steps.year || 0) * value), viewDate.month + ((steps.month || 0) * value), viewDate.date + ((steps.day || 0) * value)));\n angular.extend(viewDate, {year: targetDate.getUTCFullYear(), month: targetDate.getUTCMonth(), date: targetDate.getUTCDate()});\n $datepicker.$build();\n };\n\n $datepicker.$onMouseDown = function(evt) {\n // Prevent blur on mousedown on .dropdown-menu\n evt.preventDefault();\n evt.stopPropagation();\n // Emulate click for mobile devices\n if(isTouch) {\n var targetEl = angular.element(evt.target);\n if(targetEl[0].nodeName.toLowerCase() !== 'button') {\n targetEl = targetEl.parent();\n }\n targetEl.triggerHandler('click');\n }\n };\n\n $datepicker.$onKeyDown = function(evt) {\n if (!/(38|37|39|40|13)/.test(evt.keyCode) || evt.shiftKey || evt.altKey) return;\n evt.preventDefault();\n evt.stopPropagation();\n\n if(evt.keyCode === 13) {\n if(!scope.$mode) {\n return $datepicker.hide(true);\n } else {\n return scope.$apply(function() { $datepicker.setMode(scope.$mode - 1); });\n }\n }\n\n // Navigate with keyboard\n $picker.onKeyDown(evt);\n parentScope.$digest();\n };\n\n // Private\n\n function updateSelected(el) {\n el.selected = $datepicker.$isSelected(el.date);\n }\n\n function focusElement() {\n element[0].focus();\n }\n\n // Overrides\n\n var _init = $datepicker.init;\n $datepicker.init = function() {\n if(isNative && options.useNative) {\n element.prop('type', 'date');\n element.css('-webkit-appearance', 'textfield');\n return;\n } else if(isTouch) {\n element.prop('type', 'text');\n element.attr('readonly', 'true');\n element.on('click', focusElement);\n }\n _init();\n };\n\n var _destroy = $datepicker.destroy;\n $datepicker.destroy = function() {\n if(isNative && options.useNative) {\n element.off('click', focusElement);\n }\n _destroy();\n };\n\n var _show = $datepicker.show;\n $datepicker.show = function() {\n _show();\n setTimeout(function() {\n $datepicker.$element.on(isTouch ? 'touchstart' : 'mousedown', $datepicker.$onMouseDown);\n if(options.keyboard) {\n element.on('keydown', $datepicker.$onKeyDown);\n }\n });\n };\n\n var _hide = $datepicker.hide;\n $datepicker.hide = function(blur) {\n $datepicker.$element.off(isTouch ? 'touchstart' : 'mousedown', $datepicker.$onMouseDown);\n if(options.keyboard) {\n element.off('keydown', $datepicker.$onKeyDown);\n }\n _hide(blur);\n };\n\n return $datepicker;\n\n }\n\n DatepickerFactory.defaults = defaults;\n return DatepickerFactory;\n\n };\n\n })\n\n .directive('bsDatepicker', function($window, $parse, $q, $locale, dateFilter, $datepicker, $dateParser, $timeout) {\n\n var defaults = $datepicker.defaults;\n var isNative = /(ip(a|o)d|iphone|android)/ig.test($window.navigator.userAgent);\n var isNumeric = function(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n };\n\n return {\n restrict: 'EAC',\n require: 'ngModel',\n link: function postLink(scope, element, attr, controller) {\n\n // Directive options\n var options = {scope: scope, controller: controller};\n angular.forEach(['placement', 'container', 'delay', 'trigger', 'keyboard', 'html', 'animation', 'template', 'autoclose', 'dateType', 'dateFormat', 'modelDateFormat', 'dayFormat', 'strictFormat', 'startWeek', 'startDate', 'useNative', 'lang', 'startView', 'minView', 'iconLeft', 'iconRight', 'daysOfWeekDisabled'], function(key) {\n if(angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n // Visibility binding support\n attr.bsShow && scope.$watch(attr.bsShow, function(newValue, oldValue) {\n if(!datepicker || !angular.isDefined(newValue)) return;\n if(angular.isString(newValue)) newValue = !!newValue.match(',?(datepicker),?');\n newValue === true ? datepicker.show() : datepicker.hide();\n });\n\n // Initialize datepicker\n var datepicker = $datepicker(element, controller, options);\n options = datepicker.$options;\n // Set expected iOS format\n if(isNative && options.useNative) options.dateFormat = 'yyyy-MM-dd';\n\n // Observe attributes for changes\n angular.forEach(['minDate', 'maxDate'], function(key) {\n // console.warn('attr.$observe(%s)', key, attr[key]);\n angular.isDefined(attr[key]) && attr.$observe(key, function(newValue) {\n // console.warn('attr.$observe(%s)=%o', key, newValue);\n if(newValue === 'today') {\n var today = new Date();\n datepicker.$options[key] = +new Date(today.getFullYear(), today.getMonth(), today.getDate() + (key === 'maxDate' ? 1 : 0), 0, 0, 0, (key === 'minDate' ? 0 : -1));\n } else if(angular.isString(newValue) && newValue.match(/^\".+\"$/)) { // Support {{ dateObj }}\n datepicker.$options[key] = +new Date(newValue.substr(1, newValue.length - 2));\n } else if(isNumeric(newValue)) {\n datepicker.$options[key] = +new Date(parseInt(newValue, 10));\n } else if (angular.isString(newValue) && 0 === newValue.length) { // Reset date\n datepicker.$options[key] = key === 'maxDate' ? +Infinity : -Infinity;\n } else {\n datepicker.$options[key] = +new Date(newValue);\n }\n // Build only if dirty\n !isNaN(datepicker.$options[key]) && datepicker.$build(false);\n });\n });\n\n // Watch model for changes\n scope.$watch(attr.ngModel, function(newValue, oldValue) {\n datepicker.update(controller.$dateValue);\n }, true);\n\n // Normalize undefined/null/empty array,\n // so that we don't treat changing from undefined->null as a change.\n function normalizeDateRanges(ranges) {\n if (!ranges || !ranges.length) return null;\n return ranges;\n }\n\n if (angular.isDefined(attr.disabledDates)) {\n scope.$watch(attr.disabledDates, function(disabledRanges, previousValue) {\n disabledRanges = normalizeDateRanges(disabledRanges);\n previousValue = normalizeDateRanges(previousValue);\n\n if (disabledRanges !== previousValue) {\n datepicker.updateDisabledDates(disabledRanges);\n }\n });\n }\n\n var dateParser = $dateParser({format: options.dateFormat, lang: options.lang, strict: options.strictFormat});\n\n // viewValue -> $parsers -> modelValue\n controller.$parsers.unshift(function(viewValue) {\n // console.warn('$parser(\"%s\"): viewValue=%o', element.attr('ng-model'), viewValue);\n // Null values should correctly reset the model value & validity\n if(!viewValue) {\n controller.$setValidity('date', true);\n return;\n }\n var parsedDate = dateParser.parse(viewValue, controller.$dateValue);\n if(!parsedDate || isNaN(parsedDate.getTime())) {\n controller.$setValidity('date', false);\n return;\n } else {\n var isMinValid = isNaN(datepicker.$options.minDate) || parsedDate.getTime() >= datepicker.$options.minDate;\n var isMaxValid = isNaN(datepicker.$options.maxDate) || parsedDate.getTime() <= datepicker.$options.maxDate;\n var isValid = isMinValid && isMaxValid;\n controller.$setValidity('date', isValid);\n controller.$setValidity('min', isMinValid);\n controller.$setValidity('max', isMaxValid);\n // Only update the model when we have a valid date\n if(isValid) controller.$dateValue = parsedDate;\n }\n if(options.dateType === 'string') {\n return dateFilter(parsedDate, options.modelDateFormat || options.dateFormat);\n } else if(options.dateType === 'number') {\n return controller.$dateValue.getTime();\n } else if(options.dateType === 'iso') {\n return controller.$dateValue.toISOString();\n } else {\n return new Date(controller.$dateValue);\n }\n });\n\n // modelValue -> $formatters -> viewValue\n controller.$formatters.push(function(modelValue) {\n // console.warn('$formatter(\"%s\"): modelValue=%o (%o)', element.attr('ng-model'), modelValue, typeof modelValue);\n var date;\n if(angular.isUndefined(modelValue) || modelValue === null) {\n date = NaN;\n } else if(angular.isDate(modelValue)) {\n date = modelValue;\n } else if(options.dateType === 'string') {\n date = dateParser.parse(modelValue, null, options.modelDateFormat);\n } else {\n date = new Date(modelValue);\n }\n // Setup default value?\n // if(isNaN(date.getTime())) {\n // var today = new Date();\n // date = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0);\n // }\n controller.$dateValue = date;\n return controller.$dateValue;\n });\n\n // viewValue -> element\n controller.$render = function() {\n // console.warn('$render(\"%s\"): viewValue=%o', element.attr('ng-model'), controller.$viewValue);\n element.val(!controller.$dateValue || isNaN(controller.$dateValue.getTime()) ? '' : dateFilter(controller.$dateValue, options.dateFormat));\n };\n\n // Garbage collection\n scope.$on('$destroy', function() {\n if(datepicker) datepicker.destroy();\n options = null;\n datepicker = null;\n });\n\n }\n };\n\n })\n\n .provider('datepickerViews', function() {\n\n var defaults = this.defaults = {\n dayFormat: 'dd',\n daySplit: 7\n };\n\n // Split array into smaller arrays\n function split(arr, size) {\n var arrays = [];\n while(arr.length > 0) {\n arrays.push(arr.splice(0, size));\n }\n return arrays;\n }\n\n // Modulus operator\n function mod(n, m) {\n return ((n % m) + m) % m;\n }\n\n this.$get = function($locale, $sce, dateFilter) {\n\n return function(picker) {\n\n var scope = picker.$scope;\n var options = picker.$options;\n\n var weekDaysMin = $locale.DATETIME_FORMATS.SHORTDAY;\n var weekDaysLabels = weekDaysMin.slice(options.startWeek).concat(weekDaysMin.slice(0, options.startWeek));\n var weekDaysLabelsHtml = $sce.trustAsHtml('