{"version":3,"file":"mainMap.bundle.min.js","mappings":"mCAAIA,E,iaCCJ,aACA,UAEA,UAEA,UAEA,aAQI,wBANQ,KAAAC,WAAqB,uBAStB,KAAAC,YAAc,SACjBC,EACAC,EACAC,QADA,IAAAD,IAAAA,EAAA,WACA,IAAAC,IAAAA,EAAA,IAEA,IAAIH,EAA8D,KAElE,OAAQC,GACJ,KAAK,EAAAG,kBAAkBC,SACnBL,EAAc,EAAKK,SAASF,GAC5B,MAEJ,KAAK,EAAAC,kBAAkBE,MACnBN,EAAc,EAAKM,MAAMH,GACzB,MAEJ,KAAK,EAAAC,kBAAkBG,aACnBP,EAAc,EAAKO,aAAaJ,GAChC,MAEJ,KAAK,EAAAC,kBAAkBI,gBACnBR,EAAc,EAAKQ,kBAK3B,GAAoB,OAAhBR,GAA0C,OAAlBE,EACxB,OAAQA,GAEJ,KAAK,EAAAO,qBAAqBC,eACtBV,EAAc,EAAKU,eAAeP,GAClC,MAEJ,KAAK,EAAAM,qBAAqBE,kBACtBX,EAAc,EAAKW,kBAAkBR,GACrC,MAEJ,KAAK,EAAAM,qBAAqBG,0BACtBZ,EAAc,EAAKY,0BAA0BT,GAC7C,MAEJ,KAAK,EAAAM,qBAAqBI,MACtBb,EAAc,EAAKa,MAAMV,GAMrC,OAAOH,CACX,EAEQ,KAAAQ,gBAAkB,WACtB,MAAO,CACHM,YAAa,mBACbC,IAAK,kBACLC,KAAM,EAAAZ,kBAAkBI,gBACxBS,IAAK,EAAKlB,WACVmB,wBAAwB,EACxBC,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,OAAQ,CACJ,CACIC,UAAW,qBACXC,QAAS,EACTC,QAAS,KAIzB,EAEQ,KAAApB,SAAW,SACfF,GAEA,OAAO,EACA,CACCW,YAAa,YACbC,IAAK,YACLC,KAAM,EAAAZ,kBAAkBC,SACxBqB,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACV8B,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,sBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,mBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,oBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,2BACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,8BACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAG,MAAQ,SACZH,GAEA,OAAO,EACA,CACCW,YAAa,SACbC,IAAK,SACLC,KAAM,EAAAZ,kBAAkBE,MACxBoB,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACV8B,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,mBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,gBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,iBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,wBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,2BACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAI,aAAe,SACnBJ,GAEA,OAAO,EACA,CACCW,YAAa,gBACbC,IAAK,gBACLC,KAAM,EAAAZ,kBAAkBG,aACxBmB,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACV8B,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,0BACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,uBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,wBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,+BACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,kCACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAO,eAAiB,SACrBP,GAEA,OAAO,EACA,CACCW,YAAa,mBACbC,IAAK,kBACLC,KAAM,EAAAZ,kBAAkBgC,YACxBC,QAAS,EAAA5B,qBAAqBC,eAC9BgB,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACVuC,UAAW,CAAEC,eAAgB,EAAA9B,qBAAqBC,gBAClDmB,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,yBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,sBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,uBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,8BACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,iCACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAQ,kBAAoB,SACxBR,GAEA,OAAO,EACA,CACCW,YAAa,sBACbC,IAAK,qBACLC,KAAM,EAAAZ,kBAAkBgC,YACxBC,QAAS,EAAA5B,qBAAqBE,kBAC9Be,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACVuC,UAAW,CAAEC,eAAgB,EAAA9B,qBAAqBE,mBAClDkB,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,yBACXC,QAAS,GACTC,QAAS,IAGb,CACIF,UAAW,iCACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAS,0BAA4B,SAChCT,GAEA,OAAO,EACA,CACCW,YAAa,+BACbC,IAAK,4BACLC,KAAM,EAAAZ,kBAAkBgC,YACxBC,QAAS,EAAA5B,qBAAqBG,0BAC9Bc,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACVuC,UAAW,CAAEC,eAAgB,EAAA9B,qBAAqBG,2BAClDiB,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,yBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,iCACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,EAEQ,KAAAU,MAAQ,SACZV,GAEA,OAAO,EACA,CACCW,YAAa,QACbC,IAAK,QACLC,KAAM,EAAAZ,kBAAkBgC,YACxBC,QAAS,EAAA5B,qBAAqBI,MAC9Ba,SAAU,EAAAC,oBAAoBC,KAC9BX,IAAK,EAAKlB,WACVuC,UAAW,CAAEC,eAAgB,EAAA9B,qBAAqBI,OAClDgB,UAAW,EAAKC,cAChBC,OAAQ,CAAEC,OAAO,EAAOC,MAAM,GAC9BC,oBAAoB,EACpBC,kBAAkB,EAClBb,OAAQ,CACJ,CACIC,UAAW,yBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,sBACXC,QAAS,GACTC,QAAS,IAEb,CACIF,UAAW,uBACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,iCACXC,QAAS,EACTC,QAAS,IAEb,CACIF,UAAW,iCACXC,QAAS,EACTC,QAAS,MAGftB,EAEd,CA7WA,CAgXJ,OArXY,YAAA2B,YAAR,WACI,OAAO,IAAI,EAAAU,wBAAwB,IAAI,EAAAC,0BAA4B,CAACC,QAAS,cACjF,EAmXJ,EAzXA,GAAa,EAAAC,iCAAAA,C,6FCRb,cAOA,0BA2BA,QAzBkB,EAAAC,kBAAd,SACIC,EACAC,GAGA,IAAIC,EAAM,IAAI,EAAAC,WAiBd,OAhBAD,EAAIE,WAAaC,EAAE,WAAIL,IAAgBM,KAAK,gBAC5CJ,EAAIK,cAAgBF,EAAE,WAAIL,IAAgBM,KAAK,oBAC/CJ,EAAIM,SAAW,CAAC,EAAAC,cAAcC,IAAK,EAAAD,cAAcE,OAAQ,EAAAF,cAAcG,YACvEV,EAAIW,eAAiB,EAAAJ,cAAcC,IACnCR,EAAIY,sBAAuB,EAC3BZ,EAAIF,aAAeA,EACnBE,EAAID,YAAcA,EAClBC,EAAIa,QAAU,GACdb,EAAIvB,QAAU,EACduB,EAAItB,QAAU,GACdsB,EAAIc,OAAS,EAAE,IAAK,QAAS,OAAQ,SACrCd,EAAIe,UAAY,CAAC,OAAQ,SACzBf,EAAIgB,kBAAoB,YACxBhB,EAAIiB,eAAiB,aACrBjB,EAAIkB,mBAAoB,EACxBlB,EAAImB,qBAAsB,EACnBnB,CACX,EAEJ,EA3BA,GAAa,EAAAoB,kBAAAA,C,wkBCPb,cAsEA,cAEI,WACYC,GAER,IA3DAC,EA2DA,IAAK,YA3DLA,EAAQ,IAAIC,OAEVC,KAAK,CACPC,eAAgB,EAAApE,kBAAkBC,SAClCoE,kBAAmB,KACnBC,QAAS,gBAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBE,MAClCmE,kBAAmB,KACnBC,QAAS,aAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBgC,YAClCqC,kBAAmB,KACnBC,QAAS,mBAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBG,aAClCkE,kBAAmB,KACnBC,QAAS,oBAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBgC,YAClCqC,kBAAmB,EAAAhE,qBAAqBC,eACxCgE,QAAS,uBAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBgC,YAClCqC,kBAAmB,EAAAhE,qBAAqBG,0BACxC8D,QAAS,6BAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBgC,YAClCqC,kBAAmB,EAAAhE,qBAAqBE,kBACxC+D,QAAS,0BAGbL,EAAME,KAAK,CACPC,eAAgB,EAAApE,kBAAkBgC,YAClCqC,kBAAmB,EAAAhE,qBAAqBI,MACxC6D,QAAS,UAINL,KAQ0B,K,OAFrB,EAAAD,iBAAAA,E,CAGZ,CA4DJ,OAlE6C,OAQlC,YAAAO,yBAAP,SAAgCH,GAE5B,OAAQA,EAAeI,gBAAkB,EAAAxE,kBAAkBgC,WAC/D,EAEO,YAAAyC,0BAAP,SAAiCC,EAAwBC,GAErD,MAAO,CACHC,GAAI,GACJC,IAAKH,EAAkBG,IACvBlE,IAAK+D,EAAkB/D,IACvBmE,KAAMJ,EAAkBI,KACxBjF,WAAY6E,EAAkBK,QAC9BjF,cAAe4E,EAAkBM,WACjCX,kBAAmBK,EAAkBvC,eACrCY,KAAM2B,EACNJ,QAASW,KAAKC,WAAWR,EAAkBK,QAASL,EAAkBvC,gBACtEwC,WAAYA,EAEpB,EAEO,YAAAQ,yBAAP,SAAgCC,GAC5B,IAEIC,EAAoBD,EAAoBT,WAAWU,UAGvD,OAAQD,EAAoBvF,WAAW2E,eACnC,IAAK,MACDY,EAAoBrC,KAAKuC,WAAa,WACtC,MACJ,IAAK,QACDF,EAAoBrC,KAAKuC,WAAa,QACtC,MACJ,IAAK,QACDF,EAAoBrC,KAAKuC,WAAa,cACtC,MACJ,IAAK,OACDF,EAAoBrC,KAAKuC,WAAa,eAgB9C,MAZO,uFAnBwB,MAqBmC,qBAAaL,KAAKjB,iBAAiBuB,YAAW,qKArBjF,MAuBmC,qBAAaN,KAAKjB,iBAAiBuB,YAAW,wMAGlEN,KAAKjB,iBAAiBwB,YAAW,8BAAsBH,EAAS,0NAMlH,EAGJ,EAlEA,CAjEA,QAiE6CI,oBAAhC,EAAAC,wBAAAA,C,gGCtEb,cAKA,aAEI,WACY1B,GAAA,KAAAA,iBAAAA,CAEZ,CAKJ,OAHW,YAAA2B,sBAAP,WACI,OAAO,IAAI,EAAAD,wBAAwBT,KAAKjB,iBAC5C,EACJ,EAVA,GAAa,EAAA4B,qBAAAA,C,6FCLb,cAKA,UACA,UACA,UACA,UACA,UAGA,0BAiRA,QA/QW,YAAAC,SAAP,SAAgBhG,EAAoBC,QAAA,IAAAA,IAAAA,EAAA,MAEhC,IAAIgG,EAAiB,KAGrB,GAAsB,OAAlBhG,EACA,OAAQA,GAEJ,KAAK,EAAAO,qBAAqBC,eACtBwF,EAAQb,KAAK3E,iBACb,MAEJ,KAAK,EAAAD,qBAAqBE,kBACtBuF,EAAQb,KAAK1E,oBACb,MAEJ,KAAK,EAAAF,qBAAqBG,0BACtBsF,EAAQb,KAAKzE,4BACb,MAEJ,KAAK,EAAAH,qBAAqBI,MACtBqF,EAAQb,KAAKxE,QAMzB,GAAc,OAAVqF,EACA,OAAQjG,GACJ,KAAK,EAAAG,kBAAkBC,SACnB6F,EAAQb,KAAKhF,WACb,MAEJ,KAAK,EAAAD,kBAAkBE,MACnB4F,EAAQb,KAAK/E,QACb,MAEJ,KAAK,EAAAF,kBAAkBgC,YACnB8D,EAAQb,KAAKjD,cACb,MAEJ,KAAK,EAAAhC,kBAAkBG,aACnB2F,EAAQb,KAAK9E,eAKzB,OAAO2F,CACX,EAEO,YAAAC,iBAAP,SACIlG,GAEA,YAFA,IAAAA,IAAAA,EAAqB,EAAAG,kBAAkBC,UAEhCgF,KAAKe,gBAChB,EAEQ,YAAAC,YAAR,SAAoBC,GAChB,IAAIC,EAAO,IAAI,UAAK,CAChBC,MAAOF,IAEPG,EAAS,IAAI,UAAO,CACpBD,MAAO,sBACPE,MAAO,IAGX,MAAO,CACH,IAAI,UAAM,CACNC,MAAO,IAAI,UAAO,CACdJ,KAAMA,EACNE,OAAQA,EACRG,OAAQ,KAEZL,KAAMA,EACNE,OAAQA,IAGpB,EAEQ,YAAApG,SAAR,WACI,IAAIkG,EAAO,IAAI,UAAK,CAEhBC,MAAO,wBAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,kBACPE,MAAO,IAGX,MAAS,CACL,IAAI,UAAM,CACNC,MAAO,IAAI,UAAO,CACdJ,KAAMA,EACNE,OAAQA,EACRG,OAAQ,IAEZL,KAAMA,EACNE,OAAQA,IAIpB,EAEQ,YAAAnG,MAAR,WACI,IAAIiG,EAAO,IAAI,UAAK,CAChBC,MAAO,yBAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,qBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAMA,EACNE,OAAQA,EACRI,OAAQ,EACRD,OAAQ,GACRE,SAAU,EACVC,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAArE,YAAR,WACI,OAAOiD,KAAKgB,YAAY,wBAC5B,EAEQ,YAAA3F,eAAR,WACI,IAAI6F,EAAO,IAAI,UAAK,CAChBC,MAAO,0BAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,sBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAMA,EACNE,OAAQA,EACRI,OAAQ,EACRD,OAAQ,GACRE,SAAU,EACVC,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAAlG,aAAR,WAEI,IAAIgG,EAAO,IAAI,UAAK,CAChBC,MAAO,uBAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,mBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAMA,EACNE,OAAQA,EACRI,OAAQ,EACRD,OAAQ,EACRI,QAAS,EACTD,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAA9F,kBAAR,WACI,IAAI4F,EAAO,IAAI,UAAK,CAChBC,MAAO,2BAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,uBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAMA,EACNE,OAAQA,EACRI,OAAQ,EACRD,OAAQ,GACRE,SAAU,EACVC,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAA7F,0BAAR,WAEI,IAAI2F,EAAO,IAAI,UAAK,CAChBC,MAAO,2BAGPC,EAAS,IAAI,UAAO,CACpBD,MAAO,uBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAMA,EACNE,OAAQA,EACRI,OAAQ,EACRD,OAAQ,EACRI,QAAS,EACTD,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAA5F,MAAR,WACI,IAAI0F,EAAO,IAAI,UAAK,CAChBC,MAAO,2BAEPC,EAAS,IAAI,UAAO,CACpBD,MAAO,uBACPE,MAAO,IAGX,MAAO,CAAC,IAAI,UAAM,CACdC,MAAO,IAAI,UAAa,CACpBJ,KAAM,IAAI,UAAK,CAAEC,MAAO,2BACxBC,OAAQ,IAAI,UAAO,CAAED,MAAO,uBAAwBE,MAAO,IAC3DG,OAAQ,EACRD,OAAQ,GACRE,SAAU,EACVC,MAAO,IAEXR,KAAMA,EACNE,OAAQA,IAEhB,EAEQ,YAAAL,eAAR,WACI,IAAIG,EAAO,IAAI,UAAK,CAChBC,MAAO,2BAGX,MAAO,CACH,IAAI,UAAM,CACNG,MAAO,IAAI,UAAO,CACdJ,KAAMA,EACNE,OAAQ,IAAI,UAAO,CACfD,MAAO,wBACPE,MAAO,IAEXE,OAAQ,KAEZL,KAAMA,EACNE,OAAQ,IAAI,UAAO,CACfD,MAAO,wBACPE,MAAO,MAIvB,EAEJ,EAjRA,GAAa,EAAAO,kBAAAA,C,mGCXb,8BAcA,QAZkB,EAAAC,MAAd,WACI,OAAO,IAAIC,SACP,SAAUC,EAASC,GACfnE,EAAEoE,QAAQ,0BAA0B,SAAUC,GAC1CH,EAAQG,EACZ,IAAGC,MAAK,WACJJ,EAAQ,KACZ,GACJ,GAER,EAEJ,EAdA,GAAa,EAAAK,cAAAA,EAgBA,EAAAC,UAAb,WAGA,C,wjBCpBA,cAEA,UAKA,UACA,UACA,UACA,UAGA,UAEA,UAGA,UACA,UACA,UAEA,UACA,UAGA,UAEA,UAEA,UACA,UACA,UAGA,UAIA,UAiBA,UACA,UACA,UACA,UACA,UACA,SACA,UACA,UACA,UAEA,UAIA,UAEA,QACA,QACA,QAEAxE,EAAEyE,UAAUC,OAAM,WAEW,GAAGC,MAAMC,KAAKH,SAASI,iBAAiB,+BAC5BC,KAAI,SAAUC,GAC/C,OAAO,IAAI,EAAAC,QAAQD,EACvB,IAHA,IAKIE,EAAyB,IAAI,EAAAC,SAOjC,SAASC,IAEL,IAAIC,EAAUpF,EAAE,UAAUqF,SAC1BD,EAAUE,KAAKC,IAAIH,EAAS,KAE5B,IAAIC,EAASrF,EAAEwF,QAAQH,SAAWrF,EAAE,iBAAiByF,SAASC,IAC1DL,GAAU,MACVA,EAAS,KAEbrF,EAAE,iBAAiBqF,OAAOA,GAC1BrF,EAAE,kBAAkBqF,OAAOA,EAAS,GACxC,CAhBKJ,EAAaU,aACdR,IACAnF,EAAEwF,QAAQI,KAAK,UAAU,WAAcT,GAAa,KAkBxD,IAAIU,EAAM7F,EAAE,WACO,IAAf6F,EAAIC,QACJ,EAAAvB,cAAcP,QAAQ+B,MAAK,SAAUC,GAWzC,IAAiBC,EACTC,EACAC,EAFSF,EAJDD,EAKRE,EAAkCL,EAAI5F,KAAK,qBAC3CkG,EAAO,SAAUC,GACP,IAAIC,EAAQ,SAAUH,EAAiBjB,EAAcmB,EAAUE,QAASL,EACtF,EACA,EAAAM,eAAeC,OAAOT,KAAKI,EAR3B,GAWR,IAEA,kBAoCI,WACWxG,EACAuG,EACAjB,EACPwB,EACAR,GAEA,QAAK,UAACQ,EAAiBR,IAAK,K,OANrB,EAAAtG,aAAAA,EACA,EAAAuG,gBAAAA,EACA,EAAAjB,aAAAA,EAhCH,EAAAyB,aAAuB,EAwCvB,EAAAP,KAAO,WACN,EAAKO,cAENC,QAAQC,IAAI,yBAEZ,EAAKC,mBAAqB,IAAI,EAAApH,iCAC9B,EAAKqH,qBAAuB,IAAI,EAAAC,qBAChC,EAAKC,wBAA0B,IAAI,EAAAC,wBACnC,EAAKC,kBAAoB,IAAI,EAAAC,kBAAkB,EAAKH,wBAAyB,EAAKF,sBAClF,EAAKM,iBAAmB,IAAI,EAAAC,sBAC5B,EAAKC,cAAgB,IAAI,EAAAC,qBACzB,EAAKC,WAAa,IAAI,EAAAC,4BAA4B,KAClD,EAAKC,UAAY,IAAI,EAAAC,WACrB,EAAKD,UAAUE,UAAY,IAAI,EAAAC,aAC/B,EAAKC,WAAa,IAAI,EAAAC,WACtB,EAAKC,OAAS,IAAI,EAAAC,OAClB,EAAKC,aAAe,IAAI,EAAAnE,kBACxB,EAAKoE,gBAAkB,IAAI,EAAArF,qBAAqB,EAAK2D,iBAErD,EAAK2B,UAAY,EAAAnH,kBAAkBvB,kBAAkB,EAAKC,aAAc,WACxE,EAAK0I,YAAc,EAAKnB,kBAAkBoB,eAAe,EAAKC,sBAAuB,EAAKL,cAC1F,EAAKE,UAAUI,qBAAuB,EAAKH,YAE3C,EAAKI,uBAAyB,IAAI,EAAAC,2BAClC,EAAKC,SAAW,IAAI,EAAAC,aAAa,EAAKR,UAAUxI,YAAa,EAAK6I,wBAElE,EAAKI,sBAAwB,IAAI,EAAAC,6BAA6B,EAAKd,QACnE,EAAKe,eAAiB,IAAI,EAAAC,eAAe,EAAKvC,iBAE9C,EAAKwC,yBAA2B,IAAI,EAAAC,yBAAyB,EAAKlB,OAAQ,EAAKa,sBAAuB,EAAKvB,cAAe,EAAKE,YAC/H,EAAK1C,IAAM,EAAKgD,WAAWqB,SAAS,EAAKf,UAAW,EAAKO,SAAU,EAAKX,OAAQ,EAAKiB,yBAA0B,EAAK7B,iBAAkB,EAAKyB,sBAAuB,EAAKE,eAAgB,EAAK9D,aAAc,EAAKyC,UAAW,EAAKjB,iBAC/N,EAAK2C,UAAY,IAAI,EAAAC,eAAe,EAAKvE,IAAK,EAAKqD,gBAAgBtF,wBAAyB,EAAK4D,iBAEjG,EAAK6C,GAAK,IAAI,EAAAC,iBAAiB,EAAKzE,IAAK,EAAK6D,SAAU,EAAKT,aAAc,EAAKpD,IAAI0E,WAAY,EAAKnB,YAAa,EAAK5B,gBACnH,CACIgD,wBAAyB,EAAKxE,aAAaU,WAC3C+D,qBAAqB,IAE7B,EAAKC,cAAgB,IAAI,EAAAC,QAAQ,EAAK9E,IAAK,EAAK2B,gBAAiB,EAAKuB,QACtE,EAAK6B,SAAW,IAAI,EAAAC,SAAS,EAAKhF,IAAK,EAAK2B,iBAExC,EAAKxB,aAAaU,YAClB,EAAKV,aAAa8E,OAAO,EAAKjF,KAGlC,EAAKkF,YAAc,IAAI,EAAAC,eAAe,EAAKnF,IAAK,EAAK2B,iBACrD,EAAKyD,kBAAoB,IAAI,EAAAC,yBAAyB,EAAK1D,iBAC3D,EAAK2D,WAAa,IAAI,EAAAC,yBAAyB,EAAKvF,IAAK,EAAK6D,SAAU,EAAKT,aAAc,EAAKG,YAAYiC,kBAAmB,EAAK7D,gBAAiB,GAAI,EAAKyD,mBAE9J,EAAKK,kBAAoB,IAAI,EAAAC,kBAAkB,EAAK1F,IAAK,EAAKkD,OAAQ,EAAKvB,iBAC3E,EAAKgE,cAAgB,IAAI,EAAAC,cAAc,EAAK5F,IAAK,EAAK2B,iBACtD,EAAKkE,iBAAmB,IAAI,EAAAC,iBAAiB,EAAK9F,IAAK,EAAK2D,uBAAwB,EAAKhC,gBAAiB,CAAEoE,YAAa,aAEzH,EAAKnE,aAAc,EAE3B,EAGQ,EAAA6B,oBAAsB,WAE1B,IAAIuC,EAA0E,CAC1E,EAAKjE,mBAAmB/J,YAAY,EAAAI,kBAAkBC,SAAU,KAAM,CAAE6B,oBAAmB,IAC3F,EAAK6H,mBAAmB/J,YAAY,EAAAI,kBAAkBE,OACtD,EAAKyJ,mBAAmB/J,YAAY,EAAAI,kBAAkBgC,YAAa,EAAA3B,qBAAqBE,mBACxF,EAAKoJ,mBAAmB/J,YAAY,EAAAI,kBAAkBgC,YAAa,EAAA3B,qBAAqBC,gBACxF,EAAKqJ,mBAAmB/J,YAAY,EAAAI,kBAAkBG,cACtD,EAAKwJ,mBAAmB/J,YAAY,EAAAI,kBAAkBgC,YAAa,EAAA3B,qBAAqBG,2BACxF,EAAKmJ,mBAAmB/J,YAAY,EAAAI,kBAAkBgC,YAAa,EAAA3B,qBAAqBI,OACxF,EAAKkJ,mBAAmB/J,YAAY,EAAAI,kBAAkBI,kBAG1D,MAAO,CACH,CACIO,IAAK,aACLmE,KAAM,aACN+I,cAAc,EACdC,qBAAqB,EACrBC,kBAAmB,EAAKC,gBAAgBJ,IAGpD,EAnFI,EAAK3E,O,CACT,CAoFJ,OAjI6B,OAiI7B,EAjIA,CAA6B,EAAAgF,SAAhB,EAAA9E,QAAAA,C,mFC7Hb,cAEa,EAAA8E,QAET,SACc1E,EACAR,GAFd,WACc,KAAAQ,gBAAAA,EACA,KAAAR,KAAAA,EAGJ,KAAAmF,gBAAkB,WACxB,OAAqB,OAAd,EAAKnF,IAChB,EAEU,KAAAiF,gBAAkB,SAACJ,GACzB,OAAK,EAAKM,kBAOCN,EALAA,EAAiBO,QAAO,SAAUC,EAAOC,EAAOC,GAEnD,QADkBF,EAAMnM,UAAY,EAAA5B,qBAAqBI,OAAS2N,EAAMxN,OAAS,EAAAZ,kBAAkBG,aAEvG,GAIR,CAhBA,C,ykBCVJ,IAQA,cAEI,WACIoJ,GAEA,SAAK,UAACA,IAAgB,IAC1B,CAiDJ,OAvD8C,OAuD9C,EAvDA,CARA,QAQ8CgF,mBAAjC,EAAAtB,yBAAAA,C,eCPb,IAAYjN,EASAK,E,mGATZ,SAAYL,GACJ,sBACA,iBACA,gBACA,kBACA,sBACA,yBACP,CAPD,CAAYA,IAAiB,oBAAjBA,EAAiB,KAS7B,SAAYK,GACR,gBACA,sBACA,iCACA,yBACH,CALD,CAAYA,IAAoB,uBAApBA,EAAoB,I,qGCVhC,cAKA,EACI,SACW+I,GAAA,KAAAA,QAAAA,CACP,EAHK,EAAAoF,UAAAA,EAMb,8BAWA,QATkB,EAAAlF,KAAd,WACI,IAAIF,EAAU,EAAAqF,gBAAgBnF,OAE9B,OAAOvC,QAAQ2H,IAAI,CAACtF,IAAUP,MAC1B,SAAU8F,GACN,OAAO,IAAIH,EAAUG,EAAQ,GACjC,GAER,EACJ,EAXA,GAAa,EAAAtF,eAAAA,C,WCXbuF,EAAOC,QAAUC,S,WCAjBF,EAAOC,QAAUE,M,GCCbC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaN,QAGrB,IAAID,EAASI,EAAyBE,GAAY,CAGjDL,QAAS,CAAC,GAOX,OAHAQ,EAAoBH,GAAUxH,KAAKkH,EAAOC,QAASD,EAAQA,EAAOC,QAASI,GAGpEL,EAAOC,OACf,CAGAI,EAAoBK,EAAID,EdzBpB3P,EAAW,GACfuP,EAAoBM,EAAI,CAACC,EAAQC,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAIpQ,EAASkJ,OAAQkH,IAAK,CAGzC,IAFA,IAAKL,EAAUC,EAAIC,GAAYjQ,EAASoQ,GACpCC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS7G,OAAQoH,MACpB,EAAXL,GAAsBC,GAAgBD,IAAaM,OAAOC,KAAKjB,EAAoBM,GAAGY,OAAOC,GAASnB,EAAoBM,EAAEa,GAAKX,EAASO,MAC9IP,EAASY,OAAOL,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACbrQ,EAAS2Q,OAAOP,IAAK,GACrB,IAAIQ,EAAIZ,SACEN,IAANkB,IAAiBd,EAASc,EAC/B,CACD,CACA,OAAOd,CAnBP,CAJCG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAIpQ,EAASkJ,OAAQkH,EAAI,GAAKpQ,EAASoQ,EAAI,GAAG,GAAKH,EAAUG,IAAKpQ,EAASoQ,GAAKpQ,EAASoQ,EAAI,GACrGpQ,EAASoQ,GAAK,CAACL,EAAUC,EAAIC,EAqBjB,EezBdV,EAAoBsB,EAAK3B,IACxB,IAAI4B,EAAS5B,GAAUA,EAAO6B,WAC7B,IAAO7B,EAAiB,QACxB,IAAM,EAEP,OADAK,EAAoByB,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdvB,EAAoByB,EAAI,CAAC7B,EAAS+B,KACjC,IAAI,IAAIR,KAAOQ,EACX3B,EAAoB4B,EAAED,EAAYR,KAASnB,EAAoB4B,EAAEhC,EAASuB,IAC5EH,OAAOa,eAAejC,EAASuB,EAAK,CAAEW,YAAY,EAAMC,IAAKJ,EAAWR,IAE1E,ECNDnB,EAAoBgC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOjM,MAAQ,IAAIkM,SAAS,cAAb,EAChB,CAAE,MAAOrI,GACR,GAAsB,iBAAXR,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB2G,EAAoB4B,EAAI,CAACO,EAAKC,IAAUpB,OAAOqB,UAAUC,eAAe7J,KAAK0J,EAAKC,GCClFpC,EAAoBqB,EAAKzB,IACH,oBAAX2C,QAA0BA,OAAOC,aAC1CxB,OAAOa,eAAejC,EAAS2C,OAAOC,YAAa,CAAErD,MAAO,WAE7D6B,OAAOa,eAAejC,EAAS,aAAc,CAAET,OAAO,GAAO,E,MCA9D,IAAIsD,EAAkB,CACrB,IAAK,GAaNzC,EAAoBM,EAAES,EAAK2B,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4B9O,KACvD,IAGImM,EAAUyC,GAHTlC,EAAUqC,EAAaC,GAAWhP,EAGhB+M,EAAI,EAC3B,GAAGL,EAASuC,MAAMpN,GAAgC,IAAxB8M,EAAgB9M,KAAa,CACtD,IAAIsK,KAAY4C,EACZ7C,EAAoB4B,EAAEiB,EAAa5C,KACrCD,EAAoBK,EAAEJ,GAAY4C,EAAY5C,IAGhD,GAAG6C,EAAS,IAAIvC,EAASuC,EAAQ9C,EAClC,CAEA,IADG4C,GAA4BA,EAA2B9O,GACrD+M,EAAIL,EAAS7G,OAAQkH,IACzB6B,EAAUlC,EAASK,GAChBb,EAAoB4B,EAAEa,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBC,GAAW,EAE5B,OAAO1C,EAAoBM,EAAEC,EAAO,EAGjCyC,EAAqBC,KAAsB,gBAAIA,KAAsB,iBAAK,GAC9ED,EAAmBE,QAAQP,EAAqBlJ,KAAK,KAAM,IAC3DuJ,EAAmB9N,KAAOyN,EAAqBlJ,KAAK,KAAMuJ,EAAmB9N,KAAKuE,KAAKuJ,G,KC7CvF,IAAIG,EAAsBnD,EAAoBM,OAAEH,EAAW,CAAC,KAAK,IAAOH,EAAoB,QAC5FmD,EAAsBnD,EAAoBM,EAAE6C,G","sources":["webpack://app/webpack/runtime/chunk loaded","webpack://app/./Scripts/DefaultLayerConfigurationFactory.ts","webpack://app/./Scripts/DefaultMapOptions.ts","webpack://app/./Scripts/HbsmrRecordTypeResource.ts","webpack://app/./Scripts/HbsmrResourceFactory.ts","webpack://app/./Scripts/HbsmrStyleFactory.ts","webpack://app/./Scripts/HbsmrUser.ts","webpack://app/./Scripts/MainMap.ts","webpack://app/./Scripts/MapBase.ts","webpack://app/./Scripts/SuffolkMapListRecordItem.ts","webpack://app/./Scripts/SuffolkRecordTypes.ts","webpack://app/./Scripts/TextPackLoader.ts","webpack://app/external var \"bootstrap\"","webpack://app/external var \"jQuery\"","webpack://app/webpack/bootstrap","webpack://app/webpack/runtime/compat get default export","webpack://app/webpack/runtime/define property getters","webpack://app/webpack/runtime/global","webpack://app/webpack/runtime/hasOwnProperty shorthand","webpack://app/webpack/runtime/make namespace object","webpack://app/webpack/runtime/jsonp chunk loading","webpack://app/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\nimport { WfsParamSourceMapServer, IWfsParamSource } from \"esdm-map/dist/layers/vector/sources/wfs\";\nimport { VectorLayerStrategy } from \"esdm-map/dist/layers/vector/VectorLayerStrategy\";\n\nimport { SuffolkRecordType, SuffolkRecordSubType} from \"./SuffolkRecordTypes\";\nimport { IWmsLayerGroupConfig } from \"esdm-map/dist/layers/groups/wms/interfaces/IWmsLayerGroupConfig\";\nimport { WfsBboxAsWktRequestParams } from \"esdm-map/dist/layers/vector/sources/wfs/WfsBboxAsWktRequestParams\";\n\nexport class DefaultLayerConfigurationFactory {\n\n private mapFileUrl: string = \"/api/MapServer/Hbsmr\";\n\n private paramSource(): IWfsParamSource {\n return new WfsParamSourceMapServer(new WfsBboxAsWktRequestParams(),{srsName: \"EPSG:27700\"});\n }\n\n constructor() {\n }\n\n public layerConfig = (\n recordType: SuffolkRecordType,\n recordSubType: SuffolkRecordSubType = null,\n opts: IVectorLayerGroupConfig = {}\n ): IVectorLayerGroupConfig | IWmsLayerGroupConfig => {\n let layerConfig: IVectorLayerGroupConfig | IWmsLayerGroupConfig = null;\n\n switch (recordType) {\n case SuffolkRecordType.Monument:\n layerConfig = this.Monument(opts);\n break;\n\n case SuffolkRecordType.Event:\n layerConfig = this.Event(opts);\n break;\n\n case SuffolkRecordType.Consultation:\n layerConfig = this.Consultation(opts);\n break;\n\n case SuffolkRecordType.SuffolkBoundary:\n layerConfig = this.SuffolkBoundary();\n break;\n\n }\n\n if (layerConfig === null && recordSubType !== null) {\n switch (recordSubType) {\n\n case SuffolkRecordSubType.ListedBuilding:\n layerConfig = this.ListedBuilding(opts);\n break;\n\n case SuffolkRecordSubType.ScheduledMonument:\n layerConfig = this.ScheduledMonument(opts);\n break; \n \n case SuffolkRecordSubType.RegisteredParksAndGardens:\n layerConfig = this.RegisteredParksAndGardens(opts);\n break; \n\n case SuffolkRecordSubType.Shine:\n layerConfig = this.Shine(opts);\n break; \n\n }\n }\n\n return layerConfig;\n }\n\n private SuffolkBoundary = (): IWmsLayerGroupConfig => {\n return {\n displayName: \"Suffolk Boundary\",\n ref: \"SuffolkBoundary\",\n type: SuffolkRecordType.SuffolkBoundary, \n url: this.mapFileUrl,\n displayInLayerSwitcher: false,\n displayInLegend: false,\n visibleOnLoad: true, \n queryable: false,\n layers: [\n {\n layerName: \"SuffolkBoundaryWMS\",\n minZoom: 1,\n maxZoom: 19\n }\n ]\n }\n }\n\n private Monument = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Monuments\",\n ref: \"Monuments\",\n type: SuffolkRecordType.Monument,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"MonumentPolygonsWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"MonumentLinesWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"MonumentPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"MonumentLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n },\n {\n layerName: \"MonumentPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n }\n ]\n }, ...opts\n };\n }\n\n private Event = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Events\",\n ref: \"Events\",\n type: SuffolkRecordType.Event,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"EventPolygonsWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"EventLinesWFS\",\n minZoom: 12,\n maxZoom: 19\n },\n {\n layerName: \"EventPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"EventLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n },\n {\n layerName: \"EventPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 11\n }\n ]\n }, ...opts\n };\n }\n\n private Consultation = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Consultations\",\n ref: \"Consultations\",\n type: SuffolkRecordType.Consultation, \n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl, \n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"ConsultationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"ConsultationLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"ConsultationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private ListedBuilding = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Listed Buildings\",\n ref: \"ListedBuildings\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.ListedBuilding,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.ListedBuilding },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: false,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private ScheduledMonument = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Scheduled Monuments\",\n ref: \"ScheduledMonuments\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.ScheduledMonument,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.ScheduledMonument },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n }, \n \n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n \n private RegisteredParksAndGardens = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"Registered Parks and Gardens\",\n ref: \"RegisteredParksAndGardens\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.RegisteredParksAndGardens,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.RegisteredParksAndGardens },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n }, \n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n private Shine = (\n opts: IVectorLayerGroupConfig\n ): IVectorLayerGroupConfig => {\n return {\n ...{\n displayName: \"SHINE\",\n ref: \"Shine\",\n type: SuffolkRecordType.Designation,\n subType: SuffolkRecordSubType.Shine,\n strategy: VectorLayerStrategy.Bbox,\n url: this.mapFileUrl,\n urlParams: { recsubtypecode: SuffolkRecordSubType.Shine },\n wfsParams: this.paramSource(),\n legend: { point: false, line: false },\n visibleOnFirstLoad: false,\n alwaysLoadOnZoom: true,\n layers: [\n {\n layerName: \"DesignationPolygonsWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationLinesWFS\",\n minZoom: 11,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPointsWFS\",\n minZoom: 1,\n maxZoom: 19\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n },\n {\n layerName: \"DesignationPolygonsAsPointsWFS\",\n minZoom: 1,\n maxZoom: 10\n }\n ]\n }, ...opts\n };\n }\n\n\n}\n\n","import {\n MapOptions,\n BaseLayerType\n} from \"esdm-map/dist\";\nimport { LayerGroupCollection } from \"esdm-map/dist/layers/groups/LayerGroupCollection\";\n\n\nexport class DefaultMapOptions {\n\n public static GetDefaultOptions(\n mapElementId: string,\n mapStoreKey: string\n ): MapOptions { \n\n let opt = new MapOptions(); \n opt.bingApiKey = $(`#${mapElementId}`).data(\"bing-api-key\");\n opt.esdmOsmApiKey = $(`#${mapElementId}`).data(\"esdm-osm-api-key\");\n opt.baseMaps = [BaseLayerType.OSM, BaseLayerType.BingOS, BaseLayerType.BingAerial];\n opt.defaultBaseMap = BaseLayerType.OSM;\n opt.enableBoundsTracking = true;\n opt.mapElementId = mapElementId;\n opt.mapStoreKey = mapStoreKey;\n opt.mapZoom = 13;\n opt.minZoom = 9;\n opt.maxZoom = 19;\n opt.extent = [-611, 6760090, 206074, 6911130];\n opt.mapCentre = [128366, 6809507];\n opt.displayProjection = \"EPSG:3857\";\n opt.dataProjection = \"EPSG:27700\";\n opt.dragRotateAndZoom = false; \n opt.zoomToNearestBounds = false;\n return opt;\n }\n\n}","import {\n SuffolkRecordType,\n SuffolkRecordSubType\n} from \"./SuffolkRecordTypes\";\n\nimport {\n IRecordTypeFeatureInfoClick,\n RecordTypeResource,\n IRecordTypeHeading,\n\n IMappingTextPack\n} from \"esdm-map\";\nimport { ILayerGroup } from \"esdm-map/dist/layers/groups/ILayerGroup\";\n\n\nlet headingConfiguration = (): Array => {\n let items = new Array();\n\n items.push({\n recordTypeCode: SuffolkRecordType.Monument,\n recordSubTypeCode: null,\n heading: \"Monument(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Event,\n recordSubTypeCode: null,\n heading: \"Event(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: null,\n heading: \"Designation(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Consultation,\n recordSubTypeCode: null,\n heading: \"Consultation(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.ListedBuilding,\n heading: \"Listed Building(s)\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.RegisteredParksAndGardens,\n heading: \"Registered Park / Garden\"\n });\n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.ScheduledMonument,\n heading: \"Scheduled Monument(s)\"\n }); \n\n items.push({\n recordTypeCode: SuffolkRecordType.Designation,\n recordSubTypeCode: SuffolkRecordSubType.Shine,\n heading: \"SHINE\"\n });\n\n\n return items;\n}\n\nexport class HbsmrRecordTypeResource extends RecordTypeResource {\n\n public constructor(\n private _mappingTextPack: IMappingTextPack,\n ) {\n super(headingConfiguration());\n }\n \n public groupByRecordSubTypeCode(recordTypeCode: string): boolean \n {\n return (recordTypeCode.toLowerCase() === SuffolkRecordType.Designation); \n } \n\n public mapToIRecordTypeInfoClick(featureProperties: any, layerGroup: ILayerGroup): IRecordTypeFeatureInfoClick \n {\n return {\n id: \"\",\n uid: featureProperties.uid,\n ref: featureProperties.ref,\n name: featureProperties.name,\n recordType: featureProperties.rectype,\n recordSubType: featureProperties.recsubtype,\n recordSubTypeCode: featureProperties.recsubtypecode,\n data: featureProperties,\n heading: this.getHeading(featureProperties.rectype, featureProperties.recsubtypecode),\n layerGroup: layerGroup\n }\n }\n\n public getInfoClickHtmlTemplate(recordTypeInfoClick: IRecordTypeFeatureInfoClick): string {\n let html: string = \"\";\n let featurePropertyNameForId = \"uid\";\n let layerType: string = recordTypeInfoClick.layerGroup.layerType;\n\n //add controller (or any arbitrary data) to the data object\n switch (recordTypeInfoClick.recordType.toLowerCase()) {\n case \"mon\":\n recordTypeInfoClick.data.controller = \"Monument\";\n break;\n case \"event\":\n recordTypeInfoClick.data.controller = \"Event\";\n break;\n case \"desig\":\n recordTypeInfoClick.data.controller = \"Designation\";\n break;\n case \"cons\":\n recordTypeInfoClick.data.controller = \"Consultation\";\n break;\n }\n\n html = `\n
  • \n \n  \n \n [name] ([ref]) \n \n \n \n \n
  • `;\n\n return html;\n }\n\n \n} ","import { HbsmrRecordTypeResource } from \"./HbsmrRecordTypeResource\";\nimport { IResourceFactory, IRecordTypeResource, IMappingTextPack } from \"esdm-map\";\n\n\n\nexport class HbsmrResourcefactory implements IResourceFactory {\n\n public constructor(\n private _mappingTextPack: IMappingTextPack\n ) {\n }\n\n public getRecordTypeResource(): IRecordTypeResource {\n return new HbsmrRecordTypeResource(this._mappingTextPack);\n }\n}","import {\n SuffolkRecordType,\n SuffolkRecordSubType\n} from \"./SuffolkRecordTypes\";\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\nimport Style, { StyleFunction } from \"ol/style/Style\";\nimport Fill from 'ol/style/Fill';\nimport Circle from 'ol/style/Circle';\nimport Stroke from 'ol/style/Stroke';\nimport RegularShape from \"ol/style/RegularShape\";\n\n\nexport class HbsmrStyleFactory implements IStyleFactory {\n\n public getStyle(recordType: string, recordSubType: string = null): Style[]\n {\n let style: Style[] = null;\n\n //try and resolve sub type first\n if (recordSubType !== null) {\n switch (recordSubType) { \n\n case SuffolkRecordSubType.ListedBuilding:\n style = this.ListedBuilding();\n break;\n\n case SuffolkRecordSubType.ScheduledMonument:\n style = this.ScheduledMonument();\n break;\n \n case SuffolkRecordSubType.RegisteredParksAndGardens:\n style = this.RegisteredParksAndGardens();\n break;\n\n case SuffolkRecordSubType.Shine:\n style = this.Shine();\n break;\n\n }\n }\n\n if (style === null) {\n switch (recordType) {\n case SuffolkRecordType.Monument:\n style = this.Monument();\n break;\n\n case SuffolkRecordType.Event:\n style = this.Event();\n break;\n\n case SuffolkRecordType.Designation:\n style = this.Designation();\n break;\n\n case SuffolkRecordType.Consultation:\n style = this.Consultation();\n break;\n }\n }\n\n return style;\n }\n\n public getSelectedStyle(\n recordType: string = SuffolkRecordType.Monument): Style[]\n { \n return this.SelectedRecord();\n }\n\n private CommonStyle(fillColour: string): Style[] {\n var fill = new Fill({\n color: fillColour\n });\n var stroke = new Stroke({\n color: 'rgba(255,255,255,1)',\n width: 3\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: stroke,\n radius: 12\n }),\n fill: fill,\n stroke: stroke\n })\n ];\n }\n \n private Monument(): Style[] { \n var fill = new Fill({\n //color: 'rgba(66, 94, 143,0.4)'\n color: 'rgba(255, 0, 0,0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255,0,0,1)',\n width: 2\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: stroke,\n radius: 5\n }),\n fill: fill,\n stroke: stroke\n })\n ];\n\n }\n\n private Event(): Style[] { \n var fill = new Fill({\n color: 'rgba(0, 0, 255, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(0, 0, 255, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Designation(): Style[] {\n return this.CommonStyle('rgba(132, 71, 15,0.4)');\n }\n\n private ListedBuilding(): Style[] {\n var fill = new Fill({\n color: 'rgba(128, 64, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(128, 64, 0, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Consultation(): Style[] {\n //return this.CommonStyle('rgba(27, 15, 220, 0.4)'); \n var fill = new Fill({\n color: 'rgba(0, 0, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(0, 0, 0, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 5,\n radius: 8,\n radius2: 4,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private ScheduledMonument(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 0, 255, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255, 0, 255, 1)',\n width: 2\n });\n\n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n \n private RegisteredParksAndGardens(): Style[] {\n //return this.CommonStyle('rgba(45, 123, 9,0.5)'); \n var fill = new Fill({\n color: 'rgba(56, 223, 47, 0.3)'\n });\n\n var stroke = new Stroke({\n color: 'rgba(56, 223, 47, 1)',\n width: 2\n });\n \n return [new Style({\n image: new RegularShape({\n fill: fill,\n stroke: stroke,\n points: 5,\n radius: 8,\n radius2: 4,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n\n private Shine(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 128, 0, 0.4)'\n });\n var stroke = new Stroke({\n color: 'rgba(255, 128, 0, 1)',\n width: 2\n });\n \n return [new Style({\n image: new RegularShape({\n fill: new Fill({ color: 'rgba(255, 128, 0, 0.4)' }),\n stroke: new Stroke({ color: 'rgba(255, 128, 0, 1)', width: 2 }),\n points: 3,\n radius: 10,\n rotation: 0,\n angle: 0\n }),\n fill: fill,\n stroke: stroke\n })];\n }\n \n private SelectedRecord(): Style[] {\n var fill = new Fill({\n color: 'rgba(255, 255, 0, 0.6)'\n });\n\n return [\n new Style({\n image: new Circle({\n fill: fill,\n stroke: new Stroke({\n color: 'rgba(255, 173, 10, 1)',\n width: 3\n }),\n radius: 10\n }),\n fill: fill,\n stroke: new Stroke({\n color: 'rgba(255, 173, 10, 1)',\n width: 3\n })\n })\n ];\n }\n\n}\n","\nexport class HbsmrIdentity {\n\n public static fetch(): Promise { \n return new Promise(\n function (resolve, reject) {\n $.getJSON(\"/api/hbsmridentity/get\", function (response) {\n resolve(response);\n }).fail(function () {\n resolve(null);\n });\n }\n );\n }\n\n}\n\nexport class HbsmrUser {\n public userId: string; \n public roles: Array;\n}","import { PrintMap } from \"esdm-map/dist/map/tools/PrintMap\";\nimport { IPrintOptions } from \"esdm-map/dist/map/tools/IPrintOptions\";\nimport { DownloadMapPng } from \"esdm-map/dist/map/tools/DownloadMapPng\";\nimport { IMapViewStore } from \"esdm-map/dist/map/store/IMapViewStore\";\nimport { IVectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupFactory\";\nimport { IMapContextMenu } from \"esdm-map/dist/map/tools/IMapContextMenu\";\nimport { IFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureLoader\";\nimport { OgcMapFilter } from \"esdm-map/dist/map/filters/OgcMapFilter\";\nimport { VectorLayerGroupFactory } from \"esdm-map/dist/layers/groups/vector/VectorLayerGroupFactory\";\nimport { MapViewStore } from \"esdm-map/dist/map/store/MapViewStore\";\nimport { MapContextMenu } from \"esdm-map/dist/map/tools/MapContextMenu\";\nimport { ToolTipProvider } from \"esdm-map/dist/map/tooltip/ToolTipProvider\";\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\nimport { GeoJsonFeatureLoader } from \"esdm-map/dist/layers/vector/sources/loaders/GeoJsonFeatureLoader\";\nimport { ILoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/ILoaderExtentsBehaviour\";\nimport { BoundsLoaderExtentsBehaviour } from \"esdm-map/dist/layers/vector/sources/loaders/behaviours/BoundsLoaderBehaviour\";\nimport { IFeatureAdd } from \"esdm-map/dist/layers/vector/sources/loaders/interfaces/IFeatureAdd\";\nimport { FeatureAdd } from \"esdm-map/dist/layers/vector/sources/loaders/FeatureAdd\";\nimport { MapListRecordsInViewport } from \"esdm-map/dist/map/MapListRecordsInViewport\";\nimport { ExtentsNavigation } from \"esdm-map/dist/map/controls/ExtentsNavigation\";\nimport { LayerGroupFactory } from \"esdm-map/dist/layers/groups/LayerGroupFactory\";\nimport { LayerGroupCollection } from \"esdm-map/dist/layers/groups/LayerGroupCollection\";\nimport { MapFilters } from \"esdm-map/dist/map/filters/MapFilters\";\nimport { GridRef } from \"esdm-map/dist/map/controls/GridRef\";\nimport { GeoLocation } from \"esdm-map/dist/map/geolocation/geolocation\";\nimport { IMappingTextPack } from \"esdm-map/dist/resources/MappingTextPack\";\nimport { MousePosition } from \"esdm-map/dist/map/controls/MousePosition\";\nimport { OsOpenNames } from \"esdm-map/dist/gazetteer/os/OsOpenNames\";\nimport { MapViewSettingsUrlProvider } from \"esdm-map/dist/map/store/MapViewSettingsUrlProvider\";\nimport { IMapViewPermaLink } from \"esdm-map/dist/map/tools/IMapViewPermaLink\";\nimport { MapViewPermaLink } from \"esdm-map/dist/map/tools/MapViewPermaLink\";\nimport { GeoNames } from \"esdm-map/dist/gazetteer/geonames\";\nimport { FeatureAddSmallGeomsAsPoint } from \"esdm-map/dist/layers/vector/sources/loaders\";\nimport { IStyleFactory } from \"esdm-map/dist/layers/vector/styles/IStyleFactory\";\nimport { IVectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources/interfaces\";\nimport { VectorLayerSourceFactory } from \"esdm-map/dist/layers/vector/sources\";\nimport { IMapViewSettingProvider } from \"esdm-map/dist/map/store/IMapViewSettingsProvider\";\nimport { IBaseLayerFactory } from \"esdm-map/dist/baselayers/interfaces/IBaseLayerFactory\";\n\nimport {\n MapOptions,\n IMap,\n MapLayerSwitcher,\n IMapAreaMask,\n ILogger,\n IResourceFactory,\n IMapListRecordItem,\n IMapFactory,\n BaseLayerFactory_3857,\n MapFactory,\n Logger,\n\n MapFeatureInfo\n} from \"esdm-map\";\n\n\nimport { HbsmrStyleFactory } from \"./HbsmrStyleFactory\";\nimport { HbsmrResourcefactory } from \"./HbsmrResourceFactory\";\nimport { SuffolkRecordType, SuffolkRecordSubType } from \"./SuffolkRecordTypes\";\nimport { DefaultLayerConfigurationFactory } from \"./DefaultLayerConfigurationFactory\";\nimport { DefaultMapOptions } from \"./DefaultMapOptions\";\nimport { TextPackLoader, TextPacks } from \"./TextPackLoader\";\nimport { SuffolkMapListRecordItem } from \"./SuffolkMapListRecordItem\";\nimport { HbsmrIdentity, HbsmrUser } from \"./HbsmrUser\";\nimport { MapBase } from \"./MapBase\";\nimport { IWmsLayerGroupConfig, IWmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms/interfaces\";\nimport { WmsLayerGroupFactory } from \"esdm-map/dist/layers/groups/wms\";\nimport { setTimeout } from \"timers\";\nimport { LayerGroupCollections } from \"esdm-map/dist/layers/groups/LayerGroupCollections\";\nimport { IlayerGroupCollectionConfig } from \"esdm-map/dist/layers/groups/IlayerGroupCollectionConfig\";\nimport { Tooltip } from \"bootstrap\";\n\nimport \"../wwwroot/css/ol.css\";\nimport \"../wwwroot/css/bootstrap-slider.min.css\";\nimport \"../wwwroot/css/ol-contextmenu.css\";\n\n$(document).ready(function () { \n\n let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'))\n let tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {\n return new Tooltip(tooltipTriggerEl)\n })\n \n let printOptions: PrintMap = new PrintMap();\n\n if (!printOptions.isPrintMap) { \n resizeMap();\n $(window).bind('resize', function () { resizeMap(); });\n } \n\n function resizeMap() {\n //use max footer height, especially on mobile\n var fHeight = $(\"footer\").height();\n fHeight = Math.min(fHeight, 200);\n\n var height = $(window).height() - $(\"#mapContainer\").offset().top;\n if (height <= 400) {\n height = 400;\n }\n $('#mapContainer').height(height);\n $(\"#slide-content\").height(height - 55);\n };\n\n\n\n let ele = $(\"#theMap\");\n if (ele.length === 1) { \n HbsmrIdentity.fetch().then(function (e) {\n //let user = e;\n //if (e) {\n // console.log(e.userId);\n //} else {\n // console.log(\"401 - UnAuthorised\");\n //}\n loadMap(e);\n });\n } \n\n function loadMap(user: HbsmrUser) {\n let maxFeatureCount: number = ele.data(\"max-feature-count\");\n let init = function (textpacks: TextPacks) {\n let map = new MainMap(\"theMap\", maxFeatureCount, printOptions, textpacks.mapping, user);\n }\n TextPackLoader.load().then(init);\n }\n\n});\n\nexport class MainMap extends MapBase {\n \n private mfOptions: MapOptions;\n public map: IMap;\n private mapStore: IMapViewStore;\n private ls: MapLayerSwitcher;\n private infoPopup: MapFeatureInfo;\n private initialised: boolean = false;\n private layerGroups: LayerGroupCollections;\n private styleFactory: IStyleFactory;\n private herMask: IMapAreaMask;\n private geoNames: GeoNames;\n private gridRefFinder: GridRef;\n private logger: ILogger; \n private vectorLayerSourceFactory: IVectorLayerSourceFactory;\n private baseLayerFactory: IBaseLayerFactory;\n private mapFactory: IMapFactory;\n private vectorLayerGroupFactory: IVectorLayerGroupFactory;\n private wmsLayerGroupFactory: IWmsLayerGroupFactory;\n private layerGroupFactory: LayerGroupFactory;\n private boundsLoaderBehaviour: ILoaderExtentsBehaviour;\n private mapContextMenu: IMapContextMenu;\n private resourcefactory: IResourceFactory; \n private downloadPng: DownloadMapPng;\n private featureLoader: IFeatureLoader;\n private featureAdd: IFeatureAdd;\n private mapFilter: MapFilters;\n private recordList: MapListRecordsInViewport;\n private geoLocation: GeoLocation;\n private extentsNavigation: ExtentsNavigation;\n private layerConfigFactory: DefaultLayerConfigurationFactory;\n private mapViewSettingProvider: MapViewSettingsUrlProvider;\n private mapListRecordItem: IMapListRecordItem;\n private mapViewPermaLink: IMapViewPermaLink;\n private mousePosition: MousePosition;\n\n public constructor(\n public mapElementId: string, \n public maxFeatureCount: number,\n public printOptions: IPrintOptions,\n mappingTextPack: IMappingTextPack,\n user: HbsmrUser)\n {\n super(mappingTextPack, user);\n this.init();\n }\n\n private init = (): void => {\n if (!this.initialised) {\n //strip-loader should take this out for production\n console.log(\"Initialising main map\"); \n\n this.layerConfigFactory = new DefaultLayerConfigurationFactory();\n this.wmsLayerGroupFactory = new WmsLayerGroupFactory();\n this.vectorLayerGroupFactory = new VectorLayerGroupFactory(); \n this.layerGroupFactory = new LayerGroupFactory(this.vectorLayerGroupFactory, this.wmsLayerGroupFactory);\n this.baseLayerFactory = new BaseLayerFactory_3857(); \n this.featureLoader = new GeoJsonFeatureLoader();\n this.featureAdd = new FeatureAddSmallGeomsAsPoint(4.5);\n this.mapFilter = new MapFilters();\n this.mapFilter.OgcFilter = new OgcMapFilter();\n this.mapFactory = new MapFactory();\n this.logger = new Logger(); \n this.styleFactory = new HbsmrStyleFactory();\n this.resourcefactory = new HbsmrResourcefactory(this.mappingTextPack);\n\n this.mfOptions = DefaultMapOptions.GetDefaultOptions(this.mapElementId, \"MainMap\"); \n this.layerGroups = this.layerGroupFactory.getLayerGroups(this.getLayerGroupConfig(), this.styleFactory);\n this.mfOptions.layerGroupCollection = this.layerGroups;\n \n this.mapViewSettingProvider = new MapViewSettingsUrlProvider();\n this.mapStore = new MapViewStore(this.mfOptions.mapStoreKey, this.mapViewSettingProvider);\n \n this.boundsLoaderBehaviour = new BoundsLoaderExtentsBehaviour(this.logger); \n this.mapContextMenu = new MapContextMenu(this.mappingTextPack);\n\n this.vectorLayerSourceFactory = new VectorLayerSourceFactory(this.logger, this.boundsLoaderBehaviour, this.featureLoader, this.featureAdd);\n this.map = this.mapFactory.instance(this.mfOptions, this.mapStore, this.logger, this.vectorLayerSourceFactory, this.baseLayerFactory, this.boundsLoaderBehaviour, this.mapContextMenu, this.printOptions, this.mapFilter, this.mappingTextPack); \n this.infoPopup = new MapFeatureInfo(this.map, this.resourcefactory.getRecordTypeResource(), this.mappingTextPack);\n\n this.ls = new MapLayerSwitcher(this.map, this.mapStore, this.styleFactory, this.map.baseLayers, this.layerGroups, this.mappingTextPack,\n {\n showOpenPanelByDefault: !this.printOptions.isPrintMap,\n rememberActivePanel: true\n });\n this.gridRefFinder = new GridRef(this.map, this.mappingTextPack, this.logger);\n this.geoNames = new GeoNames(this.map, this.mappingTextPack); \n\n if (this.printOptions.isPrintMap) { \n this.printOptions.setMap(this.map);\n } \n\n this.downloadPng = new DownloadMapPng(this.map, this.mappingTextPack);\n this.mapListRecordItem = new SuffolkMapListRecordItem(this.mappingTextPack);\n this.recordList = new MapListRecordsInViewport(this.map, this.mapStore, this.styleFactory, this.layerGroups.vectorLayerGroups, this.mappingTextPack, 15, this.mapListRecordItem);\n //this.geoLocation = new GeoLocation(this.map, this.logger);\n this.extentsNavigation = new ExtentsNavigation(this.map, this.logger, this.mappingTextPack);\n this.mousePosition = new MousePosition(this.map, this.mappingTextPack);\n this.mapViewPermaLink = new MapViewPermaLink(this.map, this.mapViewSettingProvider, this.mappingTextPack, { activePanel: \"overlays\" });\n \n this.initialised = true;\n }\n }\n\n\n private getLayerGroupConfig = (): Array => { \n\n let layerGroupConfig: Array = [\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Monument, null, { visibleOnFirstLoad:true}),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Event),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.ScheduledMonument),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.ListedBuilding), \n this.layerConfigFactory.layerConfig(SuffolkRecordType.Consultation),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.RegisteredParksAndGardens),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.Designation, SuffolkRecordSubType.Shine),\n this.layerConfigFactory.layerConfig(SuffolkRecordType.SuffolkBoundary)\n ]; \n\n return [\n {\n ref: \"all_layers\",\n name: \"All layers\",\n useAccordion: false,\n expandedOnFirstLoad: false,\n layerGroupConfigs: this.filterMapLayers(layerGroupConfig) \n }\n ];\n }\n\n}\n\n\n\n\n","import { IMappingTextPack, olMap, IMap } from \"esdm-map\";\nimport { HbsmrUser } from \"./HbsmrUser\";\nimport { IVectorLayerGroupConfig } from \"esdm-map/dist/layers/groups/vector/interfaces/IVectorLayerGroupConfig\";\nimport { SuffolkRecordType, SuffolkRecordSubType } from \"./SuffolkRecordTypes\";\n\nexport class MapBase {\n\n constructor( \n protected mappingTextPack: IMappingTextPack,\n protected user: HbsmrUser) { \n }\n\n protected isAuthenticated = (): boolean => {\n return this.user !== null;\n }\n\n protected filterMapLayers = (layerGroupConfig: Array ): Array => {\n if (!this.isAuthenticated()) {\n //remove layers that require authentication\n return layerGroupConfig.filter(function (value, index, arr) {\n let authlayers = (value.subType === SuffolkRecordSubType.Shine || value.type === SuffolkRecordType.Consultation);\n return !authlayers;\n });\n } else {\n return layerGroupConfig;\n }\n } \n\n}","import {\n IRecordTypeFeatureInfoClick,\n MapListRecordItem, \n\n IMappingTextPack\n} from \"esdm-map\";\n\n\nexport class SuffolkMapListRecordItem extends MapListRecordItem { \n\n public constructor(\n mappingTextPack: IMappingTextPack\n ) {\n super(mappingTextPack);\n }\n\n //public getHtml = (feature: IRecordTypeFeatureInfoClick): string => {\n // let layerType: string = feature.layerGroup.layerType;\n // let html = `\n //
  • \n // \n //  \n // \n // [name] \n // \n // \n // \n // \n //
  • `;\n\n // //feature.data.id = feature.getId();\n // return this.replaceTokens(html, feature.data);\n //}\n\n //protected replaceTokens = (html, data): string => {\n // //go thru html string and replace any tokens with attribute values\n // for (var attributeName in data) {\n // if (data.hasOwnProperty(attributeName)) {\n // html = html.replace(new RegExp(\"\\\\[\" + attributeName + \"\\\\]\", \"g\"), data[attributeName]);\n // }\n // }\n // return html;\n //}\n\n //private controller = (feature: IRecordTypeFeatureInfoClick): string => {\n // let val: string = \"\";\n\n // switch (feature.recordType.toLowerCase()) {\n // case \"mon\":\n // val = \"Monument\";\n // break;\n // case \"event\":\n // val = \"Event\";\n // break;\n // case \"desig\":\n // val = \"Designation\";\n // case \"cons\":\n // val = \"Consultation\";\n // break;\n // }\n // return val;\n //}\n\n}","\nexport enum SuffolkRecordType { \n Consultation = \"cons\",\n Monument = \"mon\",\n Event = \"event\",\n Source = \"source\",\n Designation = \"desig\",\n SuffolkBoundary= \"bound\"\n} \n\nexport enum SuffolkRecordSubType { \n Shine = \"SHINE\",\n ListedBuilding = \"LB\",\n RegisteredParksAndGardens = \"RG\",\n ScheduledMonument= \"SAM\"\n} \n","import {\n IMappingTextPack,\n MappingTextPack\n} from \"esdm-map\";\n\nexport class TextPacks {\n public constructor( \n public mapping: IMappingTextPack\n ) { }\n}\n\nexport class TextPackLoader {\n\n public static load(): Promise { \n let mapping = MappingTextPack.load();\n\n return Promise.all([mapping]).then(\n function (results) {\n return new TextPacks(results[0]);\n }\n )\n }\n}","module.exports = bootstrap;","module.exports = jQuery;","// 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].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t866: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkapp\"] = self[\"webpackChunkapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [96], () => (__webpack_require__(3019)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","mapFileUrl","layerConfig","recordType","recordSubType","opts","SuffolkRecordType","Monument","Event","Consultation","SuffolkBoundary","SuffolkRecordSubType","ListedBuilding","ScheduledMonument","RegisteredParksAndGardens","Shine","displayName","ref","type","url","displayInLayerSwitcher","displayInLegend","visibleOnLoad","queryable","layers","layerName","minZoom","maxZoom","strategy","VectorLayerStrategy","Bbox","wfsParams","paramSource","legend","point","line","visibleOnFirstLoad","alwaysLoadOnZoom","Designation","subType","urlParams","recsubtypecode","WfsParamSourceMapServer","WfsBboxAsWktRequestParams","srsName","DefaultLayerConfigurationFactory","GetDefaultOptions","mapElementId","mapStoreKey","opt","MapOptions","bingApiKey","$","data","esdmOsmApiKey","baseMaps","BaseLayerType","OSM","BingOS","BingAerial","defaultBaseMap","enableBoundsTracking","mapZoom","extent","mapCentre","displayProjection","dataProjection","dragRotateAndZoom","zoomToNearestBounds","DefaultMapOptions","_mappingTextPack","items","Array","push","recordTypeCode","recordSubTypeCode","heading","groupByRecordSubTypeCode","toLowerCase","mapToIRecordTypeInfoClick","featureProperties","layerGroup","id","uid","name","rectype","recsubtype","this","getHeading","getInfoClickHtmlTemplate","recordTypeInfoClick","layerType","controller","goToDetails","centreOnMap","RecordTypeResource","HbsmrRecordTypeResource","getRecordTypeResource","HbsmrResourcefactory","getStyle","style","getSelectedStyle","SelectedRecord","CommonStyle","fillColour","fill","color","stroke","width","image","radius","points","rotation","angle","radius2","HbsmrStyleFactory","fetch","Promise","resolve","reject","getJSON","response","fail","HbsmrIdentity","HbsmrUser","document","ready","slice","call","querySelectorAll","map","tooltipTriggerEl","Tooltip","printOptions","PrintMap","resizeMap","fHeight","height","Math","min","window","offset","top","isPrintMap","bind","ele","length","then","e","user","maxFeatureCount","init","textpacks","MainMap","mapping","TextPackLoader","load","mappingTextPack","initialised","console","log","layerConfigFactory","wmsLayerGroupFactory","WmsLayerGroupFactory","vectorLayerGroupFactory","VectorLayerGroupFactory","layerGroupFactory","LayerGroupFactory","baseLayerFactory","BaseLayerFactory_3857","featureLoader","GeoJsonFeatureLoader","featureAdd","FeatureAddSmallGeomsAsPoint","mapFilter","MapFilters","OgcFilter","OgcMapFilter","mapFactory","MapFactory","logger","Logger","styleFactory","resourcefactory","mfOptions","layerGroups","getLayerGroups","getLayerGroupConfig","layerGroupCollection","mapViewSettingProvider","MapViewSettingsUrlProvider","mapStore","MapViewStore","boundsLoaderBehaviour","BoundsLoaderExtentsBehaviour","mapContextMenu","MapContextMenu","vectorLayerSourceFactory","VectorLayerSourceFactory","instance","infoPopup","MapFeatureInfo","ls","MapLayerSwitcher","baseLayers","showOpenPanelByDefault","rememberActivePanel","gridRefFinder","GridRef","geoNames","GeoNames","setMap","downloadPng","DownloadMapPng","mapListRecordItem","SuffolkMapListRecordItem","recordList","MapListRecordsInViewport","vectorLayerGroups","extentsNavigation","ExtentsNavigation","mousePosition","MousePosition","mapViewPermaLink","MapViewPermaLink","activePanel","layerGroupConfig","useAccordion","expandedOnFirstLoad","layerGroupConfigs","filterMapLayers","MapBase","isAuthenticated","filter","value","index","arr","MapListRecordItem","TextPacks","MappingTextPack","all","results","module","exports","bootstrap","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","__webpack_exports__"],"sourceRoot":""}