{"version":3,"file":"assets/js/mosaik.js","mappings":"iEAAaA,EAAWC,SAASC,KAEpBC,EAAaC,OAAOC,OAAO,CACtCC,qBAAsB,uBACtBC,gBAAiB,oBCHsB,GAAHC,OADrB,eACuC,4BAOjCJ,OAAOC,OAAO,CACnC,eAAgB,qB,6sBCJlB,IAIqBI,EAAG,WACtB,SAAAA,EAAYC,I,4FAASC,CAAA,KAAAF,GAEnBG,KAAKC,GAAKH,EAGVE,KAAKE,WAAaF,KAAKE,WAAWC,KAAKH,MAEvCA,KAAKI,MACP,C,UAqBC,O,EArBAP,G,EAAA,EAAAQ,IAAA,OAAAC,MAED,WACEC,QAAQC,IAAI,YAETR,KAAKC,KAAID,KAAKS,YAAcT,KAAKC,GAAGS,cAAc,+BAGrDtB,EAASuB,iBAAiBpB,EAAWG,qBAAsBM,KAAKE,WAKlE,GAAC,CAAAG,IAAA,aAAAC,MAED,SAAWM,GAGT,IAAMC,EAAY,CAACC,QAAQ,IAAIC,MAAOC,UAChCC,EAAK,IAAIC,YAAY3B,EAAWI,gBAAiBkB,GACvDzB,EAAS+B,cAAcF,EACzB,M,8EAACpB,CAAA,CA9BqB,G,85BCRxB,I,MAEqBuB,EAAc,WAGjC,SAAAA,EAAYtB,GAASC,EAAA,KAAAqB,GACnBpB,KAAKC,GAAKH,EACVE,KAAKqB,WAAarB,KAAKC,GAAGqB,QAAQD,WAClCrB,KAAKuB,UAAYvB,KAAKuB,UAAUpB,KAAKH,MACrCA,KAAKwB,kBAAoBxB,KAAKwB,kBAAkBrB,KAAKH,MACrDA,KAAKyB,eAAiBzB,KAAKyB,eAAetB,KAAKH,MAC/CA,KAAK0B,OAAS1B,KAAK0B,OAAOvB,KAAKH,MAC/BA,KAAK2B,QAAU3B,KAAK2B,QAAQxB,KAAKH,MACjCA,KAAK4B,MAAQ5B,KAAK4B,MAAMzB,KAAKH,MAC7BA,KAAK6B,MAAQ7B,KAAK6B,MAAM1B,KAAKH,MAC7BA,KAAK8B,QAAU9B,KAAK8B,QAAQ3B,KAAKH,MACjCA,KAAK+B,SAAW/B,KAAK+B,SAAS5B,KAAKH,MACnCA,KAAKgC,WAAahC,KAAKgC,WAAW7B,KAAKH,MACvCA,KAAKiC,YAAcjC,KAAKiC,YAAY9B,KAAKH,MACzCA,KAAKkC,OACLlC,KAAKmC,KAAO,GACZnC,KAAKoC,gBAAkB,GACvBpC,KAAKqC,KAAO,EACZrC,KAAKsC,QAAU,EAEftC,KAAKuC,oBAAsB,GAC3BvC,KAAKwC,sBAAwB,GAC7BxC,KAAKyC,QAAUzC,KAAKyC,QAAQtC,KAAKH,MAEjCA,KAAK0C,OAAS1C,KAAKC,GAAGS,cAAc,UAEpCV,KAAKI,MACP,CAgaC,OAhaAuC,EAAAvB,EAAA,EAAAf,IAAA,OAAAC,MACD,WAEEN,KAAKkC,OAAM,WAET,SAAAA,EAAYU,EAAQC,EAAQC,GAAO/C,EAAA,KAAAmC,GACjC,IAIIa,EACAC,EACAC,EACAC,EANA7B,EADShC,SAASqB,cAAc,uCACZY,QAAQD,WAQhC,IAAe,IAAXuB,EAAiB,CAOnB,GALEE,EADE1B,EAAe+B,cAAcC,SAASP,GAChCQ,KAAKC,MAAsB,GAAhBD,KAAKE,SAA0B,GAE1CF,KAAKC,MAAsB,GAAhBD,KAAKE,SAA0B,GAGjC,UAAflC,EAAwB,CAC1Bd,QAAQC,IAAI,YACZ,GACEuC,EAASM,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,SAChC,IAAXR,GACT,GACEC,EAASK,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,SAChC,IAAXP,GAAgBA,IAAWD,EACtC,KAAO,CACLA,EAASM,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,GAClD,GACEP,EAASK,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,SAC3CP,GAAUD,EACrB,CAEA,GACEE,EAASI,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,SAC3CN,GAAUF,GAAUE,GAAUD,GACzBQ,MAAVN,IACFA,EAASG,KAAKC,MAAsB,EAAhBD,KAAKE,SAAyB,GAEtD,MACET,GAAS,EAGV9C,KAAK6C,OAASA,EAAU7C,KAAK8C,MAAQA,EAAS9C,KAAK+C,OAASA,EAAU/C,KAAKgD,OAASA,EAAUhD,KAAKiD,OAASA,EAAUjD,KAAKkD,OAASA,CACvI,CAMC,OANAP,EAAAT,EAAA,EAAA7B,IAAA,WAAAoD,IACD,SAAaC,GACX1D,KAAK8C,MAAQY,CACf,GAAC,CAAArD,IAAA,YAAAoD,IACD,SAAcE,GACZ3D,KAAKkD,OAASS,CAChB,KAACzB,CAAA,CAnDQ,GAqDXlC,KAAKwB,mBACP,GAEA,CAAAnB,IAAA,SAAAC,MACA,SAAOuC,GACL,OAAOA,EAAS,CAClB,GAAC,CAAAxC,IAAA,UAAAC,MACD,SAAQuC,GACN,OAAOA,EAAS,CAClB,GAAC,CAAAxC,IAAA,QAAAC,MACD,SAAMuC,GACJ,OAAOA,EAAS7C,KAAKsC,OACvB,GAAC,CAAAjC,IAAA,QAAAC,MACD,SAAMuC,GACJ,OAAOA,EAAS7C,KAAKsC,OACvB,GAAC,CAAAjC,IAAA,UAAAC,MAED,SAAQuC,GACN,OAAO,CACT,GAAC,CAAAxC,IAAA,WAAAC,MACD,SAASuC,GACP,OAAOP,QAAU,CACnB,GAAC,CAAAjC,IAAA,aAAAC,MACD,SAAWuC,GACT,OAAQP,QAAU,GAAKD,IACzB,GAAC,CAAAhC,IAAA,cAAAC,MACD,SAAYuC,GACV,OAAOP,QAAUD,KAAO,CAC1B,GAAC,CAAAhC,IAAA,iBAAAC,MAED,SAAeuC,EAAQe,EAAab,EAAQE,EAAQD,GAClD,IAAIa,EAAgB,GACpB,GAAIhB,EAAS,GACX,OAAQe,GACN,KAAK,EACHC,EAAgB,YAChB,MACF,KAAK,EACHA,EAAgB,aAChB,MACF,KAAK,EACHA,EAAgB,aAChB,MACF,QACEA,EAAgB,gBAGpB,OAAQD,GACN,KAAK,EAeL,KAAK,EACHC,EAAgB,WAChB,MAdF,KAAK,EACHA,EAAgB,0BAChB,MACF,KAAK,EACHA,EAAgB,YAChB,MACF,KAAK,EACHA,EAAgB,yBAChB,MACF,KAAK,EACHA,EAAgB,0BAChB,MAIF,KAAK,EACHA,EAAgB,eAChB,MACF,QACEA,EAAgB,aAKtB,MAAO,mBAAPjE,OAA0BiD,EAAM,KAAAjD,OAAIiE,EAAa,eAAAjE,OAAcmD,EAAM,aAAAnD,OAAYqD,EAAM,eAAArD,OAAcoD,EAAM,4BAAApD,OAA2BiD,EAAM,iBAC9I,GAEA,CAAAxC,IAAA,YAAAC,MACA,SAAUwD,EAAKC,GACb,OAAOV,KAAKC,MAAMD,KAAKE,UAAYQ,EAAMD,EAAM,GAAKA,EACtD,GAAC,CAAAzD,IAAA,oBAAAC,MAED,WAIE,IAJkB,IAAA0D,EAAA,KACdpB,GAAS,EAGJqB,GAFKjE,KAAKqB,WAEN,GAAG4C,EAAIjE,KAAKqC,KAAOrC,KAAKsC,QAAS2B,IAExCA,EAAIjE,KAAKsC,SAAW2B,EAAIjE,KAAKsC,SAAW,GAAK2B,EAAIjE,KAAKsC,SAAWtC,KAAKsC,QAAU,GAAK2B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,EAC5HrC,KAAKwC,sBAAsBxC,KAAKwC,sBAAsB0B,QAAUD,EAGxDA,EAAIjE,KAAKsC,SAAW2B,EAAI,EAAIjE,KAAKsC,QAAU,GAAO2B,EAAIjE,KAAKsC,SAAW,EAAM2B,EAAIjE,KAAKsC,QAAY2B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,GAAO4B,EAAIjE,KAAKsC,SAAWtC,KAAKsC,QAAU,GAAK2B,EAAIjE,KAAKsC,SAAW2B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,GAAO4B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,GAAK4B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,EAC5UrC,KAAKuC,oBAAoBvC,KAAKuC,oBAAoB2B,QAAUD,EAGrDA,EAAmB,EAAfjE,KAAKsC,SAAe2B,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,IAAM4B,EAAIjE,KAAKsC,QAAU,GAAK2B,EAAIjE,KAAKsC,QAAUtC,KAAKsC,QAAU,IAC/HlB,EAAe+B,cAAc/B,EAAe+B,cAAce,QAAUD,GAKxE,IAAK,IAAIA,EAAI,EAAGA,EAAIjE,KAAKqC,KAAOrC,KAAKsC,QAAS2B,IAC5CrB,GAAS,EACL5C,KAAKuC,oBAAoBa,SAASa,GACR,GAAxBjE,KAAKuB,UAAU,EAAG,KACpBqB,GAAS,GAEF5C,KAAKwC,sBAAsBY,SAASa,IACjB,GAAxBjE,KAAKuB,UAAU,EAAG,KACpBqB,GAAS,GAGb5C,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,GAIzC,IAAK,IAAIA,EAAI,EAAGA,EAAIjE,KAAKmC,KAAK+B,OAAQD,KACP,IAAxBjE,KAAKmC,KAAK8B,GAAGnB,MAAgB9C,KAAKuC,oBAAoBa,SAASa,KAClErB,GAAS,IACuC,GAA5C5C,KAAKmC,KAAK8B,GAAKjE,KAAKsC,QAAU,IAAIQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,GAAKjE,KAAKsC,QAAU,MAE5D,GAAtCtC,KAAKmC,KAAK8B,EAAIjE,KAAKsC,SAASQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,EAAIjE,KAAKsC,WAE5C,GAA5CtC,KAAKmC,KAAK8B,GAAKjE,KAAKsC,QAAU,IAAIQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,GAAKjE,KAAKsC,QAAU,MAE9E,GAA3BtC,KAAKmC,KAAK8B,EAAI,GAAGnB,OAAe9C,KAAKwC,sBAAsBY,SAASa,EAAI,KAE7C,GAA3BjE,KAAKmC,KAAK8B,EAAI,GAAGnB,OAAe9C,KAAKwC,sBAAsBY,SAASa,EAAI,KAE5B,GAA5CjE,KAAKmC,KAAK8B,GAAKjE,KAAKsC,QAAU,IAAIQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,GAAKjE,KAAKsC,QAAU,MAEnE,GAAtCtC,KAAKmC,KAAK8B,EAAIjE,KAAKsC,SAASQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,EAAIjE,KAAKsC,WAE5C,GAA5CtC,KAAKmC,KAAK8B,GAAKjE,KAAKsC,QAAU,IAAIQ,OAAe9C,KAAKwC,sBAAsBY,SAASa,GAAKjE,KAAKsC,QAAU,OAblHtC,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,KAoB7C,IAAK,IAAIA,EAAI,EAAGA,EAAIjE,KAAKmC,KAAK+B,OAAQD,IACpCrB,GAAS,GACkB,GAAvB5C,KAAKmC,KAAK8B,GAAGnB,OAAe9C,KAAKwC,sBAAsBY,SAASa,KAC9DA,GAAKjE,KAAKsC,WAC+B,GAAtCtC,KAAKmC,KAAK8B,EAAIjE,KAAKsC,SAASQ,OAAe9C,KAAKmC,KAAK8B,EAAI,GAAGnB,MAAQ,MAAQ9C,KAAKwC,sBAAsBY,SAASa,EAAIjE,KAAKsC,WAC5HtC,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAGvCA,GAAK,KACyB,GAA3BjE,KAAKmC,KAAK8B,EAAI,GAAGnB,OAAe9C,KAAKmC,KAAK8B,EAAI,GAAGnB,MAAQ,MAAQ9C,KAAKwC,sBAAsBY,SAASa,EAAI,KAC5GjE,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAGvCA,EAAIjE,KAAKsC,SAAWtC,KAAKqC,KAAO,GAAK,KACI,GAAtCrC,KAAKmC,KAAK8B,EAAIjE,KAAKsC,SAASQ,OAAe9C,KAAKmC,KAAK8B,EAAIjE,KAAKsC,SAASQ,MAAQ,MAAQ9C,KAAKwC,sBAAsBY,SAASa,EAAIjE,KAAKsC,WACvItC,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAGvCA,EAAIjE,KAAKsC,QAAUtC,KAAKqC,KAAO,KACD,GAA3BrC,KAAKmC,KAAK8B,EAAI,GAAGnB,OAAe9C,KAAKmC,KAAK8B,EAAI,GAAGnB,MAAQ,MAAQ9C,KAAKwC,sBAAsBY,SAASa,EAAI,KAC5GjE,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,KAMpC,GAALA,IACsC,GAAnCjE,KAAKmC,KAAKnC,KAAK6B,MAAMoC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK6B,MAAMoC,IAAInB,MAAQ,OAA6C,GAArC9C,KAAKmC,KAAKnC,KAAK2B,QAAQsC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK2B,QAAQsC,IAAInB,MAAQ,MACjK9C,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAEhCA,GAAKjE,KAAKsC,QAAU,IACW,GAAnCtC,KAAKmC,KAAKnC,KAAK6B,MAAMoC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK6B,MAAMoC,IAAInB,MAAQ,OAA4C,GAApC9C,KAAKmC,KAAKnC,KAAK0B,OAAOuC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK0B,OAAOuC,IAAInB,MAAQ,MAC/J9C,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAEhCA,GAAKjE,KAAKsC,QAAUtC,KAAKqC,KAAOrC,KAAKsC,UACN,GAAnCtC,KAAKmC,KAAKnC,KAAK4B,MAAMqC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK4B,MAAMqC,IAAInB,MAAQ,OAA6C,GAArC9C,KAAKmC,KAAKnC,KAAK2B,QAAQsC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK2B,QAAQsC,IAAInB,MAAQ,MACjK9C,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAEhCA,GAAKjE,KAAKsC,QAAUtC,KAAKqC,KAAO,KACD,GAAnCrC,KAAKmC,KAAKnC,KAAK4B,MAAMqC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK4B,MAAMqC,IAAInB,MAAQ,OAA4C,GAApC9C,KAAKmC,KAAKnC,KAAK0B,OAAOuC,IAAInB,OAAe9C,KAAKmC,KAAKnC,KAAK0B,OAAOuC,IAAInB,MAAQ,MAC/J9C,KAAKmC,KAAK8B,GAAK,IAAIjE,KAAKkC,OAAOU,EAAQqB,IAM7CrB,GAAS,EACT,IAAK,IAAIqB,EAAI,EAAGA,EAAIjE,KAAKmC,KAAK+B,OAAQD,KAC9BA,EAAIjE,KAAKsC,QAAU,EAAM2B,EAAIjE,KAAKsC,QAAUtC,KAAKsC,QAAU,IAAOlB,EAAe+B,cAAcC,SAASa,IAAQA,EAAmB,EAAfjE,KAAKsC,QAAc,GAAK2B,EAAIjE,KAAKsC,QAAUtC,KAAKqC,KAAO,EAAIrC,KAAKsC,UAAYlB,EAAe+B,cAAcC,SAASa,MAC1OjE,KAAKoC,gBAAgBpC,KAAKoC,gBAAgB8B,QAAUD,GAGxD,IAAIE,EAAiBnE,KAAKuB,UAAU,EAAGvB,KAAKoC,gBAAgB8B,OAAS,GACjEE,EAAapE,KAAKmC,KAAKnC,KAAKoC,gBAAgB+B,IAChDC,EAAWC,SAAW,GAGlBD,EAAWvB,OAAU7C,KAAKsC,QAAUtC,KAAKqC,KAAQ,EAE/C+B,EAAWvB,OAAS7C,KAAKsC,QAAU,GAAK8B,EAAWvB,OAAwB,EAAf7C,KAAKsC,QAE/D8B,EAAWvB,OAAS7C,KAAKsC,QAAUtC,KAAKsC,QAAU,GACpDtC,KAAKmC,KAAKnC,KAAK0B,OAAO0C,EAAWvB,SAASwB,SAAW,GACrDrE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,UAAUwB,SAAW,GAClErE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,WAAWwB,SAAW,GAC9ErE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,YAAYwB,SAAW,GAC3FrE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,aAAawB,SAAW,GAEvGrE,KAAKmC,KAAKnC,KAAK0B,OAAO0C,EAAWvB,SAASyB,UAAY,EACtDtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,UAAUyB,UAAY,EACnEtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,WAAWyB,UAAY,EAC/EtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,YAAYyB,UAAY,EAC5FtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,aAAayB,UAAY,IAGxGtE,KAAKmC,KAAKnC,KAAK2B,QAAQyC,EAAWvB,SAASwB,SAAW,GACtDrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,UAAUwB,SAAW,GACpErE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,WAAWwB,SAAW,GAChFrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,YAAYwB,SAAW,GAC9FrE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,aAAawB,SAAW,GAE1GrE,KAAKmC,KAAKnC,KAAK2B,QAAQyC,EAAWvB,SAASyB,UAAY,EACvDtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,UAAUyB,UAAY,EACrEtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,WAAWyB,UAAY,EACjFtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,YAAYyB,UAAY,EAC/FtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,aAAayB,UAAY,GAKzGF,EAAWvB,OAAS7C,KAAKsC,QAAUtC,KAAKsC,QAAU,GACpDtC,KAAKmC,KAAKnC,KAAK4B,MAAMwC,EAAWvB,SAASwB,SAAW,GACpDrE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,UAAUwB,SAAW,GAChErE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,WAAWwB,SAAW,GAC9ErE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,YAAYwB,SAAW,GAC1FrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,aAAawB,SAAW,GAExGrE,KAAKmC,KAAKnC,KAAK4B,MAAMwC,EAAWvB,SAASyB,UAAY,EACrDtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,UAAUyB,UAAY,EACjEtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,WAAWyB,UAAY,EAC/EtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,YAAYyB,UAAY,EAC3FtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,aAAayB,UAAY,IAGzGtE,KAAKmC,KAAKnC,KAAK4B,MAAMwC,EAAWvB,SAASwB,SAAW,GACpDrE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,UAAUwB,SAAW,GAChErE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,WAAWwB,SAAW,GAC7ErE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,YAAYwB,SAAW,GACzFrE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,aAAawB,SAAW,GAEtGrE,KAAKmC,KAAKnC,KAAK4B,MAAMwC,EAAWvB,SAASyB,UAAY,EACrDtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,UAAUyB,UAAY,EACjEtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,WAAWyB,UAAY,EAC9EtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,YAAYyB,UAAY,EAC1FtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK4B,MAAMwC,EAAWvB,aAAayB,UAAY,GAMvGF,EAAWvB,OAAS7C,KAAKsC,QAAU,GAAK8B,EAAWvB,OAAS7C,KAAKsC,QAAUtC,KAAKsC,QAAU,EAExF8B,EAAapE,KAAKsC,QAAUtC,KAAKsC,QAAU,GAC7CtC,KAAKmC,KAAKnC,KAAK0B,OAAO0C,EAAWvB,SAASwB,SAAW,GACrDrE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,UAAUwB,SAAW,GAClErE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,WAAWwB,SAAW,GAC9ErE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,YAAYwB,SAAW,GAC3FrE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,aAAawB,SAAW,GAEvGrE,KAAKmC,KAAKnC,KAAK0B,OAAO0C,EAAWvB,SAASyB,UAAY,EACtDtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,UAAUyB,UAAY,EACnEtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,WAAWyB,UAAY,EAC/EtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,YAAYyB,UAAY,EAC5FtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK4B,MAAM5B,KAAK0B,OAAO1B,KAAK0B,OAAO0C,EAAWvB,aAAayB,UAAY,IAGxGtE,KAAKmC,KAAKnC,KAAK2B,QAAQyC,EAAWvB,SAASwB,SAAW,GACtDrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,UAAUwB,SAAW,GACpErE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,WAAWwB,SAAW,GAChFrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,YAAYwB,SAAW,GAC9FrE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,aAAawB,SAAW,GAE1GrE,KAAKmC,KAAKnC,KAAK2B,QAAQyC,EAAWvB,SAASyB,UAAY,EACvDtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,UAAUyB,UAAY,EACrEtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,WAAWyB,UAAY,EACjFtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,YAAYyB,UAAY,EAC/FtE,KAAKmC,KAAKnC,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK4B,MAAM5B,KAAK2B,QAAQ3B,KAAK2B,QAAQyC,EAAWvB,aAAayB,UAAY,GAKzGF,EAAWvB,OAAS7C,KAAKsC,QAAUtC,KAAKsC,QAAU,GACpDtC,KAAKmC,KAAKnC,KAAK6B,MAAMuC,EAAWvB,SAASwB,SAAW,GACpDrE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,UAAUwB,SAAW,GAChErE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,WAAWwB,SAAW,GAC9ErE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,YAAYwB,SAAW,GAC1FrE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,aAAawB,SAAW,GAExGrE,KAAKmC,KAAKnC,KAAK6B,MAAMuC,EAAWvB,SAASyB,UAAY,EACrDtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,UAAUyB,UAAY,EACjEtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,WAAWyB,UAAY,EAC/EtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,YAAYyB,UAAY,EAC3FtE,KAAKmC,KAAKnC,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK2B,QAAQ3B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,aAAayB,UAAY,IAGzGtE,KAAKmC,KAAKnC,KAAK6B,MAAMuC,EAAWvB,SAASwB,SAAW,GACpDrE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,UAAUwB,SAAW,GAChErE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,WAAWwB,SAAW,GAC7ErE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,YAAYwB,SAAW,GACzFrE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,aAAawB,SAAW,GAEtGrE,KAAKmC,KAAKnC,KAAK6B,MAAMuC,EAAWvB,SAASyB,UAAY,EACrDtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,UAAUyB,UAAY,EACjEtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,WAAWyB,UAAY,EAC9EtE,KAAKmC,KAAKnC,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,YAAYyB,UAAY,EAC1FtE,KAAKmC,KAAKnC,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK0B,OAAO1B,KAAK6B,MAAM7B,KAAK6B,MAAMuC,EAAWvB,aAAayB,UAAY,GAM7G,IAAIC,EAAUvE,KAAKmC,KAChBqC,KAAI,SAACC,GACJ,MAAO,WAAP7E,OACA6E,EAAO3B,OAAS,EAAI,aAAHlD,OAAgB6E,EAAO5B,OAAM,iCAAAjD,OAAgC6E,EAAO3B,MAAK,cAAAlD,OAAa6E,EAAOvB,OAAM,MAAAtD,OAAKoE,EAAKvC,eAAegD,EAAO3B,MAAO2B,EAAOvB,OAAQuB,EAAO1B,OAAQ0B,EAAOxB,OAAQwB,EAAOzB,QAAO,aAAa,eAErO,IACC0B,KAAK,IACR1E,KAAKC,GAAG0E,UAAYJ,EAEpB,IAAIK,EAAO5E,KAAKC,GAAG4E,iBAAiB,OAChCC,EAAYC,MAAMC,KAAKJ,GACH5E,KAAKyC,QAAQqC,GACnBG,SAAQ,SAACC,EAAKjB,GAC9BkB,YAAW,WACTD,EAAIE,UAAUC,IAAI,SACpB,GAAO,GAAJpB,EACL,IAGAkB,YAAW,WACTnB,EAAK5D,MACP,GAAG,IACP,GAAC,CAAAC,IAAA,UAAAC,MAEC,SAAQgF,GAKN,IAHA,IACEC,EACAC,EAFEC,EAAeH,EAAMpB,OAGlB,IAAMuB,GACXD,EAAcnC,KAAKC,MAAMD,KAAKE,SAAWkC,GAEzCF,EAAiBD,EADjBG,GAAgB,GAEhBH,EAAMG,GAAgBH,EAAME,GAC5BF,EAAME,GAAeD,EAEvB,OAAOD,CACT,KAAClE,CAAA,CA9bgC,G,m9CAAdA,E,EACI,I,MADU,oB,wFCGnC,IAAMsE,EAAa,CACjB,CAACC,MAAO9F,EAAK+F,aAAc,OAC3B,CAACD,MAAOvE,EAAgBwE,aAAc,qBAIlCC,EAAqB,WACzB,SAAAA,IAGE,O,4FAHY9F,CAAA,KAAA8F,GACZ7F,KAAK8F,mBACL9F,KAAK+F,gBACE/F,IACT,C,UA2BC,O,EA3BA6F,G,EAAA,EAAAxF,IAAA,mBAAAC,MAED,WAAmB,IAAA0D,EAAA,KACjBhE,KAAKgG,uBAAyB,CAAC,EAE/BN,EAAWlB,KAAI,SAAAyB,GACb,IAAMC,EAAQ,GAECC,EAAO9G,SAASwF,iBAAiB,oBAAsBoB,EAAUL,aAAe,OAErFpB,KAAI,SAAA4B,GAEZF,EAAMG,KAAK,IAAIJ,EAAUN,MAAMS,GACjC,IAGIF,EAAMhC,SAAQF,EAAKgC,uBAAuBC,EAAUL,cAAgBM,EAC1E,GACF,GAAC,CAAA7F,IAAA,gBAAAC,MAED,WACE,IAAMM,EAAQ,IAAIM,YAAY3B,EAAWG,sBACzCN,EAAS+B,cAAcP,EACzB,GAAC,CAAAP,IAAA,gBAAAC,MAED,SAAcsF,GACZ,OAAOA,EAAe5F,KAAKgG,uBAAuBJ,GAAgB5F,KAAKgG,sBACzE,M,8EAACH,CAAA,CAhCwB,GAmCtB,kBAAmBS,WACtBC,OAAO5F,iBAAiB,QAAQ,WAC9B2F,UAAUE,cACPC,SAAS,uBACTC,MAAK,SAAAC,GAAQ,IACbC,OAAM,SAAAC,GAAG,OAAItG,QAAQC,IAAI,gCAAiCqG,EAAI,GACnE,IAGFN,OAAO1G,IAAM,IAAIgG,C,mBCjDjB,IAAIiB,EAAW,SAAUC,GACvB,aAEA,IAEIvD,EAFAwD,EAAKxH,OAAOyH,UACZC,EAASF,EAAGG,eAEZC,EAA4B,mBAAXC,OAAwBA,OAAS,CAAC,EACnDC,EAAiBF,EAAQG,UAAY,aACrCC,EAAsBJ,EAAQK,eAAiB,kBAC/CC,EAAoBN,EAAQO,aAAe,gBAE/C,SAASC,EAAKC,EAASC,EAASC,EAAMC,GAEpC,IAAIC,EAAiBH,GAAWA,EAAQb,qBAAqBiB,EAAYJ,EAAUI,EAC/EC,EAAY3I,OAAO4I,OAAOH,EAAehB,WACzCoB,EAAU,IAAIC,EAAQN,GAAe,IAMzC,OAFAG,EAAUI,QAkMZ,SAA0BV,EAASE,EAAMM,GACvC,IAAIG,EAAQC,EAEZ,OAAO,SAAgBC,EAAQC,GAC7B,GAAIH,IAAUI,EACZ,MAAM,IAAIC,MAAM,gCAGlB,GAAIL,IAAUM,EAAmB,CAC/B,GAAe,UAAXJ,EACF,MAAMC,EAKR,OAAOI,GACT,CAKA,IAHAV,EAAQK,OAASA,EACjBL,EAAQM,IAAMA,IAED,CACX,IAAIK,EAAWX,EAAQW,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUX,GACnD,GAAIY,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,CACT,CACF,CAEA,GAAuB,SAAnBZ,EAAQK,OAGVL,EAAQe,KAAOf,EAAQgB,MAAQhB,EAAQM,SAElC,GAAuB,UAAnBN,EAAQK,OAAoB,CACrC,GAAIF,IAAUC,EAEZ,MADAD,EAAQM,EACFT,EAAQM,IAGhBN,EAAQiB,kBAAkBjB,EAAQM,IAEpC,KAA8B,WAAnBN,EAAQK,QACjBL,EAAQkB,OAAO,SAAUlB,EAAQM,KAGnCH,EAAQI,EAER,IAAIY,EAASC,EAAS5B,EAASE,EAAMM,GACrC,GAAoB,WAAhBmB,EAAOE,KAAmB,CAO5B,GAJAlB,EAAQH,EAAQsB,KACZb,EACAc,EAEAJ,EAAOb,MAAQQ,EACjB,SAGF,MAAO,CACL7I,MAAOkJ,EAAOb,IACdgB,KAAMtB,EAAQsB,KAGlB,CAA2B,UAAhBH,EAAOE,OAChBlB,EAAQM,EAGRT,EAAQK,OAAS,QACjBL,EAAQM,IAAMa,EAAOb,IAEzB,CACF,CACF,CA9QsBkB,CAAiBhC,EAASE,EAAMM,GAE7CF,CACT,CAaA,SAASsB,EAASK,EAAIC,EAAKpB,GACzB,IACE,MAAO,CAAEe,KAAM,SAAUf,IAAKmB,EAAGE,KAAKD,EAAKpB,GAC7C,CAAE,MAAO9B,GACP,MAAO,CAAE6C,KAAM,QAASf,IAAK9B,EAC/B,CACF,CAlBAE,EAAQa,KAAOA,EAoBf,IAAIa,EAAyB,iBACzBmB,EAAyB,iBACzBhB,EAAoB,YACpBE,EAAoB,YAIpBK,EAAmB,CAAC,EAMxB,SAASjB,IAAa,CACtB,SAAS+B,IAAqB,CAC9B,SAASC,IAA8B,CAIvC,IAAIC,EAAoB,CAAC,EACzBA,EAAkB7C,GAAkB,WAClC,OAAOtH,IACT,EAEA,IAAIoK,EAAW5K,OAAO6K,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4BtD,GAC5BE,EAAO8C,KAAKM,EAAyBhD,KAGvC6C,EAAoBG,GAGtB,IAAIE,EAAKN,EAA2BjD,UAClCiB,EAAUjB,UAAYzH,OAAO4I,OAAO+B,GAQtC,SAASM,EAAsBxD,GAC7B,CAAC,OAAQ,QAAS,UAAUhC,SAAQ,SAASyD,GAC3CzB,EAAUyB,GAAU,SAASC,GAC3B,OAAO3I,KAAKuI,QAAQG,EAAQC,EAC9B,CACF,GACF,CAiCA,SAAS+B,EAAcvC,GACrB,SAASwC,EAAOjC,EAAQC,EAAKiC,EAASC,GACpC,IAAIrB,EAASC,EAAStB,EAAUO,GAASP,EAAWQ,GACpD,GAAoB,UAAhBa,EAAOE,KAEJ,CACL,IAAIoB,EAAStB,EAAOb,IAChBrI,EAAQwK,EAAOxK,MACnB,OAAIA,GACiB,iBAAVA,GACP4G,EAAO8C,KAAK1J,EAAO,WACdyK,QAAQH,QAAQtK,EAAM0K,SAAStE,MAAK,SAASpG,GAClDqK,EAAO,OAAQrK,EAAOsK,EAASC,EACjC,IAAG,SAAShE,GACV8D,EAAO,QAAS9D,EAAK+D,EAASC,EAChC,IAGKE,QAAQH,QAAQtK,GAAOoG,MAAK,SAASuE,GAI1CH,EAAOxK,MAAQ2K,EACfL,EAAQE,EACV,IAAG,SAASI,GAGV,OAAOP,EAAO,QAASO,EAAON,EAASC,EACzC,GACF,CAzBEA,EAAOrB,EAAOb,IA0BlB,CAEA,IAAIwC,EAgCJnL,KAAKuI,QA9BL,SAAiBG,EAAQC,GACvB,SAASyC,IACP,OAAO,IAAIL,SAAQ,SAASH,EAASC,GACnCF,EAAOjC,EAAQC,EAAKiC,EAASC,EAC/B,GACF,CAEA,OAAOM,EAaLA,EAAkBA,EAAgBzE,KAChC0E,EAGAA,GACEA,GACR,CAKF,CAyGA,SAASlC,EAAoBF,EAAUX,GACrC,IAAIK,EAASM,EAASzB,SAASc,EAAQK,QACvC,GAAIA,IAAWlF,EAAW,CAKxB,GAFA6E,EAAQW,SAAW,KAEI,UAAnBX,EAAQK,OAAoB,CAE9B,GAAIM,EAASzB,SAAiB,SAG5Bc,EAAQK,OAAS,SACjBL,EAAQM,IAAMnF,EACd0F,EAAoBF,EAAUX,GAEP,UAAnBA,EAAQK,QAGV,OAAOS,EAIXd,EAAQK,OAAS,QACjBL,EAAQM,IAAM,IAAI0C,UAChB,iDACJ,CAEA,OAAOlC,CACT,CAEA,IAAIK,EAASC,EAASf,EAAQM,EAASzB,SAAUc,EAAQM,KAEzD,GAAoB,UAAhBa,EAAOE,KAIT,OAHArB,EAAQK,OAAS,QACjBL,EAAQM,IAAMa,EAAOb,IACrBN,EAAQW,SAAW,KACZG,EAGT,IAAImC,EAAO9B,EAAOb,IAElB,OAAM2C,EAOFA,EAAK3B,MAGPtB,EAAQW,EAASuC,YAAcD,EAAKhL,MAGpC+H,EAAQmD,KAAOxC,EAASyC,QAQD,WAAnBpD,EAAQK,SACVL,EAAQK,OAAS,OACjBL,EAAQM,IAAMnF,GAUlB6E,EAAQW,SAAW,KACZG,GANEmC,GA3BPjD,EAAQK,OAAS,QACjBL,EAAQM,IAAM,IAAI0C,UAAU,oCAC5BhD,EAAQW,SAAW,KACZG,EA+BX,CAqBA,SAASuC,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxB3L,KAAKiM,WAAW5F,KAAKuF,EACvB,CAEA,SAASM,EAAcN,GACrB,IAAIpC,EAASoC,EAAMO,YAAc,CAAC,EAClC3C,EAAOE,KAAO,gBACPF,EAAOb,IACdiD,EAAMO,WAAa3C,CACrB,CAEA,SAASlB,EAAQN,GAIfhI,KAAKiM,WAAa,CAAC,CAAEJ,OAAQ,SAC7B7D,EAAY/C,QAAQyG,EAAc1L,MAClCA,KAAKoM,OAAM,EACb,CA6BA,SAAS7B,EAAO8B,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS/E,GAC9B,GAAIgF,EACF,OAAOA,EAAetC,KAAKqC,GAG7B,GAA6B,mBAAlBA,EAASb,KAClB,OAAOa,EAGT,IAAKE,MAAMF,EAASnI,QAAS,CAC3B,IAAID,GAAK,EAAGuH,EAAO,SAASA,IAC1B,OAASvH,EAAIoI,EAASnI,QACpB,GAAIgD,EAAO8C,KAAKqC,EAAUpI,GAGxB,OAFAuH,EAAKlL,MAAQ+L,EAASpI,GACtBuH,EAAK7B,MAAO,EACL6B,EAOX,OAHAA,EAAKlL,MAAQkD,EACbgI,EAAK7B,MAAO,EAEL6B,CACT,EAEA,OAAOA,EAAKA,KAAOA,CACrB,CACF,CAGA,MAAO,CAAEA,KAAMzC,EACjB,CAGA,SAASA,IACP,MAAO,CAAEzI,MAAOkD,EAAWmG,MAAM,EACnC,CA8MA,OAxmBAM,EAAkBhD,UAAYuD,EAAGgC,YAActC,EAC/CA,EAA2BsC,YAAcvC,EACzCC,EAA2BxC,GACzBuC,EAAkBwC,YAAc,oBAYlC1F,EAAQ2F,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOH,YAClD,QAAOI,IACHA,IAAS3C,GAG2B,uBAAnC2C,EAAKH,aAAeG,EAAKC,MAEhC,EAEA9F,EAAQ+F,KAAO,SAASH,GAUtB,OATInN,OAAOuN,eACTvN,OAAOuN,eAAeJ,EAAQzC,IAE9ByC,EAAOK,UAAY9C,EACbxC,KAAqBiF,IACzBA,EAAOjF,GAAqB,sBAGhCiF,EAAO1F,UAAYzH,OAAO4I,OAAOoC,GAC1BmC,CACT,EAMA5F,EAAQkG,MAAQ,SAAStE,GACvB,MAAO,CAAEqC,QAASrC,EACpB,EAqEA8B,EAAsBC,EAAczD,WACpCyD,EAAczD,UAAUO,GAAuB,WAC7C,OAAOxH,IACT,EACA+G,EAAQ2D,cAAgBA,EAKxB3D,EAAQmG,MAAQ,SAASrF,EAASC,EAASC,EAAMC,GAC/C,IAAImF,EAAO,IAAIzC,EACb9C,EAAKC,EAASC,EAASC,EAAMC,IAG/B,OAAOjB,EAAQ2F,oBAAoB5E,GAC/BqF,EACAA,EAAK3B,OAAO9E,MAAK,SAASoE,GACxB,OAAOA,EAAOnB,KAAOmB,EAAOxK,MAAQ6M,EAAK3B,MAC3C,GACN,EAqKAf,EAAsBD,GAEtBA,EAAG9C,GAAqB,YAOxB8C,EAAGlD,GAAkB,WACnB,OAAOtH,IACT,EAEAwK,EAAG4C,SAAW,WACZ,MAAO,oBACT,EAiCArG,EAAQsG,KAAO,SAASC,GACtB,IAAID,EAAO,GACX,IAAK,IAAIhN,KAAOiN,EACdD,EAAKhH,KAAKhG,GAMZ,OAJAgN,EAAKE,UAIE,SAAS/B,IACd,KAAO6B,EAAKnJ,QAAQ,CAClB,IAAI7D,EAAMgN,EAAKG,MACf,GAAInN,KAAOiN,EAGT,OAFA9B,EAAKlL,MAAQD,EACbmL,EAAK7B,MAAO,EACL6B,CAEX,CAMA,OADAA,EAAK7B,MAAO,EACL6B,CACT,CACF,EAoCAzE,EAAQwD,OAASA,EAMjBjC,EAAQrB,UAAY,CAClBuF,YAAalE,EAEb8D,MAAO,SAASqB,GAcd,GAbAzN,KAAK0N,KAAO,EACZ1N,KAAKwL,KAAO,EAGZxL,KAAKoJ,KAAOpJ,KAAKqJ,MAAQ7F,EACzBxD,KAAK2J,MAAO,EACZ3J,KAAKgJ,SAAW,KAEhBhJ,KAAK0I,OAAS,OACd1I,KAAK2I,IAAMnF,EAEXxD,KAAKiM,WAAWhH,QAAQiH,IAEnBuB,EACH,IAAK,IAAIZ,KAAQ7M,KAEQ,MAAnB6M,EAAKc,OAAO,IACZzG,EAAO8C,KAAKhK,KAAM6M,KACjBN,OAAOM,EAAKe,MAAM,MACrB5N,KAAK6M,GAAQrJ,EAIrB,EAEAqK,KAAM,WACJ7N,KAAK2J,MAAO,EAEZ,IACImE,EADY9N,KAAKiM,WAAW,GACLE,WAC3B,GAAwB,UAApB2B,EAAWpE,KACb,MAAMoE,EAAWnF,IAGnB,OAAO3I,KAAK+N,IACd,EAEAzE,kBAAmB,SAAS0E,GAC1B,GAAIhO,KAAK2J,KACP,MAAMqE,EAGR,IAAI3F,EAAUrI,KACd,SAASiO,EAAOC,EAAKC,GAYnB,OAXA3E,EAAOE,KAAO,QACdF,EAAOb,IAAMqF,EACb3F,EAAQmD,KAAO0C,EAEXC,IAGF9F,EAAQK,OAAS,OACjBL,EAAQM,IAAMnF,KAGN2K,CACZ,CAEA,IAAK,IAAIlK,EAAIjE,KAAKiM,WAAW/H,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI2H,EAAQ5L,KAAKiM,WAAWhI,GACxBuF,EAASoC,EAAMO,WAEnB,GAAqB,SAAjBP,EAAMC,OAIR,OAAOoC,EAAO,OAGhB,GAAIrC,EAAMC,QAAU7L,KAAK0N,KAAM,CAC7B,IAAIU,EAAWlH,EAAO8C,KAAK4B,EAAO,YAC9ByC,EAAanH,EAAO8C,KAAK4B,EAAO,cAEpC,GAAIwC,GAAYC,EAAY,CAC1B,GAAIrO,KAAK0N,KAAO9B,EAAME,SACpB,OAAOmC,EAAOrC,EAAME,UAAU,GACzB,GAAI9L,KAAK0N,KAAO9B,EAAMG,WAC3B,OAAOkC,EAAOrC,EAAMG,WAGxB,MAAO,GAAIqC,GACT,GAAIpO,KAAK0N,KAAO9B,EAAME,SACpB,OAAOmC,EAAOrC,EAAME,UAAU,OAG3B,KAAIuC,EAMT,MAAM,IAAIxF,MAAM,0CALhB,GAAI7I,KAAK0N,KAAO9B,EAAMG,WACpB,OAAOkC,EAAOrC,EAAMG,WAKxB,CACF,CACF,CACF,EAEAxC,OAAQ,SAASG,EAAMf,GACrB,IAAK,IAAI1E,EAAIjE,KAAKiM,WAAW/H,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI2H,EAAQ5L,KAAKiM,WAAWhI,GAC5B,GAAI2H,EAAMC,QAAU7L,KAAK0N,MACrBxG,EAAO8C,KAAK4B,EAAO,eACnB5L,KAAK0N,KAAO9B,EAAMG,WAAY,CAChC,IAAIuC,EAAe1C,EACnB,KACF,CACF,CAEI0C,IACU,UAAT5E,GACS,aAATA,IACD4E,EAAazC,QAAUlD,GACvBA,GAAO2F,EAAavC,aAGtBuC,EAAe,MAGjB,IAAI9E,EAAS8E,EAAeA,EAAanC,WAAa,CAAC,EAIvD,OAHA3C,EAAOE,KAAOA,EACdF,EAAOb,IAAMA,EAET2F,GACFtO,KAAK0I,OAAS,OACd1I,KAAKwL,KAAO8C,EAAavC,WAClB5C,GAGFnJ,KAAKuO,SAAS/E,EACvB,EAEA+E,SAAU,SAAS/E,EAAQwC,GACzB,GAAoB,UAAhBxC,EAAOE,KACT,MAAMF,EAAOb,IAcf,MAXoB,UAAhBa,EAAOE,MACS,aAAhBF,EAAOE,KACT1J,KAAKwL,KAAOhC,EAAOb,IACM,WAAhBa,EAAOE,MAChB1J,KAAK+N,KAAO/N,KAAK2I,IAAMa,EAAOb,IAC9B3I,KAAK0I,OAAS,SACd1I,KAAKwL,KAAO,OACa,WAAhBhC,EAAOE,MAAqBsC,IACrChM,KAAKwL,KAAOQ,GAGP7C,CACT,EAEAqF,OAAQ,SAASzC,GACf,IAAK,IAAI9H,EAAIjE,KAAKiM,WAAW/H,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI2H,EAAQ5L,KAAKiM,WAAWhI,GAC5B,GAAI2H,EAAMG,aAAeA,EAGvB,OAFA/L,KAAKuO,SAAS3C,EAAMO,WAAYP,EAAMI,UACtCE,EAAcN,GACPzC,CAEX,CACF,EAEA,MAAS,SAAS0C,GAChB,IAAK,IAAI5H,EAAIjE,KAAKiM,WAAW/H,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI2H,EAAQ5L,KAAKiM,WAAWhI,GAC5B,GAAI2H,EAAMC,SAAWA,EAAQ,CAC3B,IAAIrC,EAASoC,EAAMO,WACnB,GAAoB,UAAhB3C,EAAOE,KAAkB,CAC3B,IAAI+E,EAASjF,EAAOb,IACpBuD,EAAcN,EAChB,CACA,OAAO6C,CACT,CACF,CAIA,MAAM,IAAI5F,MAAM,wBAClB,EAEA6F,cAAe,SAASrC,EAAUd,EAAYE,GAa5C,OAZAzL,KAAKgJ,SAAW,CACdzB,SAAUgD,EAAO8B,GACjBd,WAAYA,EACZE,QAASA,GAGS,SAAhBzL,KAAK0I,SAGP1I,KAAK2I,IAAMnF,GAGN2F,CACT,GAOKpC,CAET,CAzrBc,CA8rBiB4H,EAAO5H,SAGtC,IACE6H,mBAAqB9H,CACvB,CAAE,MAAO+H,GAUPC,SAAS,IAAK,yBAAdA,CAAwChI,EAC1C,C,GCptBIiI,EAA2B,CAAC,GAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBzL,IAAjB0L,EACH,OAAOA,EAAanI,QAGrB,IAAI4H,EAASI,EAAyBE,GAAY,CAGjDlI,QAAS,CAAC,GAOX,OAHAoI,EAAoBF,GAAUN,EAAQA,EAAO5H,QAASiI,GAG/CL,EAAO5H,OACf,ECnB0BiI,CAAoB,K","sources":["webpack://project-template-webpack/./src/consts/const-event-types.js","webpack://project-template-webpack/./src/services/service-some-api.js","webpack://project-template-webpack/./src/components/app.js","webpack://project-template-webpack/./src/components/mosaik-generator/mosaik-generator.js","webpack://project-template-webpack/./src/buildjs/mosaik.js","webpack://project-template-webpack/./node_modules/regenerator-runtime/runtime.js","webpack://project-template-webpack/webpack/bootstrap","webpack://project-template-webpack/webpack/startup"],"sourcesContent":["export const EventBus = document.body;\r\n\r\nexport const EventTypes = Object.freeze({\r\n ALL_COMPONENTS_READY: 'ALL_COMPONENTS_READY',\r\n MY_CUSTOM_EVENT: 'MY_CUSTOM_EVENT'\r\n})\r\n","const BASE_URL = '/umbraco/api'\r\nexport const ENDPOINT_IS_AUTHENTICATED = `${BASE_URL}/account/IsAuthenticated`\r\n\r\nexport const ENDPOINT_GH_REPOS = `https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits`\r\nexport const ENDPOINT_SMK_ART = `https://api.smk.dk/api/v1/art/search/?keys=hest&offset=0&rows=5`\r\nexport const ENDPOINT_MATRIKEL = `https://dawa.aws.dk/jordstykker/2000174/1209?format=geojson&srid=25832&noformat&cache=no-cache`\r\n\r\n\r\nconst headersDefault = Object.freeze({\r\n 'Content-Type': 'application/json'\r\n})\r\n\r\n\r\nexport const getEndpoint = (ENDPOINT, POST = false, payload) => {\r\n const options = {\r\n method: POST ? 'POST' : 'GET',\r\n headers: {...{}, ...headersDefault},\r\n ...POST && payload && {body: JSON.stringify({...{}, ...payload})}\r\n }\r\n\r\n return fetch(ENDPOINT, options)\r\n .then(res => res)\r\n .then(res => res.json())\r\n .catch(error => console.log(error))\r\n}\r\n\r\nexport function simulateDelayedResponse(data, delay, shouldSucceed) {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (shouldSucceed) {\r\n resolve({\r\n success: true,\r\n status: 200,\r\n data: data\r\n });\r\n } else {\r\n reject({\r\n success: false,\r\n status: 500,\r\n error: 'Simulated Error'\r\n });\r\n }\r\n }, delay);\r\n });\r\n}\r\n","import users from '../json/mockdata.json'\r\nimport {EventBus, EventTypes} from '../consts/const-event-types'\r\nimport UserItem from './user-item/user-item'\r\nimport {ENDPOINT_SMK_ART, getEndpoint} from '../services/service-some-api'\r\n\r\n/*\r\nUse App.js for global functionality\r\n*/\r\n\r\nexport default class App {\r\n constructor(element) {\r\n // save a reference of your component-element so you can access it from your methods:\r\n this.el = element\r\n\r\n // bind your methods to 'this' when calling them from event-listeners:\r\n this.onAppReady = this.onAppReady.bind(this)\r\n\r\n this.init()\r\n }\r\n\r\n init() {\r\n console.log(\"app init\")\r\n // Use init-method to store DOM-references and setup initial event-listeners:\r\n if(this.el) this.someElement = this.el.querySelector('[data-example-js-selector]')\r\n\r\n // You could listen for all components to be instantiated to make sure events between components are captured:\r\n EventBus.addEventListener(EventTypes.ALL_COMPONENTS_READY, this.onAppReady);\r\n\r\n \r\n\r\n\r\n }\r\n\r\n onAppReady(event) {\r\n \r\n // create your own event-types for component-to-component communication (fx. this event will be picked up by Header.js component):\r\n const eventData = {detail: new Date().toJSON()}\r\n const ev = new CustomEvent(EventTypes.MY_CUSTOM_EVENT, eventData)\r\n EventBus.dispatchEvent(ev)\r\n }\r\n\r\n}\r\n","//Authored by Balthazar Solow\r\n//License MIT\r\n\r\nexport default class MosaikGenertor {\r\n static filledSquares = [];\r\n\r\n constructor(element) {\r\n this.el = element;\r\n this.background = this.el.dataset.background;\r\n this.randomInt = this.randomInt.bind(this);\r\n this.squareConstructor = this.squareConstructor.bind(this);\r\n this.returnSvgClass = this.returnSvgClass.bind(this);\r\n this.leftOf = this.leftOf.bind(this);\r\n this.rightOf = this.rightOf.bind(this);\r\n this.above = this.above.bind(this);\r\n this.below = this.below.bind(this);\r\n this.topLeft = this.topLeft.bind(this);\r\n this.topRight = this.topRight.bind(this);\r\n this.bottomLeft = this.bottomLeft.bind(this);\r\n this.bottomRight = this.bottomRight.bind(this);\r\n this.Square;\r\n this.grid = [];\r\n this.starableSquares = [];\r\n this.rows = 8;\r\n this.collums = 7;\r\n //this.filledSquares = [];\r\n this.likelyFilledSquares = [];\r\n this.unlikelyFilledSquares = [];\r\n this.shuffle = this.shuffle.bind(this);\r\n\r\n this.canvas = this.el.querySelector(\"canvas\");\r\n\r\n this.init();\r\n }\r\n init() {\r\n //Square class\r\n this.Square = class Square {\r\n //constructer without specific shape\r\n constructor(filled, number, shape) {\r\n let module = document.querySelector(\"[data-component='mosaik-generator']\");\r\n let background = module.dataset.background;\r\n //Declaring variables.\r\n //let shape;\r\n let color1;\r\n let color2;\r\n let colorB;\r\n let orient;\r\n //If a square should be filled this randomely generates it.\r\n if (filled === true) {\r\n if (MosaikGenertor.filledSquares.includes(number)) {\r\n shape = Math.floor(Math.random() * (10 - 0 + 1) + 0);\r\n } else {\r\n shape = Math.floor(Math.random() * (13 - 0 + 1) + 0);\r\n }\r\n // Check if background is green\r\n if (background === \"green\") {\r\n console.log(\"is green\");\r\n do {\r\n color1 = Math.floor(Math.random() * (5 - 0 + 1) + 0);\r\n } while (color1 === 2);\r\n do {\r\n color2 = Math.floor(Math.random() * (5 - 0 + 1) + 0);\r\n } while (color2 === 2 && color2 === color1);\r\n } else {\r\n color1 = Math.floor(Math.random() * (5 - 0 + 1) + 0);\r\n do {\r\n color2 = Math.floor(Math.random() * (5 - 0 + 1) + 0);\r\n } while (color2 == color1);\r\n }\r\n\r\n do {\r\n colorB = Math.floor(Math.random() * (6 - 0 + 1) + 0);\r\n } while (colorB == color1 || colorB == color2);\r\n if (orient == undefined) {\r\n orient = Math.floor(Math.random() * (3 - 0 + 1) + 0);\r\n }\r\n } else {\r\n shape = -1;\r\n }\r\n //Setting all the values of the square.\r\n (this.number = number), (this.shape = shape), (this.color1 = color1), (this.color2 = color2), (this.colorB = colorB), (this.orient = orient);\r\n }\r\n set setShape(newShape) {\r\n this.shape = newShape;\r\n }\r\n set setOrient(newOrient) {\r\n this.orient = newOrient;\r\n }\r\n };\r\n this.squareConstructor();\r\n }\r\n\r\n //functions for navigating the grid\r\n leftOf(number) {\r\n return number - 1;\r\n }\r\n rightOf(number) {\r\n return number + 1;\r\n }\r\n above(number) {\r\n return number - this.collums;\r\n }\r\n below(number) {\r\n return number + this.collums;\r\n }\r\n\r\n topLeft(number) {\r\n return 0;\r\n }\r\n topRight(number) {\r\n return collums - 1;\r\n }\r\n bottomLeft(number) {\r\n return (collums - 1) * rows;\r\n }\r\n bottomRight(number) {\r\n return collums * rows - 1;\r\n }\r\n\r\n returnSvgClass(number, orientation, color1, colorB, color2) {\r\n let rotationClass = \"\";\r\n if (number < 14) {\r\n switch (orientation) {\r\n case 1:\r\n rotationClass = \"rotate-90\";\r\n break;\r\n case 2:\r\n rotationClass = \"rotate-180\";\r\n break;\r\n case 3:\r\n rotationClass = \"-rotate-90\";\r\n break;\r\n default:\r\n rotationClass = \"rotate-0\";\r\n }\r\n } else {\r\n switch (orientation) {\r\n case 1:\r\n rotationClass = \"rotate-0\";\r\n break;\r\n case 2:\r\n rotationClass = \"-rotate-90 -scale-x-[1]\";\r\n break;\r\n case 3:\r\n rotationClass = \"-rotate-0\";\r\n break;\r\n case 4:\r\n rotationClass = \"rotate-90 -scale-x-[1]\";\r\n break;\r\n case 5:\r\n rotationClass = \"rotate-180 -scale-x-[1]\";\r\n break;\r\n case 6:\r\n rotationClass = \"rotate-0\";\r\n break;\r\n case 7:\r\n rotationClass = \"-scale-x-[1]\";\r\n break;\r\n default:\r\n rotationClass = \"rotate-180\";\r\n break;\r\n }\r\n }\r\n\r\n return ``;\r\n }\r\n\r\n //A function to get randome numbers.\r\n randomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n squareConstructor() {\r\n let filled = true;\r\n let bgClass = this.background;\r\n //adds appropriate numbers to fill lists depending on grid size.\r\n for (let i = 0; i < this.rows * this.collums; i++) {\r\n //finds outer ring\r\n if (i < this.collums || i % this.collums == 0 || i % this.collums == this.collums - 1 || i > this.collums * (this.rows - 1) - 1) {\r\n this.unlikelyFilledSquares[this.unlikelyFilledSquares.length] = i;\r\n }\r\n //finds second outer ring\r\n else if ((i > this.collums && i < 2 * this.collums - 1) || (i % this.collums == 1) & (i > this.collums) & (i < this.collums * (this.rows - 1) - 1) || (i % this.collums == this.collums - 2 && i > this.collums && i < this.collums * (this.rows - 1) - 1) || (i > this.collums * (this.rows - 2) - 1 && i < this.collums * (this.rows - 1) - 1)) {\r\n this.likelyFilledSquares[this.likelyFilledSquares.length] = i;\r\n }\r\n //finds center\r\n else if (i > this.collums * 2 && i < this.collums * (this.rows - 2) && i % this.collums > 1 && i % this.collums < this.collums - 1) {\r\n MosaikGenertor.filledSquares[MosaikGenertor.filledSquares.length] = i;\r\n }\r\n }\r\n\r\n //Creates grid of squares in x rows of y collums. the squares will be clustered in the center.\r\n for (let i = 0; i < this.rows * this.collums; i++) {\r\n filled = true;\r\n if (this.likelyFilledSquares.includes(i)) {\r\n if (this.randomInt(0, 1) == 1) {\r\n filled = false;\r\n }\r\n } else if (this.unlikelyFilledSquares.includes(i)) {\r\n if (this.randomInt(0, 3) != 0) {\r\n filled = false;\r\n }\r\n }\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n\r\n //Making sure there are no holes.\r\n for (let i = 0; i < this.grid.length; i++) {\r\n if ((this.grid[i].shape === -1) & this.likelyFilledSquares.includes(i)) {\r\n filled = true;\r\n if (this.grid[i - (this.collums + 1)].shape != -1 && this.unlikelyFilledSquares.includes(i - (this.collums + 1))) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i - this.collums].shape != -1 && this.unlikelyFilledSquares.includes(i - this.collums)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i - (this.collums - 1)].shape != -1 && this.unlikelyFilledSquares.includes(i - (this.collums - 1))) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i - 1].shape != -1 && this.unlikelyFilledSquares.includes(i - 1)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i + 1].shape != -1 && this.unlikelyFilledSquares.includes(i + 1)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i + (this.collums - 1)].shape != -1 && this.unlikelyFilledSquares.includes(i + (this.collums - 1))) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i + this.collums].shape != -1 && this.unlikelyFilledSquares.includes(i + this.collums)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n } else if (this.grid[i + (this.collums + 1)].shape != -1 && this.unlikelyFilledSquares.includes(i + (this.collums + 1))) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n }\r\n\r\n //making sure there are no floating squares.\r\n for (let i = 0; i < this.grid.length; i++) {\r\n filled = false;\r\n if (this.grid[i].shape != -1 && this.unlikelyFilledSquares.includes(i)) {\r\n if (i >= this.collums) {\r\n if ((this.grid[i - this.collums].shape == -1 || this.grid[i - 1].shape > 13) && !this.unlikelyFilledSquares.includes(i - this.collums)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n if (i >= 1) {\r\n if ((this.grid[i - 1].shape == -1 || this.grid[i - 1].shape > 13) && !this.unlikelyFilledSquares.includes(i - 1)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n if (i < this.collums * (this.rows - 1) - 1) {\r\n if ((this.grid[i + this.collums].shape == -1 || this.grid[i + this.collums].shape > 13) && !this.unlikelyFilledSquares.includes(i + this.collums)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n if (i < this.collums * this.rows - 1) {\r\n if ((this.grid[i + 1].shape == -1 || this.grid[i + 1].shape > 13) && !this.unlikelyFilledSquares.includes(i + 1)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n }\r\n\r\n //makes sure corners arent floating.\r\n if (i == 0) {\r\n if ((this.grid[this.below(i)].shape == -1 || this.grid[this.below(i)].shape > 13) && (this.grid[this.rightOf(i)].shape == -1 || this.grid[this.rightOf(i)].shape > 13)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n } else if (i == this.collums - 1) {\r\n if ((this.grid[this.below(i)].shape == -1 || this.grid[this.below(i)].shape > 13) && (this.grid[this.leftOf(i)].shape == -1 || this.grid[this.leftOf(i)].shape > 13)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n } else if (i == this.collums * this.rows - this.collums) {\r\n if ((this.grid[this.above(i)].shape == -1 || this.grid[this.above(i)].shape > 13) && (this.grid[this.rightOf(i)].shape == -1 || this.grid[this.rightOf(i)].shape > 13)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n } else if (i == this.collums * this.rows - 1) {\r\n if ((this.grid[this.above(i)].shape == -1 || this.grid[this.above(i)].shape > 13) && (this.grid[this.leftOf(i)].shape == -1 || this.grid[this.leftOf(i)].shape > 13)) {\r\n this.grid[i] = new this.Square(filled, i);\r\n }\r\n }\r\n }\r\n\r\n //makes a star with a tail\r\n filled = true;\r\n for (let i = 0; i < this.grid.length; i++) {\r\n if (((i % this.collums > 2) & (i % this.collums < this.collums - 3) && !MosaikGenertor.filledSquares.includes(i)) || (i > this.collums * 3 - 1 && i < this.collums * this.rows - 3 * this.collums && !MosaikGenertor.filledSquares.includes(i))) {\r\n this.starableSquares[this.starableSquares.length] = i;\r\n }\r\n }\r\n let randStarSquare = this.randomInt(0, this.starableSquares.length - 1);\r\n let starSquare = this.grid[this.starableSquares[randStarSquare]];\r\n starSquare.setShape = 13;\r\n\r\n //top\r\n if (starSquare.number < (this.collums * this.rows) / 2) {\r\n //center\r\n if (starSquare.number % this.collums > 1 && starSquare.number < this.collums * 2) {\r\n //left 4\r\n if (starSquare.number % this.collums < this.collums / 2) {\r\n this.grid[this.leftOf(starSquare.number)].setShape = 14;\r\n this.grid[this.leftOf(this.leftOf(starSquare.number))].setShape = 15;\r\n this.grid[this.below(this.leftOf(this.leftOf(starSquare.number)))].setShape = 16;\r\n this.grid[this.leftOf(this.below(this.leftOf(this.leftOf(starSquare.number))))].setShape = 17;\r\n this.grid[this.below(this.leftOf(this.below(this.leftOf(this.leftOf(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.leftOf(starSquare.number)].setOrient = 4;\r\n this.grid[this.leftOf(this.leftOf(starSquare.number))].setOrient = 4;\r\n this.grid[this.below(this.leftOf(this.leftOf(starSquare.number)))].setOrient = 4;\r\n this.grid[this.leftOf(this.below(this.leftOf(this.leftOf(starSquare.number))))].setOrient = 4;\r\n this.grid[this.below(this.leftOf(this.below(this.leftOf(this.leftOf(starSquare.number)))))].setOrient = 4;\r\n //right 1\r\n } else {\r\n this.grid[this.rightOf(starSquare.number)].setShape = 14;\r\n this.grid[this.rightOf(this.rightOf(starSquare.number))].setShape = 15;\r\n this.grid[this.below(this.rightOf(this.rightOf(starSquare.number)))].setShape = 16;\r\n this.grid[this.rightOf(this.below(this.rightOf(this.rightOf(starSquare.number))))].setShape = 17;\r\n this.grid[this.below(this.rightOf(this.below(this.rightOf(this.rightOf(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.rightOf(starSquare.number)].setOrient = 1;\r\n this.grid[this.rightOf(this.rightOf(starSquare.number))].setOrient = 1;\r\n this.grid[this.below(this.rightOf(this.rightOf(starSquare.number)))].setOrient = 1;\r\n this.grid[this.rightOf(this.below(this.rightOf(this.rightOf(starSquare.number))))].setOrient = 1;\r\n this.grid[this.below(this.rightOf(this.below(this.rightOf(this.rightOf(starSquare.number)))))].setOrient = 1;\r\n }\r\n //side\r\n } else {\r\n //left 4\r\n if (starSquare.number % this.collums < this.collums / 2) {\r\n this.grid[this.above(starSquare.number)].setShape = 14;\r\n this.grid[this.above(this.above(starSquare.number))].setShape = 15;\r\n this.grid[this.rightOf(this.above(this.above(starSquare.number)))].setShape = 16;\r\n this.grid[this.above(this.rightOf(this.above(this.above(starSquare.number))))].setShape = 17;\r\n this.grid[this.rightOf(this.above(this.rightOf(this.above(this.above(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.above(starSquare.number)].setOrient = 8;\r\n this.grid[this.above(this.above(starSquare.number))].setOrient = 8;\r\n this.grid[this.rightOf(this.above(this.above(starSquare.number)))].setOrient = 8;\r\n this.grid[this.above(this.rightOf(this.above(this.above(starSquare.number))))].setOrient = 8;\r\n this.grid[this.rightOf(this.above(this.rightOf(this.above(this.above(starSquare.number)))))].setOrient = 8;\r\n //right 1\r\n } else {\r\n this.grid[this.above(starSquare.number)].setShape = 14;\r\n this.grid[this.above(this.above(starSquare.number))].setShape = 15;\r\n this.grid[this.leftOf(this.above(this.above(starSquare.number)))].setShape = 16;\r\n this.grid[this.above(this.leftOf(this.above(this.above(starSquare.number))))].setShape = 17;\r\n this.grid[this.leftOf(this.above(this.leftOf(this.above(this.above(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.above(starSquare.number)].setOrient = 5;\r\n this.grid[this.above(this.above(starSquare.number))].setOrient = 5;\r\n this.grid[this.leftOf(this.above(this.above(starSquare.number)))].setOrient = 5;\r\n this.grid[this.above(this.leftOf(this.above(this.above(starSquare.number))))].setOrient = 5;\r\n this.grid[this.leftOf(this.above(this.leftOf(this.above(this.above(starSquare.number)))))].setOrient = 5;\r\n }\r\n }\r\n //bottom\r\n } else {\r\n //center\r\n if (starSquare.number % this.collums > 1 && starSquare.number % this.collums < this.collums - 2) {\r\n //left 3\r\n if (starSquare % this.collums < this.collums / 2) {\r\n this.grid[this.leftOf(starSquare.number)].setShape = 14;\r\n this.grid[this.leftOf(this.leftOf(starSquare.number))].setShape = 15;\r\n this.grid[this.above(this.leftOf(this.leftOf(starSquare.number)))].setShape = 16;\r\n this.grid[this.leftOf(this.above(this.leftOf(this.leftOf(starSquare.number))))].setShape = 17;\r\n this.grid[this.above(this.leftOf(this.above(this.leftOf(this.leftOf(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.leftOf(starSquare.number)].setOrient = 3;\r\n this.grid[this.leftOf(this.leftOf(starSquare.number))].setOrient = 3;\r\n this.grid[this.above(this.leftOf(this.leftOf(starSquare.number)))].setOrient = 3;\r\n this.grid[this.leftOf(this.above(this.leftOf(this.leftOf(starSquare.number))))].setOrient = 3;\r\n this.grid[this.above(this.leftOf(this.above(this.leftOf(this.leftOf(starSquare.number)))))].setOrient = 3;\r\n //right 2\r\n } else {\r\n this.grid[this.rightOf(starSquare.number)].setShape = 14;\r\n this.grid[this.rightOf(this.rightOf(starSquare.number))].setShape = 15;\r\n this.grid[this.above(this.rightOf(this.rightOf(starSquare.number)))].setShape = 16;\r\n this.grid[this.rightOf(this.above(this.rightOf(this.rightOf(starSquare.number))))].setShape = 17;\r\n this.grid[this.above(this.rightOf(this.above(this.rightOf(this.rightOf(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.rightOf(starSquare.number)].setOrient = 2;\r\n this.grid[this.rightOf(this.rightOf(starSquare.number))].setOrient = 2;\r\n this.grid[this.above(this.rightOf(this.rightOf(starSquare.number)))].setOrient = 2;\r\n this.grid[this.rightOf(this.above(this.rightOf(this.rightOf(starSquare.number))))].setOrient = 2;\r\n this.grid[this.above(this.rightOf(this.above(this.rightOf(this.rightOf(starSquare.number)))))].setOrient = 2;\r\n }\r\n //side\r\n } else {\r\n //left 3\r\n if (starSquare.number % this.collums < this.collums / 2) {\r\n this.grid[this.below(starSquare.number)].setShape = 14;\r\n this.grid[this.below(this.below(starSquare.number))].setShape = 15;\r\n this.grid[this.rightOf(this.below(this.below(starSquare.number)))].setShape = 16;\r\n this.grid[this.below(this.rightOf(this.below(this.below(starSquare.number))))].setShape = 17;\r\n this.grid[this.rightOf(this.below(this.rightOf(this.below(this.below(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.below(starSquare.number)].setOrient = 7;\r\n this.grid[this.below(this.below(starSquare.number))].setOrient = 7;\r\n this.grid[this.rightOf(this.below(this.below(starSquare.number)))].setOrient = 7;\r\n this.grid[this.below(this.rightOf(this.below(this.below(starSquare.number))))].setOrient = 7;\r\n this.grid[this.rightOf(this.below(this.rightOf(this.below(this.below(starSquare.number)))))].setOrient = 7;\r\n //right 2\r\n } else {\r\n this.grid[this.below(starSquare.number)].setShape = 14;\r\n this.grid[this.below(this.below(starSquare.number))].setShape = 15;\r\n this.grid[this.leftOf(this.below(this.below(starSquare.number)))].setShape = 16;\r\n this.grid[this.below(this.leftOf(this.below(this.below(starSquare.number))))].setShape = 17;\r\n this.grid[this.leftOf(this.below(this.leftOf(this.below(this.below(starSquare.number)))))].setShape = 18;\r\n\r\n this.grid[this.below(starSquare.number)].setOrient = 6;\r\n this.grid[this.below(this.below(starSquare.number))].setOrient = 6;\r\n this.grid[this.leftOf(this.below(this.below(starSquare.number)))].setOrient = 6;\r\n this.grid[this.below(this.leftOf(this.below(this.below(starSquare.number))))].setOrient = 6;\r\n this.grid[this.leftOf(this.below(this.leftOf(this.below(this.below(starSquare.number)))))].setOrient = 6;\r\n }\r\n }\r\n }\r\n\r\n //converting output to HTML input\r\n let newGrid = this.grid\r\n .map((square) => {\r\n return `\r\n ${square.shape > -1 ? `
${this.returnSvgClass(square.shape, square.orient, square.color1, square.colorB, square.color2)}
` : ``} \r\n `;\r\n })\r\n .join(\"\");\r\n this.el.innerHTML = newGrid;\r\n //find each div in this.el and add the class Active to each one with a 20s delay for each i a random order.\r\n let divs = this.el.querySelectorAll(\"div\");\r\n let divsArray = Array.from(divs);\r\n let divsArrayShuffled = this.shuffle(divsArray);\r\n divsArrayShuffled.forEach((div, i) => {\r\n setTimeout(() => {\r\n div.classList.add(\"active\");\r\n }, i * 20);\r\n });\r\n\r\n //call init function after 20 seconds\r\n setTimeout(() => {\r\n this.init();\r\n }, 20000);\r\n}\r\n\r\n shuffle(array) {\r\n //shuffel the array and return it\r\n let currentIndex = array.length,\r\n temporaryValue,\r\n randomIndex;\r\n while (0 !== currentIndex) {\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex -= 1;\r\n temporaryValue = array[currentIndex];\r\n array[currentIndex] = array[randomIndex];\r\n array[randomIndex] = temporaryValue;\r\n }\r\n return array;\r\n }\r\n}","import 'regenerator-runtime'\r\nimport {EventBus, EventTypes} from '../consts/const-event-types'\r\n\r\nimport App from '../components/app'\r\nimport MosaikGenertor from '../components/mosaik-generator/mosaik-generator'\r\n\r\nconst components = [\r\n {Class: App, selectorName: 'app'},\r\n {Class: MosaikGenertor, selectorName: 'mosaik-generator'},\r\n]\r\n\r\n\r\nclass ComponentInstantiator {\r\n constructor() {\r\n this.createComponents()\r\n this.dispatchReady()\r\n return this\r\n }\r\n\r\n createComponents() {\r\n this.componentsInstantiated = {}\r\n\r\n components.map(component => {\r\n const nodes = []\r\n // select all DOM-nodes with the data-component attribute:\r\n const nodeItems = [...document.querySelectorAll(\"[data-component='\" + component.selectorName + \"']\")]\r\n\r\n nodeItems.map(nodeItem => {\r\n // instantiate component with nodeItem as param:\r\n nodes.push(new component.Class(nodeItem))\r\n })\r\n\r\n // add to componentsList object:\r\n if (nodes.length) this.componentsInstantiated[component.selectorName] = nodes\r\n })\r\n }\r\n\r\n dispatchReady() {\r\n const event = new CustomEvent(EventTypes.ALL_COMPONENTS_READY)\r\n EventBus.dispatchEvent(event)\r\n }\r\n\r\n getComponents(selectorName) {\r\n return selectorName ? this.componentsInstantiated[selectorName] : this.componentsInstantiated\r\n }\r\n}\r\n\r\n if (\"serviceWorker\" in navigator) {\r\n window.addEventListener(\"load\", function() {\r\n navigator.serviceWorker\r\n .register(\"../serviceWorker.js\")\r\n .then(res => {})\r\n .catch(err => console.log(\"service worker not registered\", err))\r\n })\r\n}\r\n\r\nwindow.App = new ComponentInstantiator()\r\n\r\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(7134);\n"],"names":["EventBus","document","body","EventTypes","Object","freeze","ALL_COMPONENTS_READY","MY_CUSTOM_EVENT","concat","App","element","_classCallCheck","this","el","onAppReady","bind","init","key","value","console","log","someElement","querySelector","addEventListener","event","eventData","detail","Date","toJSON","ev","CustomEvent","dispatchEvent","MosaikGenertor","background","dataset","randomInt","squareConstructor","returnSvgClass","leftOf","rightOf","above","below","topLeft","topRight","bottomLeft","bottomRight","Square","grid","starableSquares","rows","collums","likelyFilledSquares","unlikelyFilledSquares","shuffle","canvas","_createClass","filled","number","shape","color1","color2","colorB","orient","filledSquares","includes","Math","floor","random","undefined","set","newShape","newOrient","orientation","rotationClass","min","max","_this","i","length","randStarSquare","starSquare","setShape","setOrient","newGrid","map","square","join","innerHTML","divs","querySelectorAll","divsArray","Array","from","forEach","div","setTimeout","classList","add","array","temporaryValue","randomIndex","currentIndex","components","Class","selectorName","ComponentInstantiator","createComponents","dispatchReady","componentsInstantiated","component","nodes","_toConsumableArray","nodeItem","push","navigator","window","serviceWorker","register","then","res","catch","err","runtime","exports","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","fn","obj","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","invoke","resolve","reject","result","Promise","__await","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}