{"version":3,"file":"js/2162.74d9bec8.js","mappings":"yHAIA,SAASA,IAAI,OAAO,IAAIC,aAAa,EAAE,CAAC,SAASC,EAAEF,GAAG,MAAME,EAAE,IAAID,aAAa,GAAG,OAAOC,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,EAAE,GAAGF,EAAE,GAAGE,CAAC,CAAC,SAASC,EAAEH,EAAEE,EAAEC,EAAEC,GAAG,MAAMC,EAAE,IAAIJ,aAAa,GAAG,OAAOI,EAAE,GAAGL,EAAEK,EAAE,GAAGH,EAAEG,EAAE,GAAGF,EAAEE,EAAE,GAAGD,EAAEC,CAAC,CAAC,SAASD,EAAEJ,EAAEE,GAAG,OAAO,IAAID,aAAaD,EAAEE,EAAE,EAAE,CAAC,SAASG,IAAI,OAAOL,GAAG,CAAC,SAASM,IAAI,OAAOH,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAASI,IAAI,OAAOJ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAASK,IAAI,OAAOL,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAASM,IAAI,OAAON,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAASO,IAAI,OAAOP,EAAE,EAAE,EAAE,EAAE,EAAE,C,gCAAC,MAAMQ,EAAEN,IAAIO,EAAEN,IAAIO,EAAEN,IAAIO,EAAEN,IAAIO,EAAEN,IAAIO,EAAEN,IAAMO,OAAOC,OAAOD,OAAOE,eAAe,CAACC,UAAU,KAAKC,OAAOrB,EAAEsB,MAAMpB,EAAEqB,WAAWpB,EAAEqB,WAAWpB,EAAEqB,MAAMpB,EAAEqB,KAAKpB,EAAEqB,MAAMpB,EAAEqB,MAAMpB,EAAEqB,MAAMpB,EAAEqB,MAAMpB,EAAEqB,MAAMpB,EAAEqB,KAAKpB,EAAEqB,OAAOpB,EAAEqB,OAAOpB,EAAEqB,OAAOpB,EAAEqB,OAAOpB,GAAGqB,OAAOC,YAAY,CAACC,MAAM,W,kJCAzN,MAAMC,UAAUhC,EAAAA,EAAEiC,cAAcC,SAASC,WAAWC,KAAKC,MAAM,CAACC,IAAI,CAACC,OAAO,aAAaC,OAAO,aAAaC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,MAAMC,QAAQ,CAACJ,OAAO,iBAAiBC,OAAO,iBAAiBC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,MAAME,UAAU,CAACL,OAAO,mBAAmBC,OAAO,mBAAmBC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,OAAON,KAAKS,sBAAsB,IAAIH,GAAG,CAACI,UAAUV,KAAKW,OAAOX,KAAKW,MAAMD,SAAS,CAACE,cAAcC,QAAQrD,IAAIA,EAAEsD,oBAAmB,GAAItD,EAAEuD,yBAAyBtD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBD,EAAEwD,cAAa,GAAG,GAAG,GAAG,GAAIxD,EAAEyD,oBAAoB,GAAGzD,EAAE0D,uBAAsB,EAAG,CAACC,KAAK3D,EAAED,GAAG,KAAID,EAAAA,EAAAA,IAAEC,IAAIA,EAAE6D,UAAU,OAAO,MAAMC,SAASzD,EAAEiD,QAAQpD,EAAE6D,QAAQ5D,GAAGF,EAAEI,EAAE2D,MAAMvB,KAAKwB,MAAM/D,EAAEgE,mBAAmB3D,EAAAA,GAAAA,MAAQP,EAAEmE,WAAW,KAAK,MAAMtE,GAAGK,EAAEkE,aAAaC,cAAcC,mBAAmBtE,EAAEuE,cAActE,GAAG,MAAMuE,EAAE/B,KAAKgC,qBAAqBzE,EAAEH,GAAGY,EAAEN,EAAEuE,gBAAgBC,WAAWlC,KAAKC,MAAM1C,EAAE4E,qBAAqBC,MAAML,GAAG/B,KAAKqC,iBAAiB7E,EAAEQ,EAAET,GAAGK,EAAE0E,IAAItC,KAAKwB,KAAK,CAACa,kBAAkBxB,QAAQvD,EAAEiF,cAAc3E,EAAE4E,mBAAmB/E,GAAGK,EAAE2E,EAAE7C,EAAE,EAAE7B,EAAE,CAAC,EAAE,GAAGE,GAAE,GAAI,GAAG+B,KAAKW,QAAQX,KAAKW,MAAM,IAAIpD,EAAAA,EAAED,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKG,IAAGD,EAAAA,EAAAA,IAAEI,KAAKE,EAAE4E,WAAW,YAAY9E,IAAI,MAAMuE,qBAAqBQ,EAAEC,cAAcC,EAAEC,MAAMC,EAAEC,OAAO7E,EAAE8E,QAAQC,GAAGT,EAAEU,EAAER,EAAEP,KAAK9E,EAAE8F,WAAWtF,GAAG,MAAMI,EAAE8B,KAAKgC,qBAAqBS,GAAGY,EAAErD,KAAKsD,iBAAiBH,EAAE7F,EAAEQ,EAAEI,IAAIqF,MAAMC,EAAEC,SAASC,GAAGjB,EAAEkB,eAAcjG,EAAAA,EAAAA,IAAEJ,EAAEQ,EAAE0F,EAAEE,GAAG,MAAME,GAAEjG,EAAAA,EAAAA,IAAEiC,EAAE7B,GAAG8F,GAAEzG,EAAAA,EAAAA,IAAEyF,EAAE,CAACE,EAAE5E,GAAG,CAACsE,EAAEqB,OAAOhB,MAAML,EAAEqB,OAAOd,QAAQE,EAAEjF,GAAG,IAAG8D,EAAAA,EAAAA,IAAEjE,EAAEuF,EAAE,CAACU,aAAatB,EAAEuB,WAAWC,UAAUxB,EAAEyB,WAAWC,OAAOP,KAAKC,IAAIlB,EAAEyB,SAAS,CAAC,MAAMA,SAAS5G,EAAE6G,eAAe/G,GAAGqF,EAAEpF,GAAES,EAAAA,EAAAA,IAAER,EAAEF,IAAGyE,EAAAA,EAAAA,IAAEjE,EAAEuF,EAAE9F,EAAE,CAAC,GAAG,YAAYoF,EAAEP,KAAK,CAAC,MAAM5E,GAAEK,EAAAA,EAAAA,IAAE8E,IAAGZ,EAAAA,EAAAA,IAAEjE,EAAEuF,EAAE7F,EAAE,MAAM,GAAG,cAAcmF,EAAEP,KAAK,CAAC,MAAM5E,GAAE8G,EAAAA,EAAAA,IAAE3B,IAAGZ,EAAAA,EAAAA,IAAEjE,EAAEuF,EAAE7F,EAAE,CAACwC,KAAKW,MAAMQ,MAAM,CAACmC,iBAAiB9F,EAAEF,EAAEC,EAAEK,GAAG,MAAMH,EAAEG,EAAE2G,OAAO,EAAE/G,EAAE,IAAII,EAAE4G,KAAK,KAAKhH,EAAE,GAAGwC,KAAKS,sBAAsBgE,IAAIhH,GAAG,OAAOuC,KAAKS,sBAAsBiE,IAAIjH,GAAG,MAAMK,GAAE2E,EAAAA,EAAAA,GAAEnF,EAAEC,GAAG,OAAOyC,KAAKS,sBAAsBkE,IAAIlH,EAAEK,GAAGA,CAAC,CAACkE,qBAAqBxE,EAAEF,GAAE,GAAI,MAAMC,EAAE,IAAIqH,cAAchH,GAAGJ,GAAG4E,KAAK3E,EAAE2G,SAAStG,GAAGN,EAAE2E,qBAAqB,MAAM,UAAUvE,EAAEL,EAAEsH,KAAK,WAAW,aAAajH,GAAG,YAAYH,GAAG,MAAMK,GAAGP,EAAEsH,KAAK,YAAYtH,EAAEsH,KAAK,WAAWvH,GAAG,aAAaM,GAAGL,EAAEsH,KAAK,YAAYrH,EAAEsH,mBAAmBvH,EAAEsH,KAAK,QAAQ/G,GAAGP,EAAEsH,KAAK,iBAAiBrH,EAAEoF,gBAAgBrF,EAAEsH,KAAK,mBAAmB,IAAIrH,EAAEoF,cAAcmC,QAAQ,IAAIxH,EAAEsH,KAAK,qBAAqBtH,CAAC,E,0BCAxkF,MAAMG,EAAE,CAACsH,QAAQ,CAACC,QAAQ,GAAGC,aAAa9H,EAAAA,GAAAA,QAAU+H,MAAK,GAAIC,SAAS,CAACH,QAAQ,GAAGC,aAAa9H,EAAAA,GAAAA,OAAS+H,MAAK,GAAIE,QAAQ,CAACJ,QAAQ,CAAC,WAAWC,aAAa9H,EAAAA,GAAAA,OAAS+H,MAAK,GAAIG,UAAU,CAACL,QAAQ,GAAGC,aAAa9H,EAAAA,GAAAA,qBAAuB+H,MAAK,IAAKb,EAAE,CAAC9G,EAAEF,EAAEQ,KAAK,GAAG,YAAYA,EAAEoH,aAAa,CAAC,MAAMK,MAAMzH,GAAGN,EAAEI,EAAEN,EAAEkI,WAAWlI,EAAEmI,WAAW3H,EAAE0H,WAAWpI,EAAEsI,KAAKC,MAAMnI,EAAEiI,cAAcjI,EAAEiI,WAAWlI,EAAEK,EAAE,MAAMA,EAAE,IAAI,OAAOE,EAAE8H,UAAUrI,GAAGH,GAAGE,EAAEuI,gBAAgBvI,EAAEsI,SAASlI,EAAE0H,SAAS1H,EAAEsH,OAAO,CAAC,OAAOtH,EAAEI,EAAEoH,aAAa,EAAE,MAAMtF,UAAUhC,EAAAA,EAAEiC,cAAcC,SAASC,WAAWC,KAAKC,MAAM,CAACE,OAAO,gBAAgBC,OAAO,gBAAgBC,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAACI,UAAUV,KAAKW,OAAOX,KAAKW,MAAMD,SAAS,CAACE,cAAcC,QAAQrD,IAAIA,EAAEsD,oBAAmB,GAAItD,EAAEwD,cAAa,GAAG,GAAG,GAAG,GAAIxD,EAAEyD,oBAAoB,GAAGzD,EAAE0D,uBAAsB,EAAG,CAACC,KAAKvD,EAAER,GAAG,MAAMyD,QAAQnD,EAAEoI,iBAAiBlG,EAAE0B,QAAQtD,EAAEuE,cAAc1E,EAAE2E,mBAAmBC,GAAG7E,EAAE,IAAIR,EAAE0G,SAAS1G,EAAE2I,QAAQ,OAAO,MAAMpI,EAAE2G,EAAE1G,EAAER,EAAEwC,GAAG7B,EAAEC,EAAEiE,gBAAgBC,WAAWlC,KAAKC,MAAMtC,EAAEsH,SAAS,GAAGxC,IAAGjF,EAAAA,EAAAA,IAAEK,KAAKE,EAAE2E,WAAW,YAAY7E,IAAID,EAAEyD,SAASE,MAAMvB,KAAKwB,MAAM,aAAapE,EAAE4I,cAActI,EAAEqD,yBAAyBxD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,KAAOG,EAAEqD,yBAAyBxD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBG,EAAE+D,mBAAmBhE,EAAAA,GAAAA,MAAQL,EAAEsE,WAAW,KAAK1B,KAAKW,QAAQX,KAAKW,MAAM,IAAI7C,EAAAA,EAAEJ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,MAAMsG,WAAW/F,EAAEgI,gBAAgBpC,EAAEK,WAAWb,GAAGjG,EAAEA,EAAE8I,mBAAmBvI,GAAGP,EAAE+I,KAAKvI,EAAEiD,QAAQvD,EAAAA,IAAGI,EAAE0F,WAAWrF,GAAGA,EAAEqI,oBAAoB,YAAY/C,EAAEc,KAAKpG,EAAEsI,aAAa,YAAY/I,EAAAA,IAAGS,EAAEuI,cAAc,eAAerI,GAAGF,EAAEwI,aAAa,YAAY1C,GAAG7D,KAAKW,MAAMQ,OAAOvD,EAAEyD,SAASiB,IAAItC,KAAKwB,KAAK,E,+CCAj8C,MAAM3D,EAAE,KAAID,EAAAA,EAAAA,IAAE,OAAO,CAAC4I,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKK,EAAAA,EAAAA,UAAY,MAAM6B,UAAU5G,EAAAA,EAAEmC,cAAcC,SAASC,WAAWC,KAAK2G,QAAOrJ,EAAAA,EAAAA,GAAE,EAAE,EAAE,EAAE,EAAE,CAACoD,UAAUV,KAAK4G,UAAU5G,KAAK4G,SAASlG,SAAS,CAACE,cAAcC,QAAQtD,IAAIA,EAAE2D,uBAAsB,GAAI3D,EAAEuD,oBAAmB,GAAIvD,EAAEsJ,uBAAsB,GAAItJ,EAAEyD,cAAa,GAAG,GAAG,GAAG,GAAIzD,EAAEuJ,aAAarJ,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,SAAWF,EAAE0D,oBAAoB,KAAK1D,EAAEkE,mBAAmB7B,EAAAA,GAAAA,OAAS,EAAE,IAAI,CAACuB,KAAK7D,EAAEM,GAAG,MAAMiD,QAAQnD,EAAE6H,MAAM9H,EAAE8E,cAAc3C,EAAE4C,mBAAmB8B,GAAGhH,EAAES,EAAEF,IAAI8E,EAAE/E,EAAEmJ,OAAOrJ,EAAED,EAAEM,EAAEsC,WAAWtC,EAAEiJ,gBAAezJ,EAAAA,EAAAA,IAAEoF,EAAEsE,eAAejH,KAAK4G,WAAW5G,KAAK4G,UAAS5I,EAAAA,EAAAA,GAAEN,EAAEI,EAAAA,IAAIwG,IAAG9G,EAAAA,EAAAA,IAAEoC,KAAKI,KAAK4G,SAASlE,WAAW9C,KAAKlC,EAAE0F,WAAWpD,KAAK4G,UAAU5G,KAAK4G,SAASN,cAAc,gBAAgB,CAAC,EAAE,IAAItG,KAAK4G,SAASM,cAAc,UAAUlH,KAAK2G,QAAQ3G,KAAK4G,SAASR,oBAAoB,YAAY3I,EAAE0J,aAAazJ,EAAE0J,QAAQzE,GAAGjF,EAAE2J,aAAajK,EAAAA,GAAAA,UAAYuF,EAAEsE,YAAYK,KAAK7E,EAAAA,EAAAA,aAAe,GAAG/E,EAAE0J,WAAW,ECAlkC,MAAMxH,EAAE,KAAIrC,EAAAA,EAAAA,IAAE,UAAU,CAACiJ,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,QAAUyJ,IAAI,CAAC,CAACd,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,mBAAqB,MAAMH,UAAUC,EAAAA,EAAEiC,cAAcC,SAASC,WAAWC,KAAKC,MAAM,CAACE,OAAO,kBAAkBC,OAAO,kBAAkBC,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,KAAK,CAACI,UAAU,CAACE,cAAcC,QAAQrD,IAAIA,EAAEsD,oBAAmB,GAAItD,EAAEwD,cAAa,GAAG,GAAG,GAAG,GAAIxD,EAAEuD,yBAAyBrD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBF,EAAEyD,oBAAoB,GAAGzD,EAAE0D,uBAAsB,GAAI1D,EAAEiE,mBAAmBrE,EAAAA,GAAAA,QAAU,IAAI,IAAI,CAAC+D,KAAK5D,EAAEK,GAAG,MAAMiD,QAAQnD,EAAE4D,QAAQlE,EAAEmF,cAAczE,EAAE0E,mBAAmB7E,GAAGJ,EAAE,IAAIK,EAAEmI,QAAQ,OAAO,MAAME,gBAAgBpI,EAAE2J,QAAQlD,EAAEmD,aAAazJ,EAAE0J,qBAAqBjF,EAAEkF,QAAQ5J,GAAGH,EAAEL,EAAE8D,SAASE,MAAMvB,KAAKwB,MAAM,MAAMvD,EAAEb,EAAE6E,gBAAgBC,WAAWlC,KAAKC,OAAO,GAAGtC,IAAGH,EAAAA,EAAAA,IAAEM,KAAKG,EAAEyE,WAAW,YAAY5E,IAAI,MAAM8J,EAAEhI,IAAI1B,EAAEN,EAAEmJ,OAAOrJ,EAAEkK,EAAEZ,cAAcY,EAAEvH,YAAY,IAAInC,EAAE,OAAOR,EAAE0J,QAAQlJ,GAAGR,EAAE0F,WAAWnF,GAAGP,EAAEmK,YAAY9J,EAAET,EAAAA,IAAGW,EAAEmI,oBAAoB,YAAY9B,GAAGrG,EAAEoI,aAAa,YAAY/I,EAAAA,IAAGW,EAAEsI,aAAa,YAAY1I,GAAGI,EAAEqI,cAAc,gBAAgB7D,GAAG,MAAMqF,EAAE9J,EAAE,GAAG,EAAEN,EAAEqK,WAAWtK,EAAAA,GAAAA,eAAiB,EAAEqK,GAAGpK,EAAE0J,UAAU7J,EAAE8D,SAASiB,IAAItC,KAAKwB,KAAK,E,qCCAz9B,MAAMiB,UAAU9E,EAAAA,EAAEkC,cAAcC,SAASC,WAAWC,KAAKgI,aAAa,IAAI1H,GAAG,CAACM,cAAcC,QAAQvD,GAAGE,GAAGA,GAAGA,EAAEyK,SAAS,WAAW3K,EAAEyD,yBAAyBhD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,KAAOT,EAAEyD,yBAAyBhD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBT,EAAEwD,oBAAmB,GAAIxD,EAAE0D,cAAa,GAAG,GAAG,GAAG,GAAI1D,EAAE2D,oBAAoB,GAAG3D,EAAE4D,uBAAsB,EAAG,CAACC,KAAK3D,EAAEM,EAAEF,GAAG,MAAMF,EAAEsC,KAAKkI,kBAAkBpK,EAAEqK,OAAO3K,GAAG,MAAMC,EAAEK,EAAEsK,YAAY1K,IAAGJ,EAAAA,EAAAA,IAAEG,KAAKD,EAAE6D,SAASE,MAAMvB,KAAKwB,MAAMhE,EAAE6K,cAAcC,aAAa9K,EAAEqD,SAASrD,EAAEqD,QAAQY,mBAAmBzD,EAAAA,GAAAA,MAAQF,EAAE4D,WAAW,KAAKjE,EAAE8K,gBAAgBjL,IAAI,MAAMI,EAAEkK,EAAAA,GAAAA,KAAOtK,EAAEkL,aAAaC,cAAczI,KAAK0I,kBAAkBhL,IAAIsC,KAAK2I,aAAanL,EAAEM,EAAER,EAAEM,EAAE,IAAI,CAACgL,mBAAmBtL,EAAEK,EAAEiK,GAAG,MAAMiB,aAAa9K,EAAE0H,WAAWzH,EAAEuH,MAAM9C,EAAEqG,YAAYjL,GAAGF,GAAEH,EAAAA,EAAAA,IAAEK,IAAI,YAAYA,EAAEuE,OAAO9E,EAAEgJ,cAAc,eAAezI,EAAEkL,UAAUzL,EAAEiJ,aAAa,gBAAgB1I,EAAEmL,WAAW1L,EAAEiJ,aAAa,eAAevI,GAAGV,EAAE8I,oBAAoB,aAAawB,EAAE1D,WAAW+E,UAAU3L,EAAE8I,oBAAoB,aAAa3D,EAAEyG,UAAU5L,EAAE8I,oBAAoB,YAAYwB,EAAE1D,WAAWC,KAAK7G,EAAE8I,oBAAoB,oBAAoB3D,EAAE0G,iBAAiB7L,EAAEiJ,aAAa,gBAAgBb,KAAKC,MAAM5H,EAAED,EAAAA,KAAIR,EAAE+I,aAAa,yBAAyB1I,EAAE0K,cAAcf,MAAMhK,EAAE+I,aAAa,mBAAmBzI,EAAAA,IAAGN,EAAE+I,aAAa,mBAAmB3I,EAAAA,IAAGJ,EAAE+I,aAAa,mBAAmB5I,EAAAA,IAAGH,EAAE+I,aAAa,mBAAmB9I,EAAAA,IAAGD,EAAE+I,aAAa,mBAAmBjJ,EAAAA,IAAGE,EAAE+I,aAAa,mBAAmBzG,EAAAA,GAAE,CAACwJ,mBAAmB9L,EAAEE,EAAEM,EAAEF,GAAG,GAAGN,EAAE+L,mBAAmB7L,EAAE0J,cAAc,sBAAsBpJ,EAAEuL,mBAAmB/L,EAAEgM,kBAAkB9L,EAAE+I,aAAa,0BAA0BzI,EAAEyL,uBAAuBjM,EAAEkM,iBAAiB,CAAC,MAAMlM,EAAEQ,EAAE2L,oBAAoB7L,EAAE8L,IAAIC,OAAOnM,EAAEoM,cAAc,2BAA2BtM,EAAEuM,QAAQrM,EAAEoM,cAAc,0BAA0BtM,EAAEwM,MAAM,CAACxM,EAAEyM,iBAAiBvM,EAAE+I,aAAa,sCAAsCzI,EAAEkM,6BAA6B,CAACC,8BAA8B3M,EAAEE,EAAEM,GAAGR,EAAE4M,UAAU1M,EAAEoM,cAAc,kBAAkB9L,EAAEqM,eAAe3M,EAAE0J,cAAc,aAAapJ,EAAEsM,WAAW9M,EAAE+M,YAAY7M,EAAEoM,cAAc,oBAAoB9L,EAAEwM,iBAAiB9M,EAAEoM,cAAc,gBAAgB9L,EAAEyM,aAAa,CAACC,uBAAuBlN,EAAEE,EAAEM,GAAGR,EAAEmN,YAAYjN,EAAE+I,aAAa,mBAAmB,eAAezI,EAAE4M,qBAAqBC,eAAe,EAAE,EAAE,CAACC,iBAAiBtN,EAAEE,EAAEM,EAAE,CAAC,UAAU,MAAMF,EAAEJ,EAAEwJ,cAAcR,SAAS9I,EAAEI,EAAE+M,KAAKvN,GAAGM,EAAEkN,WAAWtN,GAAGA,EAAEgE,OAAOlE,MAAMG,EAAG,GAAEH,KAAKI,EAAE8G,KAAK,OAAO,IAAIjH,EAAEyC,KAAKgI,aAAatD,IAAIjH,GAAG,IAAIF,EAAE,CAAC,MAAMD,EAAEE,EAAEuN,QAAQjN,EAAEN,EAAEuN,QAAQvE,SAASpJ,EAAE,IAAIkD,IAAI9C,EAAE6C,YAAYT,EAAEhC,EAAEiN,KAAKvN,IAAC,IAAOA,MAAMK,EAAE+H,KAAKsF,OAAOxN,EAAE6C,WAAWwJ,UAAUjC,EAAE,CAACpB,SAAS5G,GAAG,IAAI7B,EAAE,EAAE,IAAI,MAAMP,KAAKE,EAAE,CAAC,MAAMJ,EAAEM,EAAEJ,GAAGoK,EAAEpB,SAAS3B,KAAK,CAAC6B,MAAMpJ,EAAEoJ,MAAMlF,KAAKlE,EAAEkE,KAAK,IAAIyJ,QAAQ3N,EAAE2N,QAAQC,WAAW5N,EAAE4N,WAAWC,OAAOrN,EAAER,EAAE6N,OAAOC,OAAOtN,EAAEsE,KAAK9E,EAAE8E,OAAOwF,EAAEpB,SAAS3B,KAAK,CAAC6B,MAAMpJ,EAAEoJ,MAAMlF,KAAKlE,EAAEkE,KAAK,IAAIyJ,QAAQ3N,EAAE2N,QAAQC,WAAW5N,EAAE4N,WAAWC,OAAO,EAAErN,EAAER,EAAE6N,OAAOC,OAAOtN,EAAEsE,KAAK9E,EAAE8E,OAAOhF,EAAEuH,IAAIrH,EAAEkE,KAAK,IAAI7D,KAAKI,GAAGX,EAAEuH,IAAIrH,EAAEkE,KAAK,IAAI7D,KAAKI,EAAE,CAACR,EAAE,CAACyJ,cAAcY,EAAEvH,WAAWjD,EAAE2N,QAAQzN,GAAG0C,KAAKgI,aAAarD,IAAIlH,EAAEF,EAAE,CAAC,OAAOA,CAAC,E,eCArnG,SAASI,EAAEH,GAAG,MAAMF,EAAE,CAACkJ,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,OAAS,CAACyI,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,eAAiB,CAACyI,SAAS,EAAEjF,KAAK,WAAWkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,eAAiB,CAACyI,SAAS,EAAEjF,KAAK,UAAUkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,cAAgBkN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,SAASkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,gBAAkB,CAACyI,SAAS,EAAEjF,KAAK,SAASkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,OAAS,CAACyI,SAAS,EAAEjF,KAAK,SAASkF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,eAAiB,CAACyI,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKpE,EAAAA,EAAAA,kBAAoB,OAAOR,EAAEiL,eAAe,KAAKlL,EAAAA,GAAAA,OAAS,KAAKA,EAAAA,GAAAA,oBAAsBD,EAAEkJ,SAAS6E,OAAO,EAAE,GAAG/N,EAAEkJ,SAAS6E,OAAO,EAAE,GAAG,MAAM,CAACC,OAAO,iBAAiBC,aAAajO,EAAE,CAAC,MAAMO,UAAUC,EAAE4C,UAAU,CAACwH,kBAAkB,OAAOxK,EAAAA,GAAAA,IAAM,CAACgL,kBAAkBlL,GAAG,OAAOA,IAAID,EAAAA,GAAAA,WAAa,CAACoL,aAAajL,EAAEH,EAAEO,EAAEE,GAAG,MAAM6C,QAAQhD,EAAEyD,QAAQpD,EAAEsN,aAAa/I,EAAEgJ,cAAcxN,EAAE6K,YAAYxE,EAAE/B,cAAcxE,EAAEyE,mBAAmBqB,GAAGnG,EAAEwF,EAAE9F,EAAAA,GAAAA,KAAOU,EAAE0K,aAAa7F,GAAE/E,EAAAA,EAAAA,IAAEsF,EAAEwI,MAAMtN,GAAEZ,EAAAA,EAAAA,IAAE8G,IAAI,YAAYA,EAAElC,KAAKuJ,EAAEzN,EAAE+D,iBAAiBqJ,OAAO1H,EAAE2H,aAAa/H,EAAEoI,kBAAkBzI,IAAG7F,EAAAA,EAAAA,IAAEqF,EAAEkJ,YAAYlO,EAAEuF,IAAI,IAAI4I,EAAElM,EAAAA,GAAAA,UAAYmC,GAAEtE,EAAAA,EAAAA,IAAEyF,EAAEwI,KAAKlI,GAAGpF,IAAI2D,EAAE/B,KAAK4K,iBAAiB9M,EAAE0K,YAAYzG,EAAEoB,GAAG2I,EAAElM,EAAAA,GAAAA,QAAU,MAAMS,WAAW0L,EAAE/E,cAAcgF,GAAGjK,EAAEc,EAAE8I,EAAEM,mBAAmBvO,EAAEwF,EAAEU,EAAEmI,EAAE/N,GAAG,GAAG6F,IAAGrG,EAAAA,EAAAA,IAAEO,KAAK8E,EAAEH,WAAW,YAAY3E,IAAI,GAAGF,EAAEuF,WAAWP,GAAG7C,KAAK4I,mBAAmB/F,EAAEnF,EAAEH,GAAGsF,EAAEqJ,aAAa,eAAe,IAAI3O,EAAEmM,IAAIyC,IAAI,IAAI5O,EAAEmM,IAAI0C,KAAKlJ,EAAEmJ,eAAe,CAACnO,EAAEoO,eAAehE,aAAazK,EAAEgF,EAAEK,GAAG,MAAM1F,EAAE,EAAE,IAAIS,EAAEV,EAAEmM,IAAIC,OAAO9G,EAAE0D,aAAa,eAAe/I,EAAE,CAAC,MAAM+O,EAAE,EAAE7O,EAAE+H,WAAW5C,EAAE0D,aAAa,SAASgG,GAAG1J,EAAE0D,aAAa,iBAAiBgG,GAAGvM,KAAKoJ,mBAAmBlG,EAAEL,EAAEJ,EAAElF,GAAGyC,KAAKiK,8BAA8B/G,EAAEL,EAAEJ,GAAG,MAAM+J,EAAE1O,EAAE2O,OAAO1F,OAAOlJ,EAAEmO,EAAED,EAAE3N,GAAG,IAAID,EAAEL,EAAE4O,WAAWhJ,EAAE5F,EAAE6O,UAAUC,YAAYC,kBAAkBzO,IAAID,GAAG,EAAEuF,GAAG,GAAG7F,EAAEuJ,QAAQoF,GAAGxM,KAAK8M,WAAWpP,EAAEH,EAAEsF,EAAEiJ,EAAE3N,EAAEuF,EAAE,CAACoJ,WAAWtP,EAAEF,EAAEI,EAAEH,EAAEE,EAAEK,GAAGN,EAAEqD,QAAQwG,aAAa9J,EAAEE,EAAEO,EAAAA,EAAAA,aAAeF,EAAE,E,0DCAvwC,MAAMkO,UAAUhO,EAAE6B,cAAcC,SAASC,WAAWC,KAAK+M,gBAAgB,EAAE/M,KAAKgN,aAAa,KAAKhN,KAAKiN,aAAa,IAAIC,WAAW,CAACtP,EAAAA,GAAEE,EAAAA,KAAIkC,KAAKmN,QAAQ,KAAKnN,KAAKoN,SAAS,CAACjN,OAAO,UAAUC,OAAO,UAAUC,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAACI,UAAUZ,MAAMY,UAAUV,KAAKqN,mBAAmBrN,KAAKsN,SAAQ9P,EAAAA,EAAAA,IAAEwC,KAAKsN,SAAStN,KAAKmN,SAAQ3P,EAAAA,EAAAA,IAAEwC,KAAKmN,QAAQ,CAACjF,kBAAkB,OAAO5D,EAAAA,GAAAA,IAAM,CAACoE,kBAAkBlL,GAAG,OAAOA,IAAIC,EAAAA,GAAAA,WAAa,CAACqP,WAAWtP,EAAEE,EAAEH,EAAEK,EAAEE,EAAEV,GAAG,MAAM0L,YAAYxE,GAAG9G,EAAE,IAAGF,EAAAA,EAAAA,IAAEgH,IAAI,YAAYA,EAAElC,KAAKtC,MAAMgN,WAAWtP,EAAEE,EAAEH,EAAEK,EAAEE,EAAEV,OAAO,CAAC,MAAME,EAAE0C,KAAKuN,kBAAkB/P,EAAEE,EAAEH,EAAEO,EAAEV,GAAG4C,KAAKwN,gBAAgBhQ,EAAEE,EAAEJ,EAAE,CAAC,CAACkQ,gBAAgBhQ,EAAEE,EAAEH,GAAG,MAAMsD,QAAQjD,EAAE0D,QAAQxD,EAAE0N,aAAapO,EAAEmF,cAAc+B,EAAE9B,mBAAmB/E,GAAGD,EAAEQ,EAAEF,EAAEmE,gBAAgBC,WAAWlC,KAAKoN,UAAU,GAAG3P,IAAGH,EAAAA,EAAAA,IAAEgH,KAAKtG,EAAE0E,WAAW,YAAY4B,IAAI,MAAMmJ,eAAe9P,GAAGP,GAAEa,EAAAA,EAAAA,IAAEN,EAAE,eAAe,MAAME,EAAEmC,KAAK0N,sBAAsB9P,EAAEoC,KAAKoN,SAAS/M,WAAW,CAACmG,SAAS,CAAC,CAAChF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,MAAQqL,QAAQ,EAAEC,YAAW,EAAGC,OAAO,EAAEC,OAAO,MAAMxN,EAAEsD,uBAAsB,GAAItD,EAAEwF,WAAWpF,GAAGA,EAAEuI,aAAa,mBAAmB,GAAGvI,EAAEqI,aAAa,YAAYrG,KAAKiN,aAAa,IAAIjP,EAAEuI,aAAa,YAAYb,KAAKsF,IAAIrN,EAAEgQ,QAAQ,IAAI3P,EAAEuI,aAAa,eAAeqH,OAAOC,kBAAkB7N,KAAK4I,mBAAmB5K,EAAER,EAAEE,GAAGE,EAAEiK,YAAYtK,EAAEyC,KAAKiN,aAAa,IAAIrP,EAAEwJ,QAAQvJ,GAAGD,EAAEmK,WAAWhG,EAAAA,GAAAA,OAAS,EAAE,OAAO,CAACwL,kBAAkB/P,EAAEF,EAAEI,EAAEH,EAAEK,GAAG,MAAMiD,QAAQ/C,EAAE0N,aAAalH,EAAEmH,cAAchO,GAAGD,EAAEQ,EAAEF,EAAEgQ,eAAeL,eAAe9P,GAAG2G,GAAErG,EAAAA,EAAAA,IAAEN,EAAE,eAAe,MAAMoQ,SAASlQ,EAAEmQ,OAAOjQ,EAAEkQ,WAAWtC,EAAEuC,gBAAgBzL,EAAE0L,SAAShL,GAAGxF,EAAEG,EAAEsQ,YAAY,EAAE,EAAE,IAAI,KAAK,MAAMjQ,EAAEL,EAAEuQ,4BAA4B9B,EAAEvM,KAAKsO,WAAWxQ,GAAGA,EAAEyQ,gBAAgBhC,GAAGzO,EAAE0Q,cAAc,EAAE,EAAE,EAAE,GAAG1Q,EAAE2Q,MAAM3Q,EAAE4Q,GAAGC,iBAAiB7Q,EAAE4Q,GAAGE,oBAAoB9Q,EAAEoD,uBAAsB,GAAI,MAAMhD,EAAE,EAAE,IAAIT,EAAEH,EAAEoM,IAAIC,OAAOhH,EAAEvF,EAAAA,GAAE8F,EAAEP,EAAEiL,OAAOC,iBAAiBlL,EAAEiL,OAAOC,iBAAiBhK,EAAE,EAAE3F,GAAG,EAAEA,GAAG2E,EAAEhF,EAAEL,EAAE+H,MAAMsJ,MAAMhR,EAAE,EAAE,OAAOH,EAAE6I,aAAa,mBAAmBrI,GAAGR,EAAE6I,aAAa,qBAAqBrD,GAAG9F,EAAAA,GAAEwQ,OAAOC,iBAAiBzQ,EAAAA,GAAEwQ,OAAOC,mBAAmBnQ,EAAEoR,oBAAoB,cAAc/Q,GAAGL,EAAEwJ,cAAc,aAAayE,GAAGjO,EAAEwJ,cAAc,uBAAuBzE,GAAG/E,EAAE6I,aAAa,aAAab,KAAKsF,IAAI,EAAE7H,EAAEN,EAAEgB,IAAI7D,KAAK+O,wBAAwBjR,EAAEJ,EAAE4G,EAAE3B,GAAG7E,EAAEuJ,aAAatF,EAAAA,GAAAA,UAAYxE,EAAEqC,EAAAA,EAAAA,aAAehC,GAAGE,EAAEsQ,YAAYpQ,EAAEmF,EAAEnF,EAAEE,EAAEF,EAAE8E,MAAM9E,EAAEgF,QAAQlF,EAAEyQ,gBAAgBpQ,GAAGoO,EAAEyC,YAAY,CAACV,WAAW9Q,GAAG,IAAGE,EAAAA,EAAAA,IAAEsC,KAAKsN,SAAS,CAAC,MAAMhQ,EAAE,IAAII,EAAE,IAAIH,EAAE,CAACkP,OAAO5O,EAAAA,GAAAA,WAAaoR,YAAYlR,EAAAA,GAAAA,KAAOmR,SAASvD,EAAAA,GAAAA,cAAgBzG,aAAazC,EAAAA,GAAAA,QAAU0M,SAAShM,EAAAA,GAAAA,cAAgBL,MAAMxF,EAAE0F,OAAOtF,GAAGE,EAAE,CAACwR,YAAYjR,EAAAA,GAAAA,QAAUkR,mBAAmB9C,EAAAA,GAAAA,6BAA+BzO,EAAE,IAAI+F,EAAAA,EAAErG,EAAE,CAACsF,MAAMxF,EAAE0F,OAAOtF,EAAE4R,eAAepR,EAAAA,GAAAA,gBAAkB8B,KAAKsN,QAAQ,IAAIpK,EAAAA,EAAE1F,EAAEI,EAAEL,EAAEO,EAAE,CAAC,OAAOkC,KAAKsN,OAAO,CAACD,mBAAmB,GAAGrN,KAAKgN,aAAa,CAAC,IAAI,IAAIxP,EAAE,EAAEA,EAAEwC,KAAKgN,aAAazI,OAAO/G,IAAIwC,KAAKgN,aAAaxP,GAAGkD,UAAUV,KAAKgN,aAAa,IAAI,CAAC,CAAC+B,wBAAwBvR,EAAEF,EAAEI,EAAEH,GAAG,MAAMkQ,eAAe7P,GAAGF,GAAEO,EAAAA,EAAAA,IAAEL,EAAE,eAAe,MAAME,EAAEkC,KAAKuP,0BAA0B/R,EAAED,EAAEK,EAAE4R,MAAMlS,EAAEmS,cAAc,gBAAgBzP,KAAKiN,cAAc,IAAI,IAAI7P,EAAE,EAAEA,EAAEU,EAAEyG,OAAOnH,IAAII,EAAEqK,YAAY/J,EAAEV,GAAG4C,KAAKiN,aAAa7P,GAAG,CAACsQ,sBAAsBlQ,EAAEF,EAAEC,GAAG,IAAGG,EAAAA,EAAAA,IAAEsC,KAAKmN,SAAS,CAAC,MAAMzP,EAAE,EAAEE,EAAE,IAAI8R,WAAW,OAAOhS,GAAG,IAAI,IAAIF,EAAE,EAAEA,EAAE,IAAIA,IAAI,IAAI,IAAIF,EAAE,EAAEA,EAAE,IAAIA,IAAIM,EAAEF,GAAGJ,EAAE,IAAIE,IAAIF,EAAEM,EAAEF,GAAGJ,EAAE,IAAIE,GAAG,GAAGA,EAAE,MAAMM,EAAEH,EAAAA,EAAAA,aAAeH,EAAEmF,EAAAA,GAAAA,YAAc/E,GAAGoC,KAAKmN,QAAQ,IAAIwC,EAAAA,EAAEnS,EAAEF,EAAEC,EAAE,CAACiJ,SAAS1I,GAAG,KAAK,CAAC,OAAOkC,KAAKmN,OAAO,CAACoC,0BAA0B/R,EAAEF,EAAEI,GAAG,GAAGsC,KAAK+M,kBAAkBzP,GAAG0C,KAAK4P,QAAQlS,IAAIsC,KAAKqN,mBAAmBrN,KAAK+M,gBAAgBzP,EAAE0C,KAAK4P,MAAMlS,GAAG,OAAOsC,KAAKgN,aAAa,CAAC,MAAMpP,EAAE,IAAIL,EAAAA,EAAEG,GAAGsC,KAAKgN,aAAa,CAAChN,KAAK6P,wBAAwBrS,EAAEF,EAAEM,GAAGoC,KAAK6P,wBAAwBrS,EAAEF,EAAEM,GAAG,CAAC,OAAOoC,KAAKgN,YAAY,CAAC6C,wBAAwBrS,EAAEF,EAAEI,GAAG,MAAMH,EAAE,IAAIF,aAAaC,EAAEA,EAAE,GAAG,IAAI,IAAIM,EAAE,EAAEA,EAAEL,EAAEgH,OAAO3G,IAAIL,EAAEK,GAAGF,EAAEoS,WAAW,OAAO,IAAIjN,EAAAA,EAAErF,EAAE,CAAC2R,SAAShM,EAAAA,GAAAA,OAAS8L,YAAYlR,EAAAA,GAAAA,KAAOmR,SAASvD,EAAAA,GAAAA,MAAQzG,aAAazC,EAAAA,GAAAA,QAAUK,MAAMxF,EAAE0F,OAAO1F,GAAGC,EAAE,E,eCA12I,MAAM+G,EAAE,CAACgH,OAAO,iBAAiBC,aAAa,CAAC/E,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,OAAS,CAAC6G,SAAS,EAAEjF,KAAK,iBAAiBkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,OAAS,CAAC6G,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,gBAAkB,CAAC6G,SAAS,EAAEjF,KAAK,uBAAuBkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,gBAAkB,CAAC6G,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,eAAiB,CAAC6G,SAAS,EAAEjF,KAAK,UAAUkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,cAAgBsL,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,iBAAiBkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,cAAgBsL,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,wBAAwBkF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,eAAiB,CAAC6G,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKxC,EAAAA,EAAAA,kBAAoBgM,kBAAkB,CAAC,iBAAiB,gBAAgB,MAAMjO,UAAUG,EAAE4C,UAAU,CAACwH,kBAAkB,OAAOxK,EAAAA,GAAAA,MAAQ,CAACgL,kBAAkBpL,GAAG,OAAOA,IAAIG,EAAAA,GAAAA,SAAWH,IAAIG,EAAAA,GAAAA,SAAW,CAACkL,aAAajL,EAAED,EAAEK,EAAE8B,GAAG,MAAMiB,QAAQlD,EAAE2D,QAAQzD,EAAE2N,aAAa/I,EAAE8C,MAAMrH,EAAE4K,YAAY7K,EAAEsE,cAAcxE,EAAEyE,mBAAmBqB,GAAGnG,EAAEwF,EAAE9F,EAAAA,GAAAA,KAAOU,EAAE0K,aAAapK,GAAER,EAAAA,EAAAA,IAAEsF,EAAEwI,MAAMC,GAAErO,EAAAA,EAAAA,IAAEW,IAAI,YAAYA,EAAEmE,MAAMkJ,OAAO3I,EAAE4I,aAAapI,EAAEyI,kBAAkBY,IAAGhP,EAAAA,EAAAA,IAAEY,EAAEyN,YAAYvH,GAAG,IAAIvC,EAAE/D,EAAAA,GAAAA,UAAYwF,GAAEjG,EAAAA,EAAAA,IAAE2F,EAAEwI,KAAKvI,GAAGwI,IAAInI,EAAExD,KAAK4K,iBAAiB9M,EAAE0K,YAAYhF,EAAEgJ,GAAGzK,EAAE/D,EAAAA,GAAAA,QAAU,MAAMqC,WAAWyH,EAAEd,cAAcgF,GAAGxI,EAAEuI,EAAElO,EAAEoE,gBAAgBgK,mBAAmBvO,EAAEwF,EAAEP,EAAEmF,EAAElI,GAAG,GAAGiE,IAAGvG,EAAAA,EAAAA,IAAES,KAAKgO,EAAErJ,WAAW,YAAY3E,IAAIJ,EAAEyF,WAAW2I,GAAG7I,EAAEmJ,gBAAgBxO,EAAEyO,eAAehE,aAAa3K,EAAEoO,EAAE7I,GAAE,GAAIlD,KAAK4I,mBAAmBmD,EAAErO,EAAED,GAAG,MAAMmG,EAAEV,EAAEuH,WAAWvM,EAAEiL,gBAAgBjL,EAAEiJ,YAAY4E,EAAE3F,oBAAoB,gBAAgBxC,GAAG5D,KAAKoJ,mBAAmBlG,EAAE6I,EAAEtJ,EAAEhF,GAAGuC,KAAKiK,8BAA8B/G,EAAE6I,EAAEtJ,GAAGzC,KAAKwK,uBAAuBtH,EAAE6I,EAAEtJ,GAAG,MAAMY,EAAEvF,EAAE2O,OAAO1F,OAAOpJ,EAAEqO,EAAElE,EAAE6D,GAAG,IAAI9I,EAAE/E,EAAE4O,WAAWH,EAAEzO,EAAE6O,UAAUC,YAAYC,kBAAkBlB,IAAI9I,GAAG,EAAE0J,GAAG,GAAG5O,EAAEyJ,QAAQ/D,GAAGrD,KAAK+P,aAAarS,EAAED,EAAEsO,EAAEhK,EAAEc,EAAE0J,EAAEZ,GAAGhO,EAAEyJ,QAAQ,KAAK,CAAC2I,aAAazS,EAAEE,EAAEE,EAAED,EAAEF,EAAEO,EAAEV,GAAGE,EAAEuD,QAAQwG,aAAa5J,EAAEF,EAAEqC,EAAAA,EAAAA,aAAe9B,EAAE,E,qCCA9hE,SAASV,EAAEA,EAAEU,GAAG,MAAM8D,aAAa7D,EAAEiS,iBAAiBpS,GAAGR,EAAEuE,aAAahE,EAAEI,GAAG6D,aAAahC,EAAE7B,GAAG8D,mBAAmB5D,EAAEF,GAAGkS,iBAAiBxN,EAAE1E,GAAGmS,uBAAuB5L,EAAEvG,GAAGoS,WAAWhN,EAAEvF,GAAGgE,aAAaiB,EAAEjF,GAAGqS,iBAAiBpS,EAAED,GAAGwS,YAAYC,wBAAwBtO,IAAGzE,EAAAA,EAAAA,IAAEF,EAAEkT,YAAY,IAAI3S,IAAIM,EAAE,MAAM,IAAIT,EAAAA,EAAE,gCAAgC,wGAAwG,IAAI2F,IAAIN,EAAE,MAAM,IAAIrF,EAAAA,EAAE,qCAAqC,mIAAmI,KAAKK,GAAGkE,GAAGc,GAAG,MAAM,IAAIrF,EAAAA,EAAE,8BAA8B,gGAAgGuE,EAAE,GAAG,uFAAuF,MAAM8B,EAAElG,GAAGwF,GAAGtF,GAAGkE,EAAE4N,EAAE1R,GAAG4E,EAAE2J,EAAE5M,EAAEkM,EAAErJ,EAAEkJ,IAAI/N,GAAG2S,KAAKpS,IAAIP,GAAG4S,KAAK,GAAG3M,IAAI2I,IAAIV,GAAG,OAAOU,GAAG1O,EAAE2S,SAAS,qFAAqF,CAACvB,SAAS3R,EAAAA,GAAAA,MAAQ2H,aAAasH,EAAE/O,EAAAA,GAAAA,OAASA,EAAAA,GAAAA,QAAUwR,YAAYtD,EAAEjO,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,KAAO4R,eAAe3D,EAAE3N,EAAAA,GAAAA,KAAON,EAAAA,GAAAA,MAAQ,GAAGiS,EAAE,OAAO7D,GAAGhO,EAAE2S,SAAS,0FAA0F,CAACvB,SAAS5K,EAAEY,aAAa4G,EAAErO,EAAAA,GAAAA,OAASA,EAAAA,GAAAA,QAAUwR,YAAY9Q,EAAET,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,KAAO4R,eAAenR,EAAEH,EAAAA,GAAAA,KAAON,EAAAA,GAAAA,MAAQ,MAAM,IAAIF,EAAAA,EAAE,mCAAmC,+GAA+G,CCApxB,MAAM0F,EAAE1F,EAAAA,EAAAA,UAAY,sDAAsD,SAAS2F,EAAE3F,GAAG,MAAM,YAAYA,EAAE4E,IAAI,CAAC,MAAMsO,UAAU/S,EAAEkC,cAAcC,SAASC,WAAWC,KAAK2Q,YAAY,IAAIzS,CAAC,CAACwK,kBAAkBlL,GAAG,OAAOA,IAAIC,EAAAA,GAAAA,OAAS,CAACiD,UAAUZ,MAAMY,UAAUV,KAAK2Q,YAAYjQ,UAAUV,KAAK2Q,YAAY,IAAI,CAAC/P,eAAe,CAAC+H,aAAanL,EAAEF,EAAEC,EAAEO,GAAG,MAAMmH,QAAQxH,GAAGuC,KAAK2Q,YAAYC,mBAAmBpT,EAAEqD,SAASf,MAAM6I,aAAanL,EAAEF,EAAEC,EAAEO,EAAE,IAAIA,KAAKL,GAAGA,EAAE,CAACsS,aAAavS,EAAEF,EAAEC,EAAEO,EAAEL,EAAEG,EAAED,GAAG,MAAMkD,QAAQzD,EAAEoO,aAAazJ,EAAEwD,MAAMxH,GAAGP,GAAGiQ,eAAe7N,GAAGmC,GAAErE,EAAAA,EAAAA,IAAEkC,EAAE,WAAW,MAAMiR,eAAevM,EAAEwM,OAAOrO,EAAEsO,cAAc9S,GAAG2B,EAAEiD,EAAEJ,GAAG,IAAI6B,EAAEA,EAAEvG,EAAE8Q,MAAM,GAAGtR,EAAEgJ,aAAa,WAAW1D,GAAGlF,IAAIJ,EAAEgJ,aAAa,kBAAkBtI,GAAGb,EAAEqE,mBAAmB5D,EAAAA,GAAAA,OAASP,EAAEoE,WAAW,MAAMtE,EAAEiK,aAAavJ,EAAEL,EAAEO,EAAAA,EAAAA,aAAeJ,EAAE,EAAE,MAAMgK,EAAE,CAACzH,OAAO,yBAAyBC,OAAO,yBAAyBC,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,MAAM,MAAMpC,UAAUd,EAAAA,EAAEyC,cAAcC,SAASC,WAAWC,KAAKwB,KAAKxB,KAAKH,YAAY2B,IAAI,CAACwP,eAAelI,YAAYtL,IAAI,OAAOA,CAAC,CAACkD,UAAUV,KAAKiR,SAAS,KAAKjR,KAAKkR,0BAAyB5T,EAAAA,EAAAA,IAAE0C,KAAKkR,2BAA0B3T,EAAAA,EAAAA,IAAEyC,KAAKmR,yBAAyBnR,KAAKmR,uBAAuBC,2BAA2BpR,KAAKqR,gCAA+B/T,EAAAA,EAAAA,IAAE0C,KAAKqR,gCAAgCrR,KAAKmR,wBAAuB7T,EAAAA,EAAAA,IAAE0C,KAAKmR,wBAAwBnR,KAAKsR,yBAAwBhU,EAAAA,EAAAA,IAAE0C,KAAKsR,yBAAyBtR,KAAKuR,WAAUjU,EAAAA,EAAAA,IAAE0C,KAAKuR,UAAU,CAACpL,KAAK3I,GAAG,MAAMqD,QAAQvD,EAAEkO,aAAa1N,EAAEgL,YAAYrL,GAAGD,GAAGiQ,eAAe7P,GAAGE,KAAIP,EAAAA,EAAAA,IAAEE,IAAI,YAAYA,EAAE2E,OAAOe,EAAEvF,KAAKoC,KAAKiR,SAAS3T,EAAE+Q,4BAA4BrO,KAAKwR,cAAclU,EAAEwQ,eAAcpQ,EAAAA,EAAAA,IAAEE,EAAE,WAAWoC,KAAKyR,eAAejU,GAAGwC,KAAK0R,iBAAiBpU,EAAEM,GAAGN,EAAEiR,gBAAgBvO,KAAKmR,wBAAwB7T,EAAE8Q,YAAY,EAAE,EAAEpO,KAAKmR,uBAAuBrO,MAAM9C,KAAKmR,uBAAuBnO,QAAQ1F,EAAE4D,uBAAsB,GAAI5D,EAAEwD,oBAAmB,GAAIxD,EAAEqU,iBAAiB5T,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,KAAOT,EAAEkR,cAAc,EAAE,EAAE,EAAE,GAAGlR,EAAEmR,MAAM7O,EAAAA,GAAAA,kBAAoB,CAACgS,SAAS5R,KAAKiR,SAAS,KAAKjR,KAAKwR,cAAc,IAAI,CAACrQ,KAAK3D,GAAG,MAAMqD,QAAQvD,EAAEgE,QAAQxD,EAAE0N,aAAa/N,EAAEqL,YAAYlL,GAAGJ,GAAGiQ,eAAe9P,GAAGF,EAAE,IAAGF,EAAAA,EAAAA,IAAEK,IAAI,YAAYA,EAAEwE,OAAOe,EAAExF,GAAG,OAAO,MAAMsH,QAAQ7H,GAAG4C,KAAK4Q,mBAAmBtT,GAAGI,EAAEI,EAAEmE,gBAAgBC,WAAW0F,EAAExK,GAAGE,EAAE8F,WAAW1F,GAAGJ,EAAEiR,gBAAgBvO,KAAKiR,UAAU3T,EAAE8Q,YAAY,EAAE,EAAEpO,KAAKwR,cAAc1O,MAAM9C,KAAKwR,cAAcxO,QAAQ1F,EAAEqU,iBAAiB5T,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBT,EAAE4D,uBAAsB,GAAI,MAAM4P,OAAO/O,EAAE8P,WAAWhU,EAAEiU,aAAa9T,GAAGL,EAAEL,EAAEuK,YAAY7H,KAAKkR,yBAAyB,GAAG5T,EAAEuK,YAAY7H,KAAKsR,wBAAwB,GAAG5T,EAAE2I,aAAa,YAAY,GAAG3I,EAAE2I,aAAa,aAAa,GAAG3I,EAAEwO,aAAa,0BAA0BrO,EAAE,EAAEG,GAAGN,EAAE6I,aAAa,yBAAyB,GAAGxE,EAAEA,EAAE2D,KAAKqM,KAAK/R,KAAKuR,UAAUpQ,MAAM,CAACsQ,gBAAgB5Q,QAAQrD,EAAE8D,QAAQhE,IAAI,MAAM4R,SAAS3R,EAAE2H,aAAapH,EAAEmR,YAAYxR,EAAE6R,eAAe3R,EAAEqU,YAAY5U,EAAE6U,4BAA4BvU,GAAGsC,KAAK4Q,mBAAmBpT,IAAIsF,MAAMf,EAAEiB,OAAOnF,GAAGmC,KAAKwR,cAAcxT,EAAE+D,EAAE3E,EAAEW,EAAEF,EAAET,EAAE4C,KAAKkR,2BAA2BlR,KAAKkR,yBAAyB,IAAIlF,EAAAA,EAAExO,EAAE,CAACiP,OAAOnI,EAAAA,GAAAA,WAAa2K,YAAYxR,EAAE6R,eAAe3R,EAAEuR,SAAS3R,EAAE2H,aAAapH,EAAEqR,SAAS1M,EAAAA,GAAAA,cAAgBK,MAAM9E,EAAEgF,OAAOjF,KAAKL,IAAIsC,KAAKqR,iCAAiCrR,KAAKqR,+BAA+B,IAAIxN,EAAAA,EAAErG,EAAE,CAACsF,MAAM9E,EAAEgF,OAAOjF,EAAEuR,eAAerR,EAAAA,GAAAA,kBAAoB+B,KAAKmR,yBAAyBnR,KAAKmR,uBAAuB,IAAIhT,EAAAA,EAAEX,EAAE,CAAC,EAAEwC,KAAKkR,yBAAyBxT,EAAEJ,EAAE4U,yBAAyBlS,KAAKqR,iCAAiCrR,KAAKsR,0BAA0BtR,KAAKsR,wBAAwB,IAAItF,EAAAA,EAAExO,EAAE,CAACiP,OAAOnI,EAAAA,GAAAA,WAAa2K,YAAYpM,EAAAA,GAAAA,KAAOqM,SAASvM,EAAAA,GAAAA,cAAgBuC,aAAayK,EAAAA,GAAAA,OAASR,SAAS1M,EAAAA,GAAAA,iBAAmBzC,KAAKuR,YAAYvR,KAAKuR,UAAU,IAAI3T,EAAAA,EAAEJ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAACkU,iBAAiBlU,EAAEF,GAAG,MAAM6U,aAAarU,EAAEsU,SAAS3U,GAAGH,EAAE0C,KAAKqS,oBAAoBvU,IAAIkC,KAAKsR,wBAAwBgB,OAAO7U,EAAE8G,OAAO,EAAE,GAAGvE,KAAKsR,wBAAwBiB,QAAQ9U,GAAGuC,KAAKqS,kBAAkBvU,GAAG,MAAMkU,YAAYpU,EAAEqU,4BAA4BtU,GAAGqC,KAAK4Q,mBAAmBpT,IAAIsF,MAAM1F,EAAE4F,OAAOtF,GAAGsC,KAAKwR,cAAczP,EAAE3E,EAAEQ,EAAEC,EAAEH,EAAEE,GAAGkF,MAAM9E,EAAEgF,OAAOjF,GAAGiC,KAAKmR,uBAAuB,GAAGnT,IAAI+D,GAAGhE,IAAIF,EAAE,CAAC,MAAML,EAAEwC,KAAKmR,uBAAuBqB,uBAAuB,GAAG7U,IAAGJ,EAAAA,EAAAA,IAAEC,GAAG,CAAC,MAAMsF,MAAMxF,EAAE0F,OAAOzF,GAAGC,EAAEiV,WAAWnV,IAAIyE,GAAGxE,IAAIM,IAAIqF,EAAEwP,UAAU,iEAAiE1S,KAAKmR,uBAAuBC,2BAA2B,CAACpR,KAAKmR,uBAAuBmB,OAAOvQ,EAAElE,EAAE,CAACF,GAAGH,EAAEmV,gBAAgB3S,KAAKiR,SAASjR,KAAKmR,uBAAuB,EAAE,EAAEnR,KAAKiR,SAASnO,MAAM9C,KAAKiR,SAASjO,OAAO,EAAE,EAAEhD,KAAKmR,uBAAuBrO,MAAM9C,KAAKmR,uBAAuBnO,OAAOpD,EAAAA,GAAAA,mBAAqB+P,EAAAA,GAAAA,QAAU,CAACiB,mBAAmBpT,GAAG,IAAGM,EAAAA,EAAAA,IAAEkC,KAAK4S,iBAAiB,CAAC,MAAMtV,EAAEqO,EAAEnO,EAAE0F,GAAG3F,EAAEC,EAAE4E,OAAOL,EAAAA,GAAAA,OAAS/B,KAAK4S,gBAAgB,IAAItV,EAAE2U,4BAA4B1U,EAAEyU,YAAYzU,EAAE,EAAE,IAAI0H,QAAQ3H,EAAE4R,WAAWvM,EAAAA,GAAAA,MAAQ,CAAC,6BAA6B,GAAG,CAAC,OAAO3C,KAAK4S,eAAe,E,eCA/9K,MAAMhV,UAAUL,EAAEmL,kBAAkBnL,GAAG,OAAOA,IAAIG,EAAAA,GAAAA,SAAW,CAACqS,aAAarS,EAAEH,EAAEK,EAAER,EAAEY,EAAED,EAAEJ,GAAG,MAAMkD,QAAQ/C,GAAGJ,GAAG8N,aAAa5L,GAAGlC,GAAG+P,eAAehQ,GAAGmC,GAAEpC,EAAAA,EAAAA,IAAEC,EAAE,aAAaG,EAAEsJ,cAAc,WAAWzJ,EAAEuQ,QAAQpQ,EAAEsJ,cAAc,iBAAiBzJ,EAAEoV,cAAcjV,EAAEsJ,cAAc,gBAAgBzJ,EAAEqV,aAAalV,EAAEsJ,cAAc,iBAAiBzJ,EAAEsV,cAAcnV,EAAE2I,aAAa,eAAe9I,EAAEuV,gBAAgBpV,EAAE2I,aAAa,oBAAoB9I,EAAEwV,iBAAiBrV,EAAE2I,aAAa,iBAAiB9I,EAAEyV,cAAcpV,EAAEuJ,aAAajK,EAAEY,EAAEV,EAAAA,EAAAA,aAAeS,EAAE,E,iDCAnD,MAAMuG,WAAUzG,EAAAA,EAAEgC,cAAcC,SAASC,WAAWC,KAAK2G,QAAOjJ,EAAAA,EAAAA,GAAE,EAAE,EAAE,EAAE,GAAGsC,KAAKmT,gBAAe3V,EAAAA,EAAAA,KAAIwC,KAAKoT,gBAAgB,CAACC,IAAG,EAAGC,SAAQ,EAAG,CAAC5S,UAAUV,KAAKuT,OAAOvT,KAAKuT,KAAK7S,UAAUV,KAAKuT,KAAK,KAAK,CAACC,SAAShW,EAAEE,GAAG,MAAMmD,QAAQhD,EAAEyD,QAAQ1B,EAAE6T,cAAchR,EAAEF,cAActE,EAAEuE,mBAAmB8B,GAAG9G,EAAEwC,KAAK0T,kBAAkBlW,GAAG,MAAMuE,EAAEvE,EAAEqL,aAAalG,EAAEnF,EAAEmW,WAAW/L,EAAEjF,EAAEiR,mBAAmB1V,EAAE0B,EAAEiU,2BAA2BhR,EAAEF,EAAEmR,cAAc,mBAAmB/R,GAAGsB,EAAEV,EAAEmR,cAAc,qBAAqB/R,GAAGoB,EAAER,EAAEmR,cAAc,qBAAqB/R,GAAG2B,OAAE,IAASP,EAAEK,EAAEX,EAAE,GAAGQ,EAAElF,EAAE,EAAEyP,OAAOC,iBAAiB/B,EAAEtO,EAAEuW,aAAa,IAAIjM,EAAE/E,EAAE,MAAMa,EAAEzF,EAAEP,EAAAA,EAAE,EAAE,EAAE4O,EAAEhP,EAAEwW,YAAYvW,EAAAA,GAAAA,QAAUwW,EAAEjU,KAAKoT,gBAAgBa,EAAEZ,GAAG7G,EAAEyH,EAAEX,QAAQ5P,EAAE,MAAMiI,EAAEzN,EAAE+N,mBAAmBpO,EAAE+J,EAAEqM,GAAG,GAAG3P,IAAG/G,EAAAA,EAAAA,IAAEU,KAAK0N,EAAEjJ,WAAWzE,QAAQ,CAAC,GAAGJ,EAAEuJ,QAAQpH,KAAKuT,MAAM1V,EAAEuF,WAAWuI,GAAGjI,EAAE,CAAC,MAAMpG,EAAEwO,EAAEoI,sBAAsB/Q,GAAE,GAAI,IAAG5F,EAAAA,EAAAA,IAAED,GAAG,CAAC,MAAM6W,GAAG3W,EAAE4W,GAAG1W,EAAE2W,KAAKzW,GAAGN,EAAEwK,EAAEpK,EAAE,GAAGF,EAAE,GAAGuF,EAAErF,EAAE,GAAGF,EAAE,GAAG,MAAMC,EAAEqO,EAAEwI,YAAY1W,IAAGL,EAAAA,EAAAA,IAAEE,KAAKqO,EAAE3F,KAAKtI,EAAEE,EAAAA,GAAAA,OAASH,EAAEE,EAAAA,IAAG6N,EAAE4I,aAAa,SAAS/W,EAAE,GAAGA,EAAE,GAAGE,EAAE,GAAGA,EAAE,IAAIiO,EAAErF,cAAc,eAAe7I,GAAGkO,EAAEtF,aAAa,YAAYvI,EAAAA,IAAG,CAAC6N,EAAEpF,aAAa,YAAYlD,EAAE,MAAMrD,KAAK2G,OAAO,GAAGnD,EAAEX,EAAE,GAAG7C,KAAK2G,OAAO,GAAGnD,EAAEX,EAAE,GAAG7C,KAAK2G,OAAO,GAAGnD,EAAEX,EAAE,GAAG7C,KAAK2G,OAAO,GAAGnD,EAAEmI,EAAEzE,cAAc,UAAUlH,KAAK2G,QAAQ,GAAGgF,EAAEpF,aAAa,UAAU5D,EAAE6R,GAAG,GAAGhI,EAAE,CAAC,MAAMlP,GAAEF,EAAAA,GAAAA,IAAEqF,EAAE,GAAGkJ,EAAEzE,cAAc,OAAO5J,EAAE,CAAC,IAAI,MAAMC,KAAKG,EAAE,CAAC,GAAGiO,EAAEpF,aAAa,gBAAgBhJ,EAAEkX,QAAQ9I,EAAEvF,oBAAoB,YAAY7I,EAAE2G,WAAWC,KAAKT,EAAE,CAAC,MAAMlG,EAAEkI,KAAKsF,IAAI,IAAItF,KAAKC,MAAM5D,GAAGxE,EAAEmM,IAAIC,OAAO,GAAGjM,EAAEkG,EAAErG,EAAEuF,MAAMtF,EAAEM,EAAEJ,GAAEJ,EAAAA,EAAAA,IAAEwK,GAAGlK,EAAEF,GAAEJ,EAAAA,EAAAA,IAAEyF,GAAG/C,KAAKmT,eAAe,GAAGrV,EAAEkC,KAAKmT,eAAe,GAAGvV,EAAE+N,EAAEvF,oBAAoB,mBAAmBpG,KAAKmT,eAAe,CAACtV,EAAE4D,mBAAmBzD,EAAAA,GAAAA,MAAQ,EAAE,KAAKH,EAAEkK,WAAWpK,EAAAA,GAAAA,eAAiB,EAAE,EAAE,CAAC,CAAC,CAAC+V,kBAAkBpW,GAAG,GAAG0C,KAAKuT,KAAK,OAAO,MAAM1S,QAAQtD,EAAEoW,WAAWnW,GAAGF,EAAEI,EAAEF,EAAEoW,mBAAmB9V,EAAE,IAAI4W,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI9W,EAAEgC,EAAAA,EAAAA,aAAerC,EAAEkF,EAAAA,GAAAA,YAAc3E,GAAGL,EAAE,IAAIQ,EAAAA,EAAEV,EAAEG,EAAEiX,wBAAwBjX,EAAEkX,gBAAgB,CAACpO,SAAS5I,IAAIoC,KAAKuT,KAAK9V,CAAC,E,gBCAruE,MAAMI,WAAUT,EAAAA,EAAEyC,cAAcC,SAASC,WAAWC,KAAKoT,gBAAgB,CAACC,IAAG,EAAG,CAAC3S,UAAU,CAAC8S,SAASpW,EAAES,GAAG,MAAMgD,QAAQjB,EAAEiJ,aAAavE,EAAEmH,cAAc1N,EAAEwH,MAAM5H,EAAEqW,UAAUvR,EAAEnB,QAAQpD,EAAE6V,aAAapR,EAAE8Q,cAAc7L,EAAErF,cAAcsB,EAAErB,mBAAmBa,GAAGjG,EAAE,IAAIS,EAAEgX,MAAMrX,GAAGA,EAAEsX,UAAUpQ,IAAIkD,IAAImN,mBAAkB,IAAK,OAAO,MAAMpJ,EAAEvO,EAAEuW,WAAWxQ,EAAEwI,EAAEqJ,eAAepR,EAAE1F,EAAE2V,2BAA2BrQ,EAAE,IAAIvF,EAAE0N,EAAEmI,cAAc,mBAAmBxP,GAAGkI,EAAEb,EAAEmI,cAAc,0BAA0BxP,GAAGvC,EAAEU,IAAI3E,EAAAA,GAAAA,QAAUyO,EAAEvM,KAAKoT,gBAAgB7G,EAAE8G,GAAGtR,EAAE,MAAM+J,EAAElI,EAAEqI,mBAAmBrM,EAAEuD,EAAEoJ,GAAG,GAAGlJ,IAAG7F,EAAAA,EAAAA,IAAEqG,KAAKiI,EAAEpJ,WAAW,YAAYmB,IAAIjE,EAAEwD,WAAW0I,GAAGA,EAAE1F,oBAAoB,gBAAgBoG,IAAIjP,GAAAA,GAAAA,SAAWI,EAAEwJ,YAAYxJ,EAAEwL,iBAAiB2C,EAAExF,cAAc,sBAAsBrI,GAAG6N,EAAEvF,aAAa,UAAUoF,EAAE6I,GAAG1I,EAAEvF,aAAa,sBAAsB/C,GAAG,IAAIN,GAAG,EAAE,GAAGnB,EAAE,CAAC,MAAMvE,GAAEC,EAAAA,GAAAA,IAAEmK,EAAE,GAAGkE,EAAE5E,cAAc,OAAO1J,EAAE,CAAC,IAAI,MAAMA,KAAKK,EAAE,CAAC,IAAIL,EAAEsX,UAAUrQ,IAAImD,GAAG,SAASpK,EAAEkM,IAAIC,QAAQzG,IAAIA,EAAE1F,EAAEkM,IAAIC,MAAMxG,EAAE8R,gBAAgBnJ,EAAExH,EAAEqH,EAAEzI,EAAEP,IAAI,MAAMpF,EAAEC,EAAEsX,UAAUpQ,IAAIkD,GAAG,IAAIrK,EAAEwX,iBAAiB,SAASxX,EAAE2X,oBAAoBtV,GAAG,MAAM9B,EAAEP,EAAE4X,yBAAwB7X,EAAAA,EAAAA,IAAEQ,KAAK8B,EAAEwH,QAAQtJ,GAAGgO,EAAE1F,oBAAoB,YAAY5I,EAAE0G,WAAWC,KAAKpG,IAAIP,EAAEkM,IAAIC,MAAM/J,EAAE6B,mBAAmB7D,EAAAA,GAAAA,MAAQJ,EAAEkE,WAAW,KAAK9B,EAAE6B,mBAAmB7D,EAAAA,GAAAA,QAAU,IAAI,KAAKgC,EAAEyH,aAAa3J,EAAAA,GAAAA,UAAYH,EAAEwX,iBAAiB/W,EAAAA,EAAAA,aAAe4O,YAAYC,kBAAkBtP,EAAE6X,kBAAkB5X,EAAE6X,eAAe9X,EAAEwX,iBAAiB,EAAE,CAAC,ECAhyC,MAAMlX,GAAE,EAAE,MAAM,MAAM+B,WAAU5B,EAAAA,EAAE6B,cAAcC,SAASC,WAAWC,KAAKsV,oBAAoB,CAACjC,IAAG,EAAGC,SAAQ,GAAItT,KAAKuV,uBAAuB,CAAClC,IAAG,EAAG,CAAC3S,UAAU,CAAC8S,SAASlW,EAAEE,GAAG,MAAMqL,aAAa/K,EAAEkW,UAAUzW,EAAEiY,WAAW/X,EAAEsW,aAAa/V,EAAEyV,cAAc7V,GAAGN,EAAE,IAAIS,GAAE,EAAG,IAAI,MAAMX,KAAKI,EAAE,GAAGJ,EAAE0X,UAAUrQ,IAAI7G,GAAG,CAAC,MAAMN,EAAEF,EAAE0X,UAAUpQ,IAAI9G,GAAG,GAAGN,EAAEmY,eAAe,GAAGnY,EAAEoY,kBAAkB,EAAE,CAAC3X,GAAE,EAAG,KAAK,CAAC,CAAC,IAAIA,EAAE,OAAO,MAAMJ,EAAEL,EAAEqW,WAAWrP,EAAE3G,EAAEgY,iBAAiB,gBAAgB9X,OAAE,IAASyG,EAAE1E,EAAE/B,GAAGyG,EAAEsR,aAAa,IAAInT,EAAE,GAAG5E,IAAI+B,EAAE,CAAC,MAAMtC,EAAEgH,EAAEuR,SAAS/X,GAAG2E,EAAEzE,EAAEkW,sBAAsB5W,GAAE,EAAG,CAAC,MAAMY,GAAGL,GAAGF,EAAEmW,cAAc,iBAAiBhW,GAAG,IAAsQ+F,EAAlQlB,GAAE,EAAG1E,EAAE,EAAE,IAAIJ,EAAE,CAAC,MAAMP,EAAEK,EAAEgY,iBAAiB,cAAcnY,EAAEG,EAAEgY,iBAAiB,gBAAgB,IAAIrY,GAAGsY,eAAepY,GAAGoY,aAAa,CAAC,MAAMtY,EAAEK,EAAEmW,cAAc,aAAahW,GAAGG,EAAEN,EAAEmW,cAAc,eAAehW,GAAGR,EAAE,GAAGW,GAAG,IAAI0E,GAAE,EAAG,CAAC,CAAC,GAAGA,GAAG,WAAWlF,EAAE,OAAaF,IAAIH,EAAAA,GAAAA,UAAYyG,GAAEnG,EAAAA,GAAAA,IAAEE,EAAE,IAAI,MAAMgK,EAAEjK,EAAEmW,cAAc,iBAAiBhW,GAAGuF,EAAE1F,EAAEmW,cAAc,wBAAwBhW,IAAI6E,GAAG,gBAAgBlF,IAAIuC,KAAK8V,UAAUxY,EAAEM,EAAED,EAAEH,EAAEoK,EAAEvE,EAAExF,EAAE4E,EAAE7C,EAAEiE,GAAG,MAAMd,GAAGpF,EAAEoY,2BAA2BpY,EAAEqY,sBAAsB/X,EAAE,EAAEC,GAAG,WAAWT,IAAIsF,GAAG/C,KAAKiW,aAAa3Y,EAAEM,EAAED,EAAEH,EAAEoK,EAAEvE,EAAEQ,EAAE,CAACiS,UAAUpY,EAAEM,EAAE4B,EAAE6C,EAAEvE,EAAEyE,EAAE1E,EAAE4F,EAAE+D,EAAEvE,GAAG,GAAGpF,IAAI2J,IAAGtK,EAAAA,EAAAA,IAAEuG,GAAG,OAAO,MAAMhD,QAAQkC,EAAE8F,aAAajF,EAAE2B,MAAMoG,EAAEqI,UAAUxQ,EAAElC,QAAQ6B,EAAEsC,WAAW8G,EAAEwH,aAAahS,EAAEQ,cAAcW,EAAEV,mBAAmBgK,GAAG9O,EAAES,EAAEyB,EAAEsW,aAAa9X,EAAE+E,EAAE0Q,2BAA2B/H,EAAES,EAAE9O,EAAAA,EAAE,EAAE,EAAEqK,EAAEtE,IAAIpG,EAAAA,GAAAA,QAAU+Y,EAAEnW,KAAKsV,oBAAoBa,EAAE9C,GAAGvL,EAAEqO,EAAE7C,QAAQrV,EAAE,MAAMmY,EAAEhY,EAAE6N,mBAAmBlJ,EAAE5E,EAAEgY,GAAG,GAAG3J,IAAGhP,EAAAA,EAAAA,IAAE0F,KAAKkT,EAAE1T,WAAW,YAAYQ,IAAI,GAAGH,EAAEK,WAAWgT,IAAG5Y,EAAAA,EAAAA,IAAEqG,GAAG,CAAC,MAAMwQ,KAAK/W,GAAGuG,EAAE/F,EAAEiE,EAAEuS,YAAYhX,IAAGE,EAAAA,EAAAA,IAAEM,KAAKiE,EAAEoE,KAAKpD,EAAEnF,EAAAA,GAAAA,OAASN,EAAEC,EAAAA,IAAG6Y,EAAE9P,cAAc,eAAexI,GAAGsY,EAAE/P,aAAa,YAAY9I,EAAAA,IAAG,CAAC6Y,EAAEhQ,oBAAoB,gBAAgBzD,IAAI7E,GAAAA,GAAAA,SAAW6N,EAAExE,YAAYwE,EAAExC,iBAAiBiN,EAAE9P,cAAc,oBAAoBpI,GAAGkY,EAAE7P,aAAa,UAAU3G,EAAE4U,EAAE3W,IAAGiK,GAAGsO,EAAElP,cAAc,OAAO7D,GAAG,IAAI2I,GAAG,EAAE,IAAI,MAAMlO,KAAK2E,EAAE,CAAC,IAAI3E,EAAEgX,UAAUrQ,IAAIzG,GAAG,SAASF,EAAE4L,IAAIC,QAAQqC,IAAIA,EAAElO,EAAE4L,IAAIC,MAAMxL,EAAE8W,gBAAgBmB,EAAExS,EAAEhE,EAAEoM,EAAEjK,IAAI,MAAMtE,EAAEK,EAAEgX,UAAUpQ,IAAI1G,GAAG,IAAIP,EAAEgY,eAAe,SAAShY,EAAEyX,oBAAoBnS,GAAG,MAAM3F,EAAEK,EAAE4Y,sBAAsB,KAAI/Y,EAAAA,EAAAA,IAAEF,GAAG,CAAC,GAAG2F,EAAEqE,QAAQhK,GAAGgZ,EAAEhQ,oBAAoB,YAAYtI,EAAEoG,WAAWC,KAAKpB,EAAEtB,mBAAmB1D,EAAAA,GAAAA,MAAQD,EAAE4D,WAAW,KAAKzD,EAAE,CAAC,MAAMX,EAAEoI,KAAKsF,IAAI,IAAItF,KAAKC,MAAM/B,GAAG9F,EAAE4L,IAAIC,OAAO,GAAGnM,EAAEM,EAAE2W,QAAQ3I,EAAEhO,EAAEgF,MAAMxF,GAAG8Y,EAAE7P,aAAa,kBAAkB/I,EAAE,CAAC,GAAGoK,EAAE,CAAC,MAAMtK,EAAEG,EAAE6Y,WAAW,IAAIhZ,EAAE,SAAS,IAAI,MAAMQ,EAAEL,KAAKH,EAAE,CAAC,MAAMA,EAAEyE,EAAEuS,YAAYxW,IAAGN,EAAAA,EAAAA,IAAEF,KAAKyE,EAAEoE,KAAKpD,EAAEnF,EAAAA,GAAAA,OAASE,EAAEP,EAAAA,IAAG6Y,EAAE9P,cAAc,eAAehJ,GAAG8Y,EAAE/P,aAAa,YAAY9I,EAAAA,IAAGwF,EAAEsE,aAAa1J,EAAAA,GAAAA,UAAYF,EAAE,GAAG6G,EAAAA,EAAAA,aAAesI,YAAYC,kBAAkBpP,EAAE,IAAI,CAAC,MAAMsF,EAAEsE,aAAa1J,EAAAA,GAAAA,UAAYF,EAAEgY,eAAenR,EAAAA,EAAAA,aAAesI,YAAYC,kBAAkBpP,EAAE8Y,gBAAgBzY,EAAEuX,eAAe5X,EAAEgY,eAAe,CAAC,CAAC,CAAC,CAACQ,aAAa1Y,EAAEE,EAAEC,EAAEM,EAAEJ,EAAEgC,EAAE6C,GAAG,MAAM5B,QAAQ3C,EAAE2K,aAAalG,EAAE4C,MAAMtH,EAAE+V,UAAUnQ,EAAEvC,QAAQsG,EAAEnC,WAAWpC,EAAE0Q,aAAahR,EAAER,cAAcqB,EAAEpB,mBAAmBmJ,GAAGpO,EAAEiG,EAAE9F,EAAE8Y,gBAAgBrT,EAAEyE,EAAEiM,2BAA2BtH,EAAE,IAAIlJ,EAAEtB,EAAE8B,IAAIzG,EAAAA,GAAAA,QAAU8F,EAAElD,KAAKuV,uBAAuBrS,EAAEmQ,GAAGtR,EAAE,MAAMyK,EAAErJ,EAAE8I,mBAAmB/N,EAAEsF,EAAEN,GAAG,GAAGyI,IAAGnO,EAAAA,EAAAA,IAAEoG,KAAK4I,EAAE9J,WAAW,YAAYkB,IAAI1F,EAAEkF,WAAWoJ,GAAGA,EAAEpG,oBAAoB,gBAAgBxG,IAAI9B,GAAAA,GAAAA,SAAWG,EAAEkJ,YAAYlJ,EAAEkL,iBAAiBqD,EAAElG,cAAc,oBAAoB1I,GAAG4O,EAAEjG,aAAa,UAAU7I,EAAE8W,EAAE3W,IAAG2O,EAAEjG,aAAa,kBAAkBgG,GAAGxK,GAAGyK,EAAEtF,cAAc,OAAOzE,GAAG,IAAItE,GAAG,EAAE,IAAI,MAAMX,KAAKQ,EAAE,CAAC,IAAIR,EAAEsX,UAAUrQ,IAAIhH,GAAG,SAASD,EAAEkM,IAAIC,QAAQxL,IAAIA,EAAEX,EAAEkM,IAAIC,MAAMnG,EAAEyR,gBAAgBzI,EAAE7J,EAAEjF,EAAES,EAAE4E,IAAI,MAAMjF,EAAEN,EAAEsX,UAAUpQ,IAAIjH,GAAG,GAAGK,EAAEoX,oBAAoBhX,IAAIJ,EAAE4X,kBAAkB,SAAS,MAAMnY,EAAEO,EAAE2Y,0BAAyBnZ,EAAAA,EAAAA,IAAEC,KAAKW,EAAEkJ,QAAQ7J,GAAGiP,EAAEpG,oBAAoB,YAAY5I,EAAE0G,WAAWC,KAAKjG,EAAEuD,mBAAmB1D,EAAAA,GAAAA,MAAQP,EAAEkE,WAAW,KAAKxD,EAAEmJ,aAAa1J,EAAAA,GAAAA,UAAYG,EAAE4X,kBAAkBpR,EAAAA,EAAAA,aAAesI,YAAYC,kBAAkB/O,EAAE4Y,mBAAmBlZ,EAAE6X,eAAevX,EAAE4X,kBAAkB,EAAE,CAAC,ECA/zH,MAAM/X,WAAUD,EAAAA,EAAEmC,cAAcC,SAASC,WAAWC,KAAKoT,gBAAgB,CAACC,IAAG,EAAGC,SAAQ,EAAGqD,KAAI,EAAG,CAACjW,UAAU,CAAC8S,SAAS9V,EAAEC,GAAG,MAAMkD,QAAQhD,EAAEgL,aAAavE,EAAEiB,MAAM9C,EAAEuR,UAAU9V,EAAEoD,QAAQqB,EAAE8C,WAAW5B,EAAEkQ,aAAa1Q,EAAEoQ,cAAcxV,EAAEsE,cAAcqF,EAAEpF,mBAAmBgB,GAAG9F,EAAE,IAAIC,EAAEkX,MAAMrX,GAAGA,EAAEsX,UAAUpQ,IAAIzG,IAAI2Y,iBAAgB,IAAK,OAAO,MAAMhT,EAAElG,EAAEiW,WAAW5Q,EAAEa,EAAEiT,aAAa1T,EAAER,EAAEkR,2BAA2BlI,EAAE/H,EAAEkQ,cAAc,iBAAiBxP,GAAGiI,EAAE3I,EAAEkQ,cAAc,wBAAwBxP,GAAGpB,EAAEU,EAAE+R,iBAAiB,gBAAgB7J,OAAE,IAAS5I,EAAE9E,EAAE0N,GAAG5I,EAAE0S,aAAa,IAAIpJ,EAAE4J,EAAE,GAAGtK,IAAI1N,EAAE,CAAC,MAAMZ,EAAE0F,EAAE2S,SAASvR,GAAGkI,EAAEnJ,EAAE6Q,sBAAsB1W,EAAE,CAAC,IAAIuE,GAAE,EAAG,IAAI+J,EAAE,CAAC,MAAMtO,EAAEoG,EAAE+R,iBAAiB,kBAAkB,GAAGS,OAAE,IAAS5Y,EAAEuE,EAAEqU,GAAG5Y,EAAEoY,aAAaQ,IAAIrU,EAAE,CAAC,MAAMzE,EAAEE,EAAEqY,SAASvR,GAAGxG,EAAE8F,EAAEkT,WAAWxZ,EAAEsG,EAAEmT,eAAe,WAAWzS,IAAIkI,EAAEnJ,EAAE6Q,sBAAsBpW,EAAE,CAAC,CAAC,MAAMK,EAAE,EAAE0F,EAAEiE,EAAE5J,IAAIX,EAAAA,GAAAA,QAAUmG,EAAE1D,KAAKoT,gBAAgB1P,EAAE2P,GAAGvL,EAAEpE,EAAE4P,QAAQxH,EAAEpI,EAAEiT,IAAIP,EAAE,MAAMvT,EAAEM,EAAE8I,mBAAmBpO,EAAEkF,EAAEW,GAAG,GAAGF,IAAGhG,EAAAA,EAAAA,IAAEoK,KAAK/E,EAAEH,WAAW,YAAYkF,IAAI,GAAG/J,EAAEuF,WAAWP,GAAGA,EAAEuD,oBAAoB,oBAAoB3D,EAAE0G,iBAAiBtG,EAAEuD,oBAAoB,gBAAgBmG,IAAIzO,GAAAA,GAAAA,SAAW2E,EAAE0E,YAAY1E,EAAE0G,iBAAiBtG,EAAEyD,cAAc,oBAAoBqF,GAAG9I,EAAE0D,aAAa,UAAU3C,EAAE4Q,GAAG3R,EAAE0D,aAAa,iBAAiBpI,GAAG2J,EAAE,CAAC,MAAMtK,GAAEC,EAAAA,GAAAA,IAAEQ,EAAE,GAAG4E,EAAEqE,cAAc,OAAO1J,EAAE,CAAC,GAAGgP,IAAGhP,EAAAA,EAAAA,IAAEgP,GAAG,CAAC,MAAM6H,KAAK/W,GAAGkP,EAAE1O,EAAEuF,EAAEiR,YAAYhX,IAAGE,EAAAA,EAAAA,IAAEM,KAAKuF,EAAE8C,KAAKtI,EAAED,EAAAA,GAAAA,OAASN,EAAEF,EAAAA,IAAGyF,EAAEyD,cAAc,eAAexI,GAAG+E,EAAEwD,aAAa,YAAYjJ,EAAAA,IAAG,CAAC,IAAIoX,GAAG,EAAE,IAAI,MAAM1W,KAAKH,EAAE,CAAC,IAAIG,EAAEgX,UAAUrQ,IAAIxG,GAAG,SAASH,EAAE4L,IAAIC,QAAQ6K,IAAIA,EAAE1W,EAAE4L,IAAIC,MAAM5G,EAAEkS,gBAAgBpS,EAAEyB,EAAEV,EAAE4Q,EAAEnR,IAAI,MAAM9F,EAAE,IAAI+G,EAAEkQ,GAAG3Q,EAAEhB,EAAE0D,aAAa,eAAehJ,GAAG,MAAME,EAAEK,EAAEgX,UAAUpQ,IAAIzG,GAAG,IAAIR,EAAEmZ,eAAe,SAASnZ,EAAEyX,oBAAoBrX,GAAG,MAAMH,EAAED,EAAEuZ,sBAAsB,KAAI1Z,EAAAA,EAAAA,IAAEI,GAAG,CAAC,GAAGG,EAAEuJ,QAAQ1J,GAAGmF,EAAEuD,oBAAoB,YAAYtI,EAAEoG,WAAWC,KAAKtG,EAAE4D,mBAAmBzD,EAAAA,GAAAA,MAAQF,EAAE4D,WAAW,KAAKtD,GAAG2D,EAAE,CAAC,MAAMzE,EAAEG,EAAE6Y,WAAW,IAAIhZ,EAAE,SAAS,IAAI,MAAMQ,EAAEP,KAAKD,EAAE,CAAC,MAAMA,EAAE+F,EAAEiR,YAAYxW,IAAGN,EAAAA,EAAAA,IAAEF,KAAK+F,EAAE8C,KAAKtI,EAAED,EAAAA,GAAAA,OAASE,EAAEV,EAAAA,IAAGyF,EAAEyD,cAAc,eAAehJ,GAAGuF,EAAEwD,aAAa,YAAYjJ,EAAAA,IAAGS,EAAEwJ,aAAatJ,EAAAA,GAAAA,UAAYR,EAAE,GAAGqC,EAAAA,EAAAA,aAAegN,YAAYC,kBAAkBtP,EAAE,IAAI,CAAC,MAAMM,EAAEwJ,aAAatJ,EAAAA,GAAAA,UAAYN,EAAEmZ,eAAehX,EAAAA,EAAAA,aAAegN,YAAYC,kBAAkBpP,EAAEwZ,gBAAgBnZ,EAAEuX,eAAe5X,EAAEmZ,eAAe,CAAC,CAAC,CAAC,E,uCCAr9D,MAAM7U,GAAE,EAAE,MAAM,MAAMsB,WAAUxF,EAAAA,EAAEgC,cAAcC,SAASC,WAAWC,KAAKkX,oBAAoB,CAAC7D,IAAG,EAAGsD,KAAI,GAAI3W,KAAKmX,mBAAmB,CAAC9D,IAAG,GAAIrT,KAAKoX,qBAAoBtZ,EAAAA,GAAAA,IAAG,CAAC4C,UAAU,CAAC8S,SAAShW,EAAEF,GAAG,MAAM0W,UAAUlW,EAAE2V,cAAchW,GAAGD,EAAED,EAAEC,EAAEmW,WAAW,IAAI/V,EAAEE,IAAIH,EAAAA,GAAAA,UAAYC,GAAE6E,EAAAA,GAAAA,IAAEhF,EAAE,IAAIuC,KAAKqX,WAAW7Z,EAAED,EAAED,EAAEM,GAAGoC,KAAKsX,UAAU9Z,EAAED,EAAED,EAAEM,EAAE,CAACyZ,WAAWvZ,EAAEL,EAAEM,EAAE0E,GAAG,MAAM5B,QAAQhD,EAAEgL,aAAavE,EAAE0P,UAAU9V,EAAEoD,QAAQqB,EAAEoR,aAAa9V,EAAEsH,MAAMxD,EAAE0R,cAAcpQ,EAAEd,cAAcQ,EAAEP,mBAAmBmJ,GAAG7N,EAAE0F,EAAE/F,EAAE8Z,aAAa1T,EAAElB,EAAEkR,2BAA2B,IAAI1Q,EAAEyE,GAAE,EAAG,IAAI,MAAMpK,KAAKO,EAAE,GAAGP,EAAEsX,UAAUrQ,IAAIpB,KAAKF,EAAE3F,EAAEsX,UAAUpQ,IAAIrB,GAAGF,EAAEqU,uBAAuBlQ,KAAK,GAAG,CAACM,GAAE,EAAG,KAAK,CAAC,IAAIA,EAAE,OAAO,MAAM2E,EAAE9O,EAAEqW,cAAc,iBAAiBxP,GAAGV,EAAEnG,EAAEqW,cAAc,wBAAwBxP,GAAG,IAAIkI,EAAE/O,EAAEsZ,eAAe,0BAA0BzS,GAAGkI,IAAI5O,GAAAA,GAAAA,OAAS4O,EAAE/O,EAAEsZ,eAAe,mBAAmBzS,KAAKlH,GAAAA,EAAAA,MAAQQ,GAAAA,GAAAA,SAAWA,GAAAA,GAAAA,KAAO,MAAMsF,EAAEsJ,IAAI5O,GAAAA,GAAAA,IAAMwY,EAAE3Y,EAAEsZ,eAAe,oBAAoBzS,IAAIpB,EAAE/E,EAAEgF,EAAEsU,UAAU3P,EAAE5J,IAAIP,EAAAA,GAAAA,QAAUmO,EAAE9L,KAAKkX,oBAAoBpL,EAAEuH,GAAGvL,EAAEgE,EAAE6K,IAAIxY,EAAE,MAAM6N,EAAEnI,EAAEoI,mBAAmBpO,EAAE2F,EAAEsI,GAAG,GAAGH,IAAGnO,EAAAA,EAAAA,IAAEuF,KAAKiJ,EAAEtJ,WAAW,YAAYK,IAAIlF,EAAEuF,WAAW4I,GAAGA,EAAE5F,oBAAoB,oBAAoBoG,IAAI5O,GAAAA,GAAAA,IAAMmE,EAAEoH,gBAAgBpH,EAAEoF,aAAa6E,EAAE5F,oBAAoB,gBAAgBxC,IAAIlG,GAAAA,GAAAA,SAAWqE,EAAEoF,YAAYpF,EAAEoH,iBAAiB6C,EAAE1F,cAAc,oBAAoBiG,GAAGP,EAAEzF,aAAa,UAAU9I,EAAE+W,GAAGxI,EAAEzF,aAAa,iBAAgB3G,EAAAA,GAAAA,IAAEmC,EAAE6D,WAAWoG,EAAEzF,aAAa,gBAAgB6P,EAAE,EAAE,GAAGpK,EAAEzF,aAAa,UAAU,GAAGjC,GAAG0H,EAAE3F,aAAa,YAAYrI,EAAAA,IAAGgO,EAAEzF,aAAa,iBAAiBhJ,GAAAA,GAAE,KAAKuK,GAAGkE,EAAE9E,cAAc,OAAOzE,GAAG,IAAIrE,GAAG,EAAE,IAAI,MAAMZ,KAAKO,EAAE,CAAC,IAAIP,EAAEsX,UAAUrQ,IAAIpB,GAAG,SAAS,GAAG7F,EAAEkM,IAAIC,QAAQvL,IAAIA,EAAEZ,EAAEkM,IAAIC,MAAMnG,EAAEyR,gBAAgBjJ,EAAE1H,EAAE7G,EAAEW,EAAEH,IAAIkF,EAAE3F,EAAEsX,UAAUpQ,IAAIrB,GAAG,IAAIF,EAAEqU,uBAAuBlQ,KAAK,SAASnE,EAAE+R,oBAAoBrX,GAAGsF,EAAEuU,oBAAoB,MAAMna,EAAE4F,EAAEwU,sBAAsB,KAAIra,EAAAA,EAAAA,IAAEC,GAAG,CAACM,EAAEuJ,QAAQ7J,GAAGyO,EAAE5F,oBAAoB,YAAY5I,EAAE0G,WAAWC,KAAK6H,EAAEzF,aAAa,UAAUqR,YAAYC,MAAM1U,EAAE2U,mBAAmB,KAAK,IAAI,MAAMxa,EAAEG,KAAK0F,EAAEqU,uBAAuBxX,KAAK+X,iBAAiBja,EAAEkO,EAAEvO,EAAEH,EAAEE,EAAE,CAAC,CAAC,CAACua,iBAAiBva,EAAEF,EAAEQ,EAAEL,EAAEF,GAAG,MAAMsD,QAAQjD,EAAEmW,aAAa3W,GAAGI,EAAEwC,KAAKoX,oBAAoB,GAAGha,EAAE4a,SAASva,GAAG,EAAEuC,KAAKoX,oBAAoB,GAAGha,EAAE6a,UAAUxa,GAAG,EAAEH,EAAEgJ,cAAc,eAAetG,KAAKoX,qBAAqBha,EAAE+I,KAAKvI,EAAE0G,EAAAA,GAAAA,OAAS7G,EAAEO,EAAAA,IAAGJ,EAAEsD,uBAAsB,GAAItD,EAAE6D,mBAAmBvD,EAAAA,GAAAA,QAAU,IAAI,KAAKN,EAAEqD,oBAAoB,GAAGrD,EAAEyJ,aAAa1E,EAAAA,GAAAA,UAAY7E,EAAE,GAAGG,EAAAA,EAAAA,aAAe2O,YAAYC,kBAAkB/O,EAAE,IAAIP,EAAE8X,eAAevX,EAAE,GAAG,CAAC,CAACwZ,UAAUxZ,EAAEE,EAAEyE,EAAE5E,GAAG,MAAMgD,QAAQyD,EAAEuE,aAAalG,EAAEqR,UAAU/V,EAAEia,YAAY7U,EAAE/B,QAAQyB,EAAE0C,WAAWkG,EAAEoI,aAAavQ,EAAE+B,MAAM1B,EAAE4P,cAActQ,EAAEZ,cAAcqF,EAAEpF,mBAAmB+J,GAAGzO,EAAE8F,EAAE5F,EAAEma,aAAa3L,EAAEzJ,EAAE8Q,2BAA2B,IAAI3Q,EAAEkT,GAAE,EAAG,IAAI,MAAM5Y,KAAKiF,EAAE,GAAGjF,EAAEsX,UAAUrQ,IAAItB,KAAKD,EAAE1F,EAAEsX,UAAUpQ,IAAIvB,GAAGD,EAAEkV,wBAAwB9Q,KAAK,GAAG,CAAC8O,GAAE,EAAG,KAAK,CAAC,IAAIA,EAAE,OAAO,MAAMjY,EAAEH,EAAE2X,iBAAiB,gBAAgB,GAAGxX,IAAIA,EAAEyX,cAAc,IAAIzX,EAAE0X,SAASlT,GAAG,OAAO,MAAMmF,EAAE9J,EAAE2X,iBAAiB,cAAc7J,GAAGhE,GAAGA,EAAE8N,cAAc9N,EAAE+N,SAASlT,GAAG,GAAG,EAAEqJ,EAAEhO,EAAE2X,iBAAiB,mBAAmBvX,EAAEJ,EAAE2X,iBAAiB,mBAAmB9S,IAAImJ,GAAGA,EAAE4J,cAAc5J,EAAE6J,SAASlT,GAAG,MAAMvE,GAAGA,EAAEwX,cAAcxX,EAAEyX,SAASlT,GAAG,GAAG,GAAG,IAAImJ,IAAIjJ,EAAE,OAAO,MAAM2R,EAAE,EAAK,IAAIP,EAAEjW,EAAE+Y,eAAe,0BAA0BpU,GAAGsR,IAAIrW,GAAAA,GAAAA,OAASqW,EAAEjW,EAAE+Y,eAAe,mBAAmBpU,KAAKvF,GAAAA,EAAAA,MAAQQ,GAAAA,GAAAA,SAAWA,GAAAA,GAAAA,KAAO,MAAM8F,EAAEuQ,IAAIrW,GAAAA,GAAAA,IAAMmO,EAAE/N,EAAE+Y,eAAe,oBAAoBpU,IAAIe,EAAE2U,EAAEpa,IAAIN,EAAAA,GAAAA,QAAUwY,EAAE,GAAG3B,EAAE7I,EAAE3L,KAAKsY,oBAAoBtY,KAAKsY,mBAAkB7a,EAAAA,GAAAA,GAAE4F,EAAEP,MAAM,EAAEO,EAAEL,OAAO,IAAI,MAAM2M,EAAE3R,EAAE8V,cAAc,iBAAiBnR,GAAG+N,EAAE1S,EAAE8V,cAAc,wBAAwBnR,GAAG4V,EAAEvY,KAAKmX,mBAAmBoB,EAAElF,GAAGgF,EAAE,MAAMG,EAAEhM,EAAEP,mBAAmB3H,EAAEV,EAAE2U,GAAG,GAAGhM,IAAG/O,EAAAA,EAAAA,IAAEoK,KAAK4Q,EAAE9V,WAAW,YAAYkF,IAAItD,EAAElB,WAAWoV,GAAGA,EAAEpS,oBAAoB,oBAAoB6N,IAAIrW,GAAAA,GAAAA,IAAMiG,EAAEsF,gBAAgBtF,EAAEsD,aAAaqR,EAAEpS,oBAAoB,gBAAgBsK,IAAIhT,GAAAA,GAAAA,SAAWmG,EAAEsD,YAAYtD,EAAEsF,iBAAiBqP,EAAElS,cAAc,oBAAoBqJ,GAAG6I,EAAEjS,aAAa,UAAUvI,EAAEwW,EAAEzS,IAAGyW,EAAElS,cAAc,eAAetG,KAAKsY,mBAAmBE,EAAEjS,aAAa,iBAAgB3G,EAAAA,GAAAA,IAAEiE,EAAE+B,WAAW4S,EAAEjS,aAAa,gBAAgBwF,EAAE,EAAE,GAAGyM,EAAEjS,aAAa,UAAU,GAAG5D,GAAG6V,EAAEnS,aAAa,YAAYtI,EAAAA,IAAGya,EAAEjS,aAAa,sBAAsB4P,GAAGqC,EAAEjS,aAAa,iBAAiBhJ,GAAAA,GAAE,KAAK8a,GAAGG,EAAEtR,cAAc,OAAOrJ,GAAG,IAAI4a,GAAG,EAAE,IAAI,MAAMjb,KAAKiF,EAAE,CAAC,IAAIjF,EAAEsX,UAAUrQ,IAAItB,GAAG,SAAS,GAAG3F,EAAEkM,IAAIC,QAAQ8O,IAAIA,EAAEjb,EAAEkM,IAAIC,MAAM/F,EAAEqR,gBAAgBuD,EAAE7V,EAAE3E,EAAEya,EAAEjV,IAAIN,EAAE1F,EAAEsX,UAAUpQ,IAAIvB,GAAG,IAAID,EAAEkV,wBAAwB9Q,KAAK,SAASpE,EAAEgS,oBAAoB5Q,GAAGpB,EAAEwU,oBAAoB,MAAM5Z,EAAEoF,EAAEwV,sBAAsB,IAAGpb,EAAAA,EAAAA,IAAEQ,GAAG,SAASwG,EAAE8C,QAAQtJ,GAAG0a,EAAEpS,oBAAoB,YAAY5I,EAAE0G,WAAWC,KAAKG,EAAEpD,uBAAsB,GAAIoD,EAAE7C,mBAAmBvD,EAAAA,GAAAA,QAAU,IAAI,KAAKoG,EAAErD,oBAAoB,GAAG,MAAMxD,GAAGma,YAAYC,MAAM3U,EAAE4U,mBAAmB,IAAIU,EAAEjS,aAAa,SAAS9I,GAAGyF,EAAEkV,wBAAwBO,SAAS,CAACrb,EAAEQ,KAAKkC,KAAK4Y,kBAAkBtU,EAAEhH,EAAEQ,EAAEuF,EAAEmV,EAAE3V,EAAEiJ,EAAEtO,EAAE,GAAG,CAAC,CAACob,kBAAkBpb,EAAEF,EAAEQ,EAAEL,EAAEF,EAAEK,EAAER,EAAEM,GAAGD,EAAE0I,KAAK3I,EAAE8G,EAAAA,GAAAA,OAASxG,EAAEC,EAAAA,IAAGH,IAAIL,EAAEgJ,aAAa,SAAS,GAAG/I,EAAE6J,aAAa1E,EAAAA,GAAAA,UAAYrF,EAAE,GAAGW,EAAAA,EAAAA,aAAe2O,YAAYC,kBAAkBvP,EAAE,IAAII,EAAE2X,eAAe/X,EAAE,GAAG,GAAGF,IAAIG,EAAEgJ,aAAa,SAAS,GAAG/I,EAAE6J,aAAa1E,EAAAA,GAAAA,UAAYrF,EAAE,GAAGW,EAAAA,EAAAA,aAAe2O,YAAYC,kBAAkBvP,EAAE,IAAII,EAAE2X,eAAe/X,EAAE,GAAG,EAAE,ECA97K,MAAMsC,GAAEpC,IAAGE,EAAAA,EAAAA,IAAEF,EAAEkO,KAAK,CAAClF,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,OAAS,CAAC6I,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,eAAiB,CAAC6I,SAAS,EAAEjF,KAAK,UAAUkF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,cAAgBsN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,cAAgBsN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,eAAekF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,eAAiB,CAAC6I,SAAS,EAAEjF,KAAK,gCAAgCkF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,eAAiB,CAAC6I,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,eAAiB,CAAC6I,SAAS,EAAEjF,KAAK,iBAAiBkF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,OAAS,CAAC6I,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKxE,EAAAA,EAAAA,mBAAqB,MAAMI,WAAUP,EAAEiD,UAAU,CAACwH,kBAAkB,OAAO5K,EAAAA,GAAAA,KAAO,CAACoL,kBAAkBlL,GAAG,OAAM,CAAE,CAACmL,aAAarL,EAAEI,EAAED,EAAEO,GAAG,MAAM6C,QAAQyD,EAAEhD,QAAQ3D,EAAE4H,MAAM1H,EAAE2N,aAAazN,EAAEwE,cAAcE,EAAED,mBAAmBtE,GAAGZ,EAAEW,EAAEb,EAAAA,GAAAA,KAAOK,EAAE+K,aAAa3E,EAAE5F,EAAE4a,WAAW,EAAE,EAAE,IAAIhV,GAAG6B,KAAKoT,IAAIpb,EAAEgM,IAAIC,MAAMjE,KAAKC,MAAM,IAAIrI,EAAEuL,cAAc,MAAM,EAAE,OAAO,MAAM7B,cAAc5I,EAAEiC,WAAW6C,GAAGtD,GAAE3B,GAAGuF,EAAE7F,EAAEsE,gBAAgBgK,mBAAmB3O,EAAEW,EAAE,kBAAkBiF,EAAElF,GAAG,GAAGE,IAAGV,EAAAA,EAAAA,IAAEiF,KAAKe,EAAEd,WAAW,YAAYD,IAAInF,EAAEuD,QAAQY,mBAAmBlE,EAAAA,GAAAA,MAAQ,EAAE,KAAK+G,EAAElB,WAAWI,GAAGxD,KAAK4I,mBAAmBpF,EAAElG,EAAEI,GAAGC,EAAE2O,eAAehE,aAAahE,EAAEd,EAAEvF,GAAG,MAAM0N,EAAE,IAAI9H,EAAEhG,EAAEsL,gBAAgBtL,EAAEsJ,YAAYnH,KAAKoJ,mBAAmBnL,EAAEuF,EAAEzF,EAAEL,GAAG8F,EAAE+C,aAAa,gBAAgBb,KAAKqT,MAAMlb,EAAE+H,SAAS,IAAI,MAAMpC,EAAE+C,aAAa,eAAe1C,GAAGL,EAAE4C,oBAAoB,gBAAgBuF,GAAGnI,EAAE+C,aAAa,YAAY,GAAG/C,EAAE8C,cAAc,eAAehJ,EAAEiI,MAAM+B,MAAM9D,EAAE+C,aAAa,WAAW,GAAG,MAAM5D,EAAElF,EAAEgP,OAAO1F,OAAOzC,EAAElG,EAAE8E,GAAG6I,EAAEtO,EAAEkP,UAAUC,YAAYC,kBAAkBvI,EAAE8C,QAAQzE,GAAG2B,EAAE+C,aAAavJ,EAAAA,GAAAA,UAAYL,EAAEiP,WAAW9O,EAAAA,EAAAA,aAAemO,GAAGvI,EAAE+C,aAAa,WAAW,GAAGjC,EAAE+C,aAAavJ,EAAAA,GAAAA,UAAYL,EAAEiP,WAAW9O,EAAAA,EAAAA,aAAemO,GAAGzH,EAAEpD,uBAAsB,GAAIoD,EAAExD,oBAAmB,EAAG,ECAjyD,MAAMlD,GAAEJ,IAAGE,EAAAA,EAAAA,IAAEF,EAAEkO,KAAK,CAAClF,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,OAAS,CAAC2I,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,eAAiB,CAAC2I,SAAS,EAAEjF,KAAK,UAAUkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,cAAgBoN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,oBAAoBkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,MAAQ,CAAC2I,SAAS,EAAEjF,KAAK,oCAAoCkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,gBAAkB,CAAC2I,SAAS,EAAEjF,KAAK,SAASkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,gBAAkB,CAAC2I,SAAS,EAAEjF,KAAK,qBAAqBkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,MAAQ,CAAC2I,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,gBAAkB,CAAC2I,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,mBAAqB,MAAM8B,WAAUnC,EAAEiD,UAAU,CAACwH,kBAAkB,OAAO5K,EAAAA,GAAAA,IAAM,CAACoL,kBAAkBlL,GAAG,OAAM,CAAE,CAACmL,aAAarL,EAAEI,EAAED,EAAEmC,GAAG,MAAMiB,QAAQ7C,EAAEsD,QAAQzD,EAAE2N,aAAa7N,EAAEkL,aAAapG,EAAEqG,YAAYxE,EAAE/B,cAAcrE,EAAEsE,mBAAmBvE,GAAGX,EAAES,EAAEX,EAAAA,EAAAA,KAAOK,EAAE+K,aAAa3E,GAAErG,EAAAA,EAAAA,IAAE8G,IAAI,YAAYA,EAAElC,KAAK,IAAIhE,EAAER,GAAEG,GAAG4E,EAAEpF,EAAAA,GAAAA,UAAYsG,IAAIzF,EAAE4B,KAAK4K,iBAAiBnN,EAAE+K,YAAYpK,GAAGuE,EAAEpF,EAAAA,GAAAA,QAAU,MAAM8C,WAAW6C,EAAE8D,cAAc2E,GAAGvN,EAAEoF,EAAE3F,EAAEoE,gBAAgBgK,mBAAmB3O,EAAES,EAAE,iBAAiBmF,EAAEtD,GAAG,GAAG3B,IAAGT,EAAAA,EAAAA,IAAEU,KAAKsF,EAAEd,WAAW,YAAYxE,IAAI,MAAM6N,EAAE,EAAEzO,EAAEmI,WAAW7B,EAAE,EAAE5F,EAAEoF,WAAWI,GAAGxD,KAAK4I,mBAAmBpF,EAAElG,EAAEI,GAAGK,EAAEsO,gBAAgBxO,EAAEyO,eAAehE,aAAatK,EAAEwF,EAAEzF,GAAG,MAAMwO,EAAE,IAAI9J,EAAE/E,EAAEgM,IAAIC,OAAOnG,EAAE+C,aAAa,eAAegG,GAAG/I,EAAE+C,aAAa,SAAS3C,EAAEmI,GAAGvI,EAAE+C,aAAa,iBAAiBwF,GAAG/L,KAAKoJ,mBAAmBrL,EAAEyF,EAAE7F,EAAED,GAAGsC,KAAKiK,8BAA8BlM,EAAEyF,EAAE7F,GAAGK,EAAE6I,uBAAsB,GAAI,MAAM2F,EAAE/O,EAAEgP,OAAO1F,OAAO/I,EAAE2N,EAAEzI,EAAEW,GAAG,IAAIhB,EAAEpF,EAAEiP,WAAWvJ,EAAE1F,EAAEkP,UAAUC,YAAYC,kBAAkBhJ,IAAIhB,GAAG,EAAEM,GAAG,GAAGnF,EAAEoJ,QAAQoF,GAAGxO,EAAEqJ,aAAa1E,EAAEE,EAAE/E,EAAAA,EAAAA,aAAeqF,EAAE,ECA/jD,MAAMvF,GAAEN,IAAGI,EAAAA,EAAAA,IAAEJ,EAAEoO,KAAK,CAAClF,SAAS,CAAC,CAACC,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,OAAS,CAAC2I,SAAS,EAAEjF,KAAK,OAAOkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,eAAiB,CAAC2I,SAAS,EAAEjF,KAAK,UAAUkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,cAAgBoN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,cAAgBoN,YAAW,GAAI,CAACzE,SAAS,EAAEjF,KAAK,gBAAgBkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,eAAiB,CAAC2I,SAAS,EAAEjF,KAAK,QAAQkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,MAAQ,CAAC2I,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,gBAAkB,CAAC2I,SAAS,EAAEjF,KAAK,iBAAiBkF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,OAAS,CAAC2I,SAAS,EAAEjF,KAAK,cAAckF,MAAM,EAAEtE,KAAKtE,EAAAA,EAAAA,mBAAqB,MAAM8B,WAAUnC,EAAEiD,UAAU,CAACwH,kBAAkB,OAAO1K,EAAAA,GAAAA,IAAM,CAACkL,kBAAkBpL,GAAG,OAAM,CAAE,CAACqL,aAAanL,EAAEE,EAAED,EAAEmC,GAAG,MAAMiB,QAAQ7C,EAAEsD,QAAQmB,EAAE+I,aAAa7N,EAAE4H,MAAMjB,EAAEwE,YAAY5K,EAAEqE,cAActE,EAAEuE,mBAAmB3E,GAAGL,EAAEO,EAAER,EAAAA,GAAAA,KAAOE,EAAE+K,aAAa3E,GAAEvG,EAAAA,EAAAA,IAAEY,IAAI,YAAYA,EAAEkE,MAAM4E,cAAc5I,EAAEiC,WAAW6C,GAAGtF,GAAEG,GAAG4N,EAAElJ,EAAER,gBAAgBgK,mBAAmBzO,EAAEO,EAAE,iBAAiBmF,EAAEtD,GAAG,GAAG/B,IAAGP,EAAAA,EAAAA,IAAEW,KAAK0N,EAAEjJ,WAAW,YAAYzE,IAAID,EAAEoF,WAAWuI,GAAG,IAAInI,EAAEpG,EAAAA,GAAAA,UAAYyG,IAAIL,EAAEpG,EAAAA,GAAAA,QAAU4C,KAAK4I,mBAAmB+C,EAAEnO,EAAEE,GAAG+E,EAAE6J,eAAehE,aAAatK,EAAE2N,EAAE5N,GAAG4N,EAAEvF,oBAAoB,gBAAgB9B,EAAE6C,aAAawE,EAAEvF,oBAAoB,oBAAoB9B,EAAE6E,iBAAiBnJ,KAAKoJ,mBAAmBrL,EAAE4N,EAAEhO,EAAED,GAAGsC,KAAKiK,8BAA8BlM,EAAE4N,EAAEhO,GAAGqC,KAAKwK,uBAAuBzM,EAAE4N,EAAEhO,GAAGgO,EAAEpF,aAAa,WAAW,GAAG,MAAMpD,EAAE1F,EAAEgP,OAAO1F,OAAO/I,EAAEI,EAAE8E,GAAG6I,EAAEtO,EAAEkP,UAAUC,YAAYC,kBAAkB7O,EAAEoJ,QAAQjE,GAAGnF,EAAEqJ,aAAajK,EAAAA,GAAAA,UAAYK,EAAEiP,WAAW5O,EAAAA,EAAAA,aAAeiO,GAAGJ,EAAEpF,aAAa,WAAW,GAAGvI,EAAEqJ,aAAa7D,EAAE/F,EAAEiP,WAAW5O,EAAAA,EAAAA,aAAeiO,EAAE,ECAxuB,MAAM3O,GAAE,CAAC4b,OAAOjN,EAAEkN,KAAK9a,GAAE+a,KAAKvW,EAAEwW,KAAKd,GAAEe,MAAM1V,GAAE2V,KAAKzZ,EAAE0Z,QAAQ3b,EAAAA,EAAE4b,OAAO7b,EAAE8b,QAAQlc,EAAEmc,OAAO7b,EAAE8b,SAASlc,EAAAA,EAAEmc,KAAKpc,EAAAA,EAAEqc,SAAS7X,EAAAA,EAAE8X,cAAcpX,GAAEqX,QAAQpJ,GAAEqJ,QAAQjO,GAAEkO,UAAUjc,GAAEkc,UAAUxc,GAAEyc,WAAWlc,EAAEmc,QAAQrc,EAAEsc,SAASvX,E,uGCAnoC,MAAM/E,UAAUL,EAAAA,EAAEoC,cAAcC,SAASC,WAAWC,KAAKqa,aAAa,CAACC,KAAK,EAAE9S,SAAQ5J,EAAAA,EAAAA,KAAIuL,iBAAgBvL,EAAAA,EAAAA,KAAI,CAAC8C,UAAU,CAACE,aAAatD,GAAG,MAAMuD,QAAQrD,GAAGF,EAAEE,EAAEwD,cAAa,GAAG,GAAG,GAAG,GAAIxD,EAAEiE,mBAAmBlE,EAAAA,GAAAA,MAAQ,EAAE,IAAI,CAAC4D,KAAKvD,EAAEH,GAAG,MAAM8E,cAAchF,EAAEiF,mBAAmB1E,GAAGF,GAAG2c,YAAY7c,GAAGD,EAAE,IAAGH,EAAAA,EAAAA,IAAEI,GAAG,OAAO,GAAG,WAAWA,EAAE6H,MAAM/D,MAAM9D,EAAE8c,OAAO5c,GAAG,aAAaF,EAAE6H,MAAM/D,KAAK,OAAO,MAAMxD,EAAEN,EAAE6H,MAAMkV,UAAU3c,IAAIE,EAAE0c,QAAOld,EAAAA,EAAAA,IAAED,GAAGA,KAAKyC,KAAKqa,aAAaC,KAAK1c,EAAE0c,KAAK,IAAIta,KAAKqa,aAAa7S,QAAQ/J,EAAEyG,WAAWC,IAAInE,KAAKqa,aAAalR,gBAAgBvL,EAAE2H,MAAM4D,gBAAgBzL,EAAEid,UAAUC,OAAOhd,EAAEoC,KAAKqa,aAAarc,GAAGN,EAAEid,UAAUE,WAAUrd,EAAAA,EAAAA,IAAED,IAAIA,IAAI,E,qGCA3mB,MAAMS,EAAE,IAAIX,aAAa,CAAC,mBAAmB,kBAAkB,kBAAkB,EAAE,iBAAiB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,iBAAiB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,mBAAmB,mBAAmB,IAAIQ,EAAE,CAACid,YAAY9c,EAAE+c,WAAW/c,EAAEgd,YAAYhd,EAAEid,YAAYjd,EAAEkd,YAAY,IAAI7d,aAAa,CAAC,kBAAkB,kBAAkB,kBAAkB,EAAE,mBAAmB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,GAAG,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,IAAI8d,iBAAiB,IAAI9d,aAAa,CAAC,kBAAkB,kBAAkB,EAAE,EAAE,kBAAkB,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI+d,gBAAgB,IAAI/d,aAAa,CAAC,kBAAkB,mBAAmB,GAAG,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,iBAAiB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,IAAIge,iBAAiB,IAAIhe,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,mBAAmB,EAAE,kBAAkB,mBAAmB,GAAG,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,iBAAiB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,IAAIie,aAAa,IAAIje,aAAa,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAIke,WAAW,IAAIle,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,MAAMiH,UAAU7G,EAAAA,EAAEoC,cAAcC,SAASC,WAAWC,KAAKC,MAAM,CAACub,OAAO,CAACrb,OAAO,gBAAgBC,OAAO,gBAAgBC,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,MAAMmb,OAAO,CAACtb,OAAO,gBAAgBC,OAAO,gBAAgBC,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,MAAM,CAACI,UAAU,CAACE,cAAcC,QAAQrD,IAAIA,EAAEsD,oBAAmB,GAAItD,EAAEuD,yBAAyBxD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBC,EAAEwD,cAAa,GAAG,GAAG,GAAG,GAAIxD,EAAEyD,oBAAoB,GAAGzD,EAAE0D,uBAAsB,GAAI1D,EAAEsJ,aAAalJ,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,QAAU,CAACuD,KAAK7D,EAAEG,GAAG,IAAGD,EAAAA,EAAAA,IAAEC,EAAEqG,SAAS,IAAIrG,EAAEqG,OAAO4X,gBAAgB,OAAO,MAAM7a,QAAQtD,EAAE8D,SAASzD,GAAGN,EAAE,GAAGM,EAAE2D,MAAMvB,KAAKwB,MAAMjE,EAAEkE,mBAAmB/D,EAAAA,GAAAA,MAAQD,EAAEiE,WAAW,KAAKjE,EAAEke,qBAAqBre,GAAG,WAAWA,EAAEkY,WAAW,CAAC,MAAMhY,EAAEC,EAAEme,QAAQH,OAAOje,GAAGwC,KAAK6b,aAAave,EAAEG,EAAED,EAAEse,IAAIte,EAAEue,aAAa,KAAK,CAAC,MAAMve,EAAEC,EAAEme,QAAQJ,OAAOhe,GAAGwC,KAAKgc,eAAe1e,EAAEG,EAAED,EAAEse,IAAIte,EAAEue,aAAa,CAACne,EAAE0E,IAAItC,KAAKwB,KAAK,CAACwa,eAAexe,EAAEC,EAAEF,EAAEK,GAAG,MAAMiD,QAAQnD,EAAE4D,QAAQtD,EAAEuE,cAAc+B,EAAE9B,mBAAmB5C,GAAGpC,GAAG2E,qBAAqBpE,GAAGN,EAAEE,EAAEI,EAAEke,UAAU,CAAC,aAAa,GAAG,eAAele,EAAEme,cAAcve,EAAEkH,KAAK,sBAAsB,MAAM5G,EAAED,EAAEiE,gBAAgBC,WAAWlC,KAAKC,MAAMub,OAAO7d,GAAG,GAAGiC,IAAGtC,EAAAA,EAAAA,IAAEgH,KAAKrG,EAAEyE,WAAW,YAAY4B,IAAI5G,EAAE0F,WAAWnF,GAAG,MAAM+F,WAAWrB,EAAEM,QAAQR,EAAEyB,WAAWhG,GAAGT,EAAEQ,EAAEqI,cAAc,eAAe3D,GAAG1E,EAAEsI,aAAa,YAAY9D,GAAGxE,EAAEmI,oBAAoB,YAAYlI,EAAEiG,KAAK,MAAMgY,MAAMvU,EAAEqU,UAAUpZ,EAAE+C,SAAS1C,EAAEkZ,mBAAmBra,GAAGhE,EAAEE,EAAEiJ,cAAc,WAAWrJ,EAAE+J,IAAI/J,EAAEyd,cAAcrd,EAAEqI,cAAc,cAAczD,GAAG5E,EAAEsI,aAAa,aAAarD,GAAGjF,EAAEqI,cAAc,uBAAuBvE,GAAG,MAAM5D,EAAE6B,KAAKqc,eAAe7e,EAAEC,GAAGQ,EAAEqI,cAAc,eAAenI,GAAGT,EAAE0J,QAAQ7J,GAAGG,EAAE2J,aAAajK,EAAAA,GAAAA,UAAYQ,EAAEE,EAAAA,EAAAA,aAAe,EAAE,CAAC+d,aAAare,EAAEC,EAAEF,EAAEK,GAAG,MAAMiD,QAAQnD,EAAE4D,QAAQtD,EAAEuE,cAAc1E,EAAE2E,mBAAmB8B,GAAG9G,GAAG2E,qBAAqBvC,GAAGnC,EAAEM,EAAE,GAAG,eAAe6B,EAAEuc,MAAMpe,EAAE8G,KAAK,eAAejF,EAAEqc,WAAWle,EAAE8G,KAAK,aAAa,eAAejF,EAAEsc,cAAcne,EAAE8G,KAAK,sBAAsB,MAAMlH,EAAEK,EAAEiE,gBAAgBC,WAAWlC,KAAKC,MAAMwb,OAAO1d,GAAG,GAAGuG,IAAGhH,EAAAA,EAAAA,IAAEO,KAAKF,EAAE+E,WAAW,YAAY7E,IAAIH,EAAE0F,WAAWzF,GAAG,MAAMqG,WAAW/F,EAAEgF,QAAQN,EAAEuB,WAAWzB,GAAGhF,EAAEE,EAAE2I,cAAc,eAAerI,GAAGN,EAAE4I,aAAa,YAAY5D,GAAGhF,EAAEyI,oBAAoB,YAAY3D,EAAE0B,KAAK,MAAM8X,UAAU/d,EAAEke,mBAAmBxU,GAAGhI,EAAEjC,EAAE2I,cAAc,cAAcpI,GAAGP,EAAE2I,cAAc,uBAAuBsB,GAAG,MAAM/E,EAAE7C,KAAKqc,eAAe7e,EAAEC,GAAGE,EAAE2I,cAAc,eAAezD,GAAGnF,EAAE0J,QAAQ7J,GAAGG,EAAE2J,aAAajK,EAAAA,GAAAA,UAAYQ,EAAEE,EAAAA,EAAAA,aAAe,EAAE,CAACue,eAAe7e,EAAEF,GAAG,MAAMG,EAAEH,EAAEoM,IAAI,IAAIlM,EAAEqL,aAAavL,EAAEoM,IAAIC,OAAOrM,EAAEkI,WAAWhI,EAAE+H,MAAMC,YAAY8W,eAAe/e,GAAGD,EAAE6E,qBAAqB,MAAM,CAAC5E,GAAGmI,KAAKC,OAAOrI,EAAEwF,MAAMxF,EAAE6N,OAAO,IAAI5N,GAAGA,GAAGE,EAAEF,GAAGmI,KAAKC,OAAOrI,EAAE0F,OAAO1F,EAAE6N,OAAO,IAAI5N,GAAGA,GAAGE,EAAE,E,mLCAtrJ,MAAM0F,EAAE,CAACoZ,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAEC,UAAU,CAAC,EAAE,EAAE,GAAGC,UAAU,CAAC,IAAI,IAAI,KAAKC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAKC,UAAS,EAAGC,MAAM,CAAC,EAAE,EAAE,GAAGC,gBAAgB,CAAC,EAAE,EAAE,GAAG3Y,SAAS,KAAKC,eAAe,KAAK2Y,YAAY,OAAO5a,KAAK,WAAW,MAAMK,UAAUV,EAAAA,EAAElC,YAAYvC,EAAE,KAAKE,EAAE,KAAKD,EAAE,MAAMuC,QAAQE,KAAKid,qBAAoB,EAAGjd,KAAKkd,6BAA4B,EAAGld,KAAKmd,0BAAyB,EAAGnd,KAAK0B,WAAW,EAAE1B,KAAKgE,WAAW,CAAC,EAAE,GAAGhE,KAAKod,sBAAsB,KAAKpd,KAAKgD,OAAO,KAAKhD,KAAK8E,oBAAmB,EAAG9E,KAAKyF,WAAW,EAAEzF,KAAKwF,WAAW,EAAExF,KAAK4F,SAAS,EAAE5F,KAAKqd,QAAQ,KAAKrd,KAAKsd,aAAa,KAAKtd,KAAKud,YAAW,EAAGvd,KAAKwd,SAAS,KAAKxd,KAAKyd,eAAe,KAAKzd,KAAK0d,eAAe,KAAK1d,KAAK8C,MAAM,KAAK9C,KAAKmD,EAAE,EAAEnD,KAAK9B,EAAE,EAAE8B,KAAK8D,OAAOxG,EAAE0C,KAAK4C,cAAcpF,EAAEwC,KAAK4E,cAAcrH,CAAC,CAACogB,UAAU3d,KAAK2D,eAAeF,SAASkV,SAASrb,GAAGA,EAAEoD,YAAYV,KAAK4d,eAAe,KAAK5d,KAAK6d,sBAAsB,KAAK7d,KAAK8d,iBAAiB,IAAI,CAAK3b,2BAAuB,OAAOnC,KAAKod,uBAAuBja,CAAC,CAAKhB,yBAAqB7E,GAAG0C,KAAKod,wBAAwB9f,IAAI0C,KAAKod,sBAAsB9f,EAAE0C,KAAKkd,6BAA4B,EAAG,CAAKpZ,aAAS,OAAO9D,KAAKqd,OAAO,CAAKvZ,WAAOxG,GAAG0C,KAAKqd,UAAU/f,IAAI0C,KAAKqd,QAAQ/f,EAAE0C,KAAK4d,iBAAiB5d,KAAK4d,eAAeld,UAAUV,KAAK4d,eAAe,KAAK5d,KAAK+d,sBAAsB,MAAM/d,KAAKge,oBAAoB,CAAK5c,gBAAY,OAAOpB,KAAKud,UAAU,CAAKnc,cAAU9D,GAAG0C,KAAKud,aAAajgB,GAAG0C,KAAKie,QAAQje,KAAK0a,QAAQ1a,KAAKuC,iBAAiBvC,KAAKud,WAAWjgB,CAAC,CAAK4gB,cAAU,OAAOle,KAAKwd,QAAQ,CAAKU,YAAQ5gB,GAAG0C,KAAKwd,SAASlgB,EAAE0C,KAAKme,kBAAkB7gB,IAAI0C,KAAKge,mBAAmB,CAAKpZ,oBAAgB,OAAO5E,KAAKyd,gBAAgB,SAAS,CAAK7Y,kBAActH,GAAG0C,KAAKyd,eAAengB,EAAE0C,KAAK4d,gBAAgB5d,KAAK4d,eAAeQ,gBAAgB,aAAape,KAAKqe,0BAA0B/gB,GAAGU,EAAAA,GAAAA,OAASA,EAAAA,GAAAA,QAAU,CAAK4E,oBAAgB,OAAO5C,KAAK0d,cAAc,CAAK9a,kBAActF,GAAG0C,KAAK0d,eAAepgB,EAAE0C,KAAK6d,wBAAwB7d,KAAK6d,sBAAsBnd,UAAUV,KAAK6d,sBAAsB,KAAK,CAACG,oBAAoBhe,KAAKid,sBAAsBjd,KAAKid,qBAAoB,EAAGjd,KAAKuC,gBAAgB,CAAC+b,oBAAoB,MAAM,CAACna,KAAIzG,EAAAA,EAAAA,KAAI,CAAC6gB,aAAajhB,GAAG,MAAMI,GAAEF,EAAAA,EAAAA,GAAEwC,KAAKkE,WAAWC,MAAM/G,EAAE2E,GAAGzE,EAAEkhB,mBAAmB,CAAC,EAAE,GAAG,CAACxe,KAAKmD,EAAEnD,KAAK9B,IAAIF,EAAEgC,KAAKwF,WAAWxF,KAAKyF,WAAWnI,EAAEkI,WAAWlB,EAAEtG,EAAEgC,KAAK8C,MAAM7E,EAAED,EAAEgC,KAAKgD,OAAOpD,EAAE8F,KAAKqM,GAAG/R,KAAK4F,SAAS,KAAIrI,EAAAA,EAAAA,GAAEG,EAAEA,GAAEC,EAAAA,EAAAA,GAAEP,EAAE2E,KAAIxE,EAAAA,EAAAA,GAAEG,EAAEA,GAAEC,EAAAA,EAAAA,GAAE2G,EAAE,EAAErG,EAAE,KAAIL,EAAAA,EAAAA,GAAEF,EAAEA,GAAGkC,IAAGrC,EAAAA,EAAAA,GAAEG,EAAEA,GAAEC,EAAAA,EAAAA,IAAG2G,EAAE,GAAGrG,EAAE,KAAIH,EAAAA,EAAAA,GAAEJ,EAAEA,GAAEC,EAAAA,EAAAA,GAAE2G,EAAErG,KAAIR,EAAAA,EAAAA,GAAEuC,KAAKkE,WAAWC,IAAI7G,EAAE6L,gBAAgBzL,EAAE,CAACiG,cAAc,IAAI3D,KAAK4d,eAAe,OAAO,KAAK,MAAMtgB,EAAE,GAAGE,EAAE,GAAG,OAAOwC,KAAK6d,wBAAwBrgB,EAAEqH,KAAK7E,KAAK6d,uBAAuBvgB,EAAEuH,KAAK,oBAAoB7E,KAAK4d,iBAAiBpgB,EAAEqH,KAAK7E,KAAK4d,gBAAgBtgB,EAAEuH,KAAK,YAAY7E,KAAK8d,mBAAmBtgB,EAAEqH,KAAK7E,KAAK8d,kBAAkBxgB,EAAEuH,KAAK,eAAe,CAACtB,MAAMjG,EAAEmG,SAASjG,EAAE,CAACihB,WAAWze,KAAKge,mBAAmB,CAACU,WAAW1e,KAAKge,mBAAmB,CAAClc,eAAejB,QAAQvD,IAAI,IAAI0C,KAAKie,MAAM,OAAOje,KAAK4d,gBAAgBld,UAAUV,KAAK6d,uBAAuBnd,UAAUV,KAAK8d,kBAAkBpd,UAAUV,KAAK4d,eAAe,KAAK5d,KAAK+d,sBAAsB,KAAK/d,KAAK6d,sBAAsB,UAAU7d,KAAK8d,iBAAiB,MAAM,MAAMtgB,EAAEwC,KAAK2e,eAAe3e,KAAK8D,QAAQtG,GAAGwC,KAAKkd,8BAA8Bld,KAAKkd,6BAA4B,EAAGld,KAAK4e,uBAAuBthB,IAAI0C,KAAKid,sBAAsBjd,KAAKid,qBAAoB,EAAGjd,KAAK6e,8BAA8BvhB,GAAG0C,KAAK4d,iBAAiBpgB,EAAEwC,KAAK4C,gBAAgB5C,KAAK6d,wBAAwB7d,KAAK6d,uBAAsBvZ,EAAAA,EAAAA,IAAEhH,EAAE0C,KAAK4C,gBAAgB5C,KAAK4d,eAAerL,QAAQ,OAAOvS,KAAKoB,YAAYpB,KAAK0a,QAAQ1a,KAAKuC,iBAAiB,CAACsc,8BAA8BrhB,GAAG,MAAMD,GAAED,EAAAA,EAAAA,IAAE0C,KAAK8D,SAAQ1G,EAAAA,EAAAA,IAAE4C,KAAK8D,OAAO9D,KAAKke,SAAS,KAAK,IAAIle,KAAK2e,eAAephB,GAAG,YAAYyC,KAAK4d,iBAAiB5d,KAAK4d,eAAeld,UAAUV,KAAK+d,sBAAsB,KAAK/d,KAAK4d,eAAe,OAAO,MAAMhgB,GAAGoC,KAAKme,kBAAkBne,KAAKke,SAAS,GAAGle,KAAK4d,eAAe,CAAC,GAAGhgB,EAAE,OAAOoC,KAAK4d,eAAeld,UAAUV,KAAK+d,sBAAsB,KAAK/d,KAAK4d,eAAe,IAAI,CAAC5d,KAAKmd,yBAAyB3f,EAAEmE,aAAaC,cAAcC,mBAAmB,MAAM/D,EAAEkC,KAAKqe,0BAA0Bre,KAAK4E,eAAenH,EAAEuC,KAAK8E,qBAAqBtH,EAAEmE,aAAaC,cAAcA,aAAa5B,KAAK4d,gBAAe3f,EAAAA,EAAAA,IAAET,EAAED,EAAEO,EAAEL,GAAGuC,KAAK+d,sBAAsB/d,KAAKke,QAAQ,IAAIle,KAAKke,SAAS,IAAI,CAACC,kBAAkB7gB,GAAG,MAAME,EAAEwC,KAAK+d,sBAAsB,QAAQ,MAAMvgB,GAAG,MAAMF,GAAGE,GAAGF,GAAGE,EAAEgH,KAAK,MAAMlH,EAAEkH,KAAK,IAAI,CAACma,eAAenhB,GAAG,OAAOF,EAAAA,EAAAA,IAAEE,IAAIA,EAAEshB,QAAQva,OAAO,CAAC,CAAC8Z,0BAA0B7gB,GAAG,MAAM4E,KAAK7E,EAAE6G,SAASxG,GAAGoC,KAAKmC,qBAAqBrE,EAAE,QAAQP,GAAG,YAAYA,IAAGD,EAAAA,EAAAA,IAAEM,GAAG,OAAOoC,KAAKmd,0BAA0Brf,GAAG,aAAaN,GAAG,UAAUA,EAAE,UAAU,UAAU,CAACohB,uBAAuBthB,GAAG,MAAME,EAAEwC,KAAK+e,UAAUxhB,EAAEyC,KAAKmC,qBAAqBiC,SAAS,OAAO7G,EAAEC,EAAED,EAAEgH,SAAS/G,EAAE+G,QAAQhH,EAAEsX,MAAM,CAACvX,EAAEC,IAAID,IAAIE,EAAED,MAAMyC,KAAK8d,mBAAmB9d,KAAK8d,iBAAiBpd,UAAUV,KAAK8d,iBAAiB,MAAM9d,KAAK8d,kBAAiBle,EAAAA,EAAAA,IAAEtC,EAAEC,QAAQyC,KAAK+e,UAAUxhB,SAAI,GAAQyC,KAAK8d,kBAAiBle,EAAAA,EAAAA,IAAEtC,EAAEC,QAAQyC,KAAK+e,UAAUxhB,KAAKyC,KAAK8d,mBAAmB9d,KAAK8d,iBAAiBpd,UAAUV,KAAK8d,iBAAiB,WAAW9d,KAAK+e,UAAU,MAAM,EAAsD,SAASpT,EAAEnO,GAAG,OAAOF,EAAAA,EAAAA,IAAEE,EAAEsG,OAAO,C,mICAl/K,MAAMvG,EAAE,CAACiJ,SAAS,CAAC,IAAI9I,EAAAA,EAAE,QAAQ,EAAEF,EAAAA,EAAAA,KAAO,EAAE,KAAKF,EAAE,CAACkJ,SAAS,CAAC,IAAI9I,EAAAA,EAAE,QAAQ,EAAEF,EAAAA,EAAAA,KAAO,EAAE,GAAG,IAAIE,EAAAA,EAAE,QAAQ,EAAEF,EAAAA,EAAAA,KAAO,EAAE,KAAKoC,EAAE,CAAC4G,SAAS,CAAC,IAAI9I,EAAAA,EAAE,QAAQ,EAAEF,EAAAA,EAAAA,eAAiB,EAAE,I,wGCAJ,MAAMJ,EAAEyC,YAAYjC,EAAER,GAAG4C,KAAKgf,MAAMphB,EAAEoC,KAAKif,cAAc3hB,EAAAA,EAAAA,aAAeM,EAAEJ,EAAAA,GAAAA,YAAc,IAAI0hB,YAAY9hB,IAAI4C,KAAKuT,KAAK,IAAIzV,EAAAA,EAAEF,EAAE,IAAI0C,IAAI,CAAC,CAAC,aAAa,KAAK,CAACkG,SAAS,CAAC,IAAI9I,EAAAA,EAAE,aAAa,EAAEH,EAAAA,EAAAA,MAAQ,EAAE,KAAK,CAACiJ,SAASxG,KAAKif,gBAAgBjf,KAAKmf,OAAO/hB,EAAEmH,OAAO,CAAC,CAAC4B,OAAOnG,KAAKgf,MAAM5X,QAAQpH,KAAKuT,KAAK,CAAC3B,SAAS5R,KAAKgf,MAAM5X,QAAQ,KAAK,CAAC1G,UAAUV,KAAKuT,KAAK7S,SAAQ,GAAIV,KAAKif,cAAcve,SAAS,CAACS,OAAOnB,KAAKgf,MAAM5X,QAAQpH,KAAKuT,MAAMvT,KAAKgf,MAAMjX,WAAWnK,EAAAA,GAAAA,eAAiB,EAAEoC,KAAKmf,OAAO,E,+PCAlI,MAAMhc,EAAE7F,IAAI,OAAOA,EAAEuP,mBAAmB,KAAK,EAAE,OAAO3O,EAAAA,EAAAA,cAAgB,KAAK,EAAE,OAAOA,EAAAA,EAAAA,eAAiB,KAAK,EAAE,OAAOA,EAAAA,EAAAA,aAAe,QAAQ,MAAM,IAAIV,EAAAA,EAAE,gCAA+B,EAAGmF,EAAE,CAACnF,EAAEF,EAAEC,EAAEK,KAAK,IAAIF,EAAE,EAAE,IAAI,IAAIN,EAAE,EAAEA,EAAEG,EAAEH,IAAI,CAAC,MAAMG,EAAEC,EAAE,GAAGF,EAAEF,EAAE,IAAIQ,EAAEJ,EAAE,GAAGF,EAAEF,EAAE,GAAG,GAAGM,IAAIF,EAAE,GAAGF,EAAEF,IAAIG,IAAIC,EAAE,GAAGF,EAAEF,GAAG,GAAGQ,EAAE,CAAC,OAAOA,EAAEF,EAAE,EAAEA,EAAE,CAAC,EAAE+E,EAAE,EAAE2c,OAAO5hB,EAAE6hB,QAAQ/hB,GAAGC,KAAK,MAAMG,EAAE,GAAG,IAAI,IAAIN,EAAE,EAAEU,EAAE,EAAEV,EAAEE,EAAEiH,OAAOzG,GAAGR,EAAEF,GAAGA,GAAG,EAAE,CAAC,MAAMS,EAAEC,EAAEL,EAAE,GAAG,KAAKL,EAAEE,EAAEiH,OAAO,GAAG5B,EAAEnF,EAAEM,EAAER,EAAEF,GAAGE,EAAEF,EAAE,GAAGG,GAAGH,GAAG,EAAEU,GAAGR,EAAEF,GAAGK,EAAEoH,KAAK/G,EAAER,EAAEF,GAAGS,GAAG,MAAME,EAAEP,EAAE8hB,MAAM,EAAEzhB,EAAE,GAAGC,EAAER,EAAEF,KAAK2E,GAAEnE,EAAAA,EAAAA,GAAEG,EAAEN,EAAE,GAAG,IAAI,MAAMD,KAAKuE,EAAErE,EAAEmH,KAAKrH,EAAEK,EAAE,CAAC,OAAOH,CAAC,EAAE,MAAMM,EAAE6B,YAAYrC,EAAEF,EAAEC,EAAEK,GAAE,GAAIoC,KAAKuf,OAAO,CAAC,EAAEvf,KAAKwf,SAAShiB,EAAEwC,KAAKyf,QAAQniB,EAAE0C,KAAK0f,cAAcniB,EAAEyC,KAAK2f,WAAW/hB,CAAC,CAACgiB,iBAAiBzc,EAAE3F,EAAEU,EAAEZ,EAAEwF,MAAMvF,EAAEyF,OAAOpF,IAAI,MAAMF,EAAEF,EAAEJ,EAAEE,EAAEQ,EAAEJ,EAAEH,EAAEM,EAAET,EAAEQ,EAAE,OAAOI,EAAE6hB,iBAAiB,CAACC,KAAKpiB,EAAEqiB,KAAK3iB,EAAE4iB,KAAKliB,EAAEmiB,KAAKpiB,GAAG,CAAC+hB,gBAAgBpiB,GAAG,MAAMF,GAAEQ,EAAAA,EAAAA,IAAE,IAAIL,EAAAA,EAAED,EAAE0iB,MAAK,GAAG,GAAI3iB,EAAED,EAAE8hB,OAAOxhB,EAAE,IAAIgP,YAAYnK,EAAEnF,GAAE,IAAKI,EAAE,IAAIkP,YAAYrP,EAAEgH,OAAO,GAAG,IAAI,IAAInH,EAAE,EAAEA,EAAEM,EAAE6G,OAAOnH,IAAIM,EAAEN,IAAGW,EAAAA,EAAAA,IAAE2H,KAAKqT,MAAMxb,EAAE,EAAEH,IAAIsI,KAAKqT,MAAMxb,EAAE,EAAEH,EAAE,KAAK,OAAO,IAAIY,EAAE,CAACwI,SAAS9I,GAAGE,EAAEgC,EAAAA,GAAAA,UAAY,CAACggB,oBAAoBriB,EAAEK,GAAG,MAAMF,EAAEE,EAAE4I,SAASpE,KAAK,OAAO1E,GAAG,IAAI,UAAU,OAAOM,EAAEmiB,YAAY5iB,EAAEK,EAAE4I,UAAU,IAAI,SAAS,OAAOxI,EAAEoiB,cAAc7iB,EAAEK,EAAE4I,UAAU,QAAQ,OAAOlJ,EAAAA,EAAAA,UAAY,qCAAqC+iB,MAAM,IAAI7iB,EAAAA,EAAE,mBAAoB,qCAAoCE,IAAIE,IAAII,EAAEsiB,SAAS,CAACnd,EAAE,EAAEjF,EAAE,EAAE4E,MAAM,EAAEE,OAAO,IAAI,CAAC4c,mBAAmBpiB,EAAEF,GAAG,MAAMC,GAAEM,EAAAA,EAAAA,IAAE,IAAIJ,EAAAA,EAAEH,GAAE,GAAG,GAAIM,EAAEL,EAAE6hB,OAAOthB,EAAE,IAAI8O,YAAYnK,EAAElF,GAAE,IAAKwE,EAAE,IAAI6K,YAAYhP,EAAE2G,OAAO,GAAG5G,GAAEP,EAAAA,EAAAA,KAAIc,GAAEd,EAAAA,EAAAA,KAAI,IAAI,IAAIA,EAAE,EAAEA,EAAE2E,EAAEwC,OAAOnH,KAAIM,EAAAA,EAAAA,GAAEC,EAAEC,EAAE,EAAER,GAAGQ,EAAE,EAAER,EAAE,IAAII,EAAE+iB,SAASriB,EAAEP,GAAGoE,EAAE3E,IAAGW,EAAAA,EAAAA,IAAE2H,KAAKqT,MAAM7a,EAAE,IAAIwH,KAAKqT,MAAM7a,EAAE,KAAK,OAAO,IAAIF,EAAE,CAACwI,SAASzE,GAAGjE,EAAE8B,EAAAA,GAAAA,WAAY,EAAG,CAACggB,yBAAyBE,KAAKtiB,EAAEwiB,KAAK1iB,EAAEyiB,KAAKxiB,EAAE0iB,KAAKriB,IAAI,MAAMF,EAAE,CAAC8I,SAAS,IAAIoG,YAAY,EAAC7O,EAAAA,EAAAA,IAAEP,EAAED,IAAGQ,EAAAA,EAAAA,IAAET,EAAEC,IAAGQ,EAAAA,EAAAA,IAAEP,EAAEI,IAAGG,EAAAA,EAAAA,IAAEP,EAAEI,IAAGG,EAAAA,EAAAA,IAAET,EAAEC,IAAGQ,EAAAA,EAAAA,IAAET,EAAEM,MAAMR,EAAE,IAAIwP,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,IAAI5O,EAAEN,EAAEN,EAAEwC,EAAAA,GAAAA,UAAY,CAACggB,qBAAqBpiB,EAAEF,GAAG,MAAMC,EAAEK,GAAGJ,EAAE+iB,SAAS,CAAC,EAAE,GAAG,CAACjjB,EAAEwiB,KAAKxiB,EAAEyiB,QAAQriB,EAAEN,GAAGI,EAAE+iB,SAAS,CAAC,EAAE,GAAG,CAACjjB,EAAE0iB,KAAK1iB,EAAE2iB,OAAOniB,EAAE,CAAC0I,SAAS,IAAIoG,YAAY,EAAC7O,EAAAA,EAAAA,IAAER,EAAEK,IAAGG,EAAAA,EAAAA,IAAEL,EAAEE,IAAGG,EAAAA,EAAAA,IAAER,EAAEH,IAAGW,EAAAA,EAAAA,IAAER,EAAEH,IAAGW,EAAAA,EAAAA,IAAEL,EAAEE,IAAGG,EAAAA,EAAAA,IAAEL,EAAEN,MAAMS,EAAE,IAAI+O,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,IAAI5O,EAAEF,EAAED,EAAE+B,EAAAA,GAAAA,UAAY,CAAC+d,WAAUpgB,EAAAA,EAAAA,IAAEyC,KAAKuf,OAAOtY,cAAcjH,KAAKuf,OAAOtY,YAAYvG,UAAU,IAAI,MAAMlD,KAAKwC,KAAKuf,OAAOiB,eAAcjjB,EAAAA,EAAAA,IAAEyC,KAAKuf,OAAOiB,cAAchjB,KAAKwC,KAAKuf,OAAOiB,cAAchjB,GAAGkD,SAAS,CAAK+f,kBAAc,OAAOtd,EAAEnD,KAAKyf,QAAQ,CAACiB,eAAeljB,EAAEF,EAAEK,EAAAA,GAAAA,aAAe,OAAOqC,KAAKuf,OAAOtY,cAAcjH,KAAKuf,OAAOtY,YAAYlF,EAAAA,EAAAA,YAAcvE,EAAEF,EAAE0C,KAAKyf,UAAUzf,KAAKuf,OAAOtY,WAAW,CAAC0Z,iBAAiBnjB,EAAEF,EAAEK,EAAAA,GAAAA,aAAe,OAAOqC,KAAKuf,OAAOiB,gBAAgBxgB,KAAKuf,OAAOiB,cAAcniB,OAAOuiB,KAAK5gB,KAAKwf,UAAUqB,QAAQ,CAACtjB,EAAEK,KAAC,IAAQL,EAAE,CAACK,GAAGmE,EAAAA,EAAAA,aAAevE,EAAEF,EAAE0C,KAAKwf,SAAS5hB,OAAO,CAAC,IAAIoC,KAAKuf,OAAOiB,aAAa,E,eCA73F,MAAMpjB,EAAEE,GAAGwjB,WAAWxjB,GAAG,IAAI,MAAMsC,UAAUmC,EAAAA,EAAElC,YAAYvC,EAAEE,GAAGsC,QAAQE,KAAK+gB,MAAMvjB,EAAEwC,KAAKuf,OAAO,CAAC,EAAEvf,KAAKie,MAAM3gB,EAAE0C,KAAKghB,SAAQljB,EAAAA,EAAAA,KAAG,IAAIN,EAAEyjB,UAAU,IAAIjhB,KAAKkhB,gBAAgBlhB,KAAK0a,OAAO,CAACkF,oBAAoBtiB,EAAEE,GAAG,OAAO,IAAIoC,EAAEtC,EAAEE,EAAE,CAAC2jB,cAAa5jB,EAAAA,EAAAA,IAAEyC,KAAKuf,OAAO6B,QAAQphB,KAAKuf,OAAO6B,KAAKzD,UAAU3d,KAAKuf,OAAO6B,KAAK,OAAM7jB,EAAAA,EAAAA,IAAEyC,KAAKuf,OAAOzD,OAAO9b,KAAKuf,OAAOzD,IAAIpb,UAAUV,KAAKuf,OAAOzD,IAAI,KAAK,CAAC6B,UAAU3d,KAAKmhB,aAAanhB,KAAKghB,QAAQK,QAAQ,CAACta,OAAOzJ,EAAEE,EAAED,EAAEO,GAAG,MAAMJ,EAAEqE,GAAGvE,EAAE8J,KAAK,GAAG,aAAatH,KAAK+gB,MAAM3e,MAAMpC,KAAKshB,aAAa5jB,GAAGsC,KAAKuhB,cAAcxf,IAAI/B,KAAKshB,WAAW5jB,EAAEsC,KAAKuhB,YAAYxf,EAAE/B,KAAKmhB,eAAcvjB,EAAAA,EAAAA,IAAEoC,KAAKuf,OAAOzD,KAAK,CAAC,MAAMle,EAAEoC,KAAKwhB,YAAYhkB,EAAEwC,KAAK+gB,OAAOrjB,EAAEE,EAAE8iB,eAAepjB,GAAGyE,EAAEnE,EAAE+iB,iBAAiBrjB,GAAG0C,KAAKuf,OAAO6B,KAAKxjB,EAAEoC,KAAKuf,OAAOzD,IAAI,IAAIje,EAAAA,EAAEP,EAAEC,EAAEO,EAAEiE,EAAErE,EAAE,CAAC,OAAOsC,KAAKuf,OAAOzD,GAAG,CAACwC,oBAAoB,MAAM,CAACna,KAAIzG,EAAAA,EAAAA,KAAI,CAACwjB,cAAclhB,KAAKmhB,aAAanhB,KAAKuC,eAAe,CAACkf,kBAAkBnkB,EAAEE,GAAG,MAAMD,EAAEK,GAAGN,EAAEgK,KAAKxJ,EAAE,iBAAiBN,EAAEkkB,KAAKtkB,EAAEI,EAAEkkB,MAAMnkB,EAAEC,EAAEkkB,KAAKhkB,EAAE,iBAAiBF,EAAEmkB,MAAMvkB,EAAEI,EAAEmkB,OAAOpkB,EAAEC,EAAEmkB,MAAM5f,EAAE,iBAAiBvE,EAAEokB,IAAIxkB,EAAEI,EAAEokB,KAAKhkB,EAAEJ,EAAEokB,IAAInkB,EAAE,iBAAiBD,EAAEqkB,OAAOzkB,EAAEI,EAAEqkB,QAAQjkB,EAAEJ,EAAEqkB,OAAOhkB,EAAEC,EAAE8B,EAAEmC,EAAE,MAAM,CAACoB,EAAEtF,EAAEK,EAAE0B,EAAEkD,MAAM4C,KAAKsF,IAAIzN,EAAEG,EAAEG,EAAE,GAAGmF,OAAO0C,KAAKsF,IAAIpN,EAAEH,EAAEmC,EAAE,GAAG,CAAC4hB,YAAYjkB,EAAEK,GAAG,OAAOA,EAAEwE,MAAM,IAAI,OAAO,OAAO3E,EAAAA,SAAWuC,KAAKyhB,kBAAkBlkB,EAAEK,IAAI,IAAI,OAAO,OAAOH,EAAAA,SAAWG,GAAG,IAAI,WAAW,OAAOH,EAAAA,aAAeF,EAAEK,GAAG,QAAQ,OAAOJ,EAAAA,EAAAA,UAAY,2CAA2C6iB,MAAM,IAAI/iB,EAAAA,EAAE,mBAAmB,uEAAuEG,EAAAA,SAAW,CAAC0F,EAAE,EAAEjF,EAAE,EAAE4E,MAAM,EAAEE,OAAO,IAAI,E,eCA1mD,MAAMtF,UAAUI,EAAAA,EAAE+B,cAAcC,SAASC,WAAWC,KAAKwB,KAAKxB,KAAKH,YAAY2B,IAAI,CAAKsgB,UAAMtkB,GAAGwC,KAAK+hB,OAAOvkB,EAAEwC,KAAKgiB,SAASrJ,SAASpb,GAAGA,EAAEukB,MAAMtkB,IAAIwC,KAAKiiB,qBAAqB,CAACC,aAAa1kB,GAAGsC,MAAMoiB,aAAa1kB,GAAGwC,KAAKmiB,iBAAiB3kB,EAAE+H,MAAM,CAAC+Y,oBAAoB,MAAM,CAACna,KAAIvG,EAAAA,EAAAA,KAAI,CAACwkB,SAAS5kB,GAAG,MAAMD,EAAEyC,KAAKqiB,mBAAmB7kB,IAAI8D,QAAQ1D,EAAE0kB,cAAchlB,EAAEilB,SAASzkB,EAAEkW,UAAU5W,GAAGG,EAAEG,EAAEN,IAAIK,EAAAA,GAAAA,OAASL,IAAIK,EAAAA,GAAAA,UAAY,EAAEH,EAAE0C,KAAKiG,gBAAgBnI,EAAE0kB,qBAAqBxiB,KAAKwB,MAAM5D,EAAE6kB,kBAAkBllB,EAAEyC,KAAK0iB,eAAe,IAAI,EAAEhlB,GAAGsC,KAAK2iB,eAAeplB,GAAGK,EAAEglB,eAAerlB,EAAEG,GAAGI,EAAE+kB,oBAAoB,CAACF,eAAeplB,IAAGC,EAAAA,EAAAA,IAAEwC,KAAK8iB,iBAAiB9iB,KAAK8iB,cAAc9iB,KAAK+iB,oBAAoBxlB,EAAE+D,UAAU,IAAI,MAAM9D,KAAKwC,KAAK8iB,cAAc,IAAItlB,EAAEod,OAAOrd,EAAY,CAAT,MAAMK,GAAG,CAAC,CAACykB,mBAAmB7kB,GAAG,OAAOA,EAAEwlB,WAAWhjB,KAAKijB,qBAAqBzlB,CAAC,CAACulB,oBAAoBvlB,GAAG,MAAM,CAACA,EAAE0lB,mBAAmB,CAAC1hB,KAAK,OAAO2hB,QAAQ,CAAC7lB,EAAAA,EAAAA,MAAQmP,OAAO,IAAIzM,KAAK0iB,eAAe1O,UAAUvW,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,MAAQA,EAAAA,GAAAA,YAAcA,EAAAA,GAAAA,MAAQA,EAAAA,GAAAA,YAAc,CAAC0kB,iBAAiB3kB,GAAG,IAAI,MAAMD,KAAKyC,KAAKgiB,SAASzkB,EAAEghB,aAAa/gB,EAAE,CAACihB,WAAW3e,MAAM2e,WAAWze,KAAKiiB,qBAAqB,CAACvD,WAAW5e,MAAM4e,WAAW1e,KAAKiiB,qBAAqB,CAACA,sBAAsB,IAAG1kB,EAAAA,EAAAA,IAAEyC,KAAK0iB,kBAAkB1iB,KAAK0iB,eAAe/J,SAASnb,GAAGA,EAAEmgB,YAAY3d,KAAK0iB,eAAe,OAAO1iB,KAAKie,MAAM,OAAO,MAAMzgB,EAAEwC,KAAK+hB,QAAOxkB,EAAAA,EAAAA,IAAEC,IAAIA,EAAE+G,SAASvE,KAAK0iB,eAAellB,EAAE4lB,MAAMvY,KAAKrN,GAAGJ,EAAAA,aAAe4C,KAAKie,MAAMzgB,MAAMwC,KAAKuC,eAAe,E,wDCA3sD,MAAMjF,EAAEuC,cAAcG,KAAKwB,KAAKxB,KAAKH,YAAY2B,MAAM,eAAexB,KAAK2Q,YAAY,IAAI,CAAC/P,aAAatD,EAAEC,GAAG,CAAC4D,KAAK7D,EAAEC,EAAEK,GAAG,CAAC4V,SAASlW,EAAEC,EAAEK,GAAG,IAAI,MAAMH,KAAKF,EAAEE,EAAE4lB,SAASrjB,KAAKmB,KAAK7D,EAAEG,EAAEG,EAAE,E,6HCAhI,MAAML,EAAE,CAAC+lB,QAAQ,CAACC,cAAa/lB,EAAAA,EAAAA,GAAE,0BAA0BgmB,gBAAehmB,EAAAA,EAAAA,GAAE,2BAA2B6C,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,M,2DCA8jB,MAAMwH,EAAE,IAAIjF,EAAE,GAAG,MAAMM,UAAUrF,EAAAA,EAAE+B,cAAcC,SAASC,WAAWC,KAAK2G,QAAOnJ,EAAAA,EAAAA,GAAE,EAAE,EAAE,EAAE,EAAE,CAACkD,UAAUV,KAAKyjB,kBAAkBzjB,KAAKyjB,gBAAgB/iB,UAAUV,KAAKyjB,gBAAgB,MAAMzjB,KAAK0jB,mBAAmB1jB,KAAK0jB,iBAAiBhjB,UAAUV,KAAK0jB,iBAAiB,MAAM1jB,KAAK2jB,4BAA4B3jB,KAAK2jB,0BAA0BjjB,UAAUV,KAAK2jB,0BAA0B,MAAM3jB,KAAK4jB,6BAA6B5jB,KAAK4jB,2BAA2BljB,UAAUV,KAAK4jB,2BAA2B,MAAM5jB,KAAK6jB,QAAQ,IAAI,CAACjjB,cAAcC,QAAQvD,IAAIA,EAAEwD,oBAAmB,GAAIxD,EAAEyD,yBAAyBtD,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,oBAAsBA,EAAAA,GAAAA,IAAMA,EAAAA,GAAAA,qBAAuBH,EAAE0D,cAAa,GAAG,GAAG,GAAG,GAAI1D,EAAE2D,oBAAoB,GAAG3D,EAAE4D,uBAAsB,EAAG,CAACC,KAAK3D,EAAED,GAAG,MAAMsD,QAAQ/C,EAAEyE,cAAc7E,EAAE8E,mBAAmB5E,GAAGJ,EAAE,IAAID,EAAEwI,QAAQ,OAAO,GAAG/F,KAAK0T,kBAAkB5V,GAAGF,IAAGN,EAAAA,EAAAA,IAAEI,MAAMsC,KAAKyjB,gBAAgB/gB,aAAa1C,KAAK0jB,iBAAiBhhB,YAAY,YAAYhF,IAAII,EAAEsJ,QAAQpH,KAAK2jB,2BAA2B7lB,EAAEsF,WAAWpD,KAAKyjB,iBAAiBzjB,KAAKyjB,gBAAgBrd,oBAAoB,YAAY7I,EAAE2G,WAAWC,KAAKnE,KAAKyjB,gBAAgBvX,aAAa,gBAAgB3O,EAAEkX,OAAOlX,EAAEumB,QAAQ9jB,KAAKyjB,gBAAgBld,aAAa,UAAU,GAAGvG,KAAKyjB,gBAAgBvc,cAAc,UAAUlH,KAAK2G,QAAQ7I,EAAEiK,WAAW/J,EAAAA,GAAAA,WAAa,EAAE,GAAG,MAAMZ,EAAE4C,KAAK+jB,YAAYjmB,EAAEP,GAAGH,GAAGU,EAAEsJ,QAAQpH,KAAK4jB,4BAA4B9lB,EAAEsF,WAAWpD,KAAK0jB,kBAAkB5lB,EAAE+J,YAAYzK,EAAE,GAAG4C,KAAK0jB,iBAAiBtd,oBAAoB,YAAY7I,EAAE2G,WAAWC,KAAKnE,KAAK0jB,iBAAiBnd,aAAa,UAAU,GAAGvG,KAAK0jB,iBAAiBxX,aAAa,gBAAgB3O,EAAEkX,OAAOlX,EAAEuF,MAAMvF,EAAEumB,OAAOvmB,EAAEyF,QAAQhD,KAAK0jB,iBAAiBxX,aAAa,UAAU,EAAE,GAAGlM,KAAK0jB,iBAAiBxX,aAAa,eAAe9O,EAAEqV,WAAW3P,MAAM1F,EAAEqV,WAAWzP,QAAQlF,EAAEiK,WAAW/J,EAAAA,GAAAA,eAAiB,EAAE,GAAGF,EAAEsJ,WAAWtJ,EAAEsJ,SAAS,CAACsM,kBAAkBpW,GAAG,GAAG0C,KAAKyjB,iBAAiBzjB,KAAK0jB,iBAAiB,OAAO,MAAMlmB,GAAEmF,EAAAA,EAAAA,GAAErF,EAAEI,EAAAA,GAAGI,GAAE6E,EAAAA,EAAAA,GAAErF,EAAEM,GAAGH,EAAE,IAAIiX,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI1W,EAAEZ,EAAAA,EAAAA,aAAeE,EAAEK,EAAAA,GAAAA,YAAcF,GAAGmC,EAAE,IAAI6C,EAAAA,EAAEnF,EAAEI,EAAAA,EAAAA,WAAaH,EAAAA,GAAE,CAACiJ,SAASxI,IAAIC,EAAE,IAAIyW,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI3W,EAAEX,EAAAA,EAAAA,aAAeE,EAAEK,EAAAA,GAAAA,YAAcM,GAAG8D,EAAE,IAAIU,EAAAA,EAAEnF,EAAEM,EAAAA,WAAaL,EAAAA,GAAE,CAACiJ,SAASzI,IAAIiC,KAAKyjB,gBAAgBjmB,EAAEwC,KAAK0jB,iBAAiB5lB,EAAEkC,KAAK2jB,0BAA0B/jB,EAAEI,KAAK4jB,2BAA2B7hB,CAAC,CAACgiB,YAAYzmB,EAAEE,GAAG,GAAGA,EAAEmK,SAASnK,EAAEwmB,+BAA+BxmB,EAAE6X,cAAc,OAAO7X,EAAEmK,QAAQnK,EAAEwmB,6BAA6BxmB,EAAE6X,cAAcrV,KAAK6jB,UAAU7jB,KAAK6jB,QAAQI,SAASC,cAAc,UAAUlkB,KAAK6jB,QAAQM,aAAa,KAAK,YAAYnkB,KAAK6jB,QAAQM,aAAa,QAAS,GAAErc,KAAK9H,KAAK6jB,QAAQM,aAAa,SAAU,GAAEthB,KAAK7C,KAAK6jB,QAAQM,aAAa,QAAQ,iBAAiB,MAAM5mB,EAAEC,EAAE6X,cAAc,IAAIvX,EAAEN,EAAEkM,IAAI2J,GAAG7V,EAAE6X,cAAc,IAAIvX,GAAI,KAAIP,KAAK,MAAMG,EAAEsC,KAAK6jB,QAAQjmB,EAAEF,EAAE0mB,WAAW,MAAM,OAAOxmB,EAAEymB,KAAK,kBAAkBzmB,EAAE0mB,UAAU,OAAO1mB,EAAE2mB,aAAa,MAAM3mB,EAAE4mB,UAAU,EAAE,EAAE1c,EAAEjF,GAAGtF,EAAE,KAAKK,EAAE6mB,UAAU,MAAM7mB,EAAE8mB,SAAS,EAAE,EAAE5c,EAAEjF,GAAGjF,EAAE6mB,UAAU,UAAU7mB,EAAE4mB,UAAU,EAAE,EAAE1c,EAAEjF,GAAGjF,EAAE6mB,UAAU,QAAQ7mB,EAAE+mB,SAAS7mB,EAAE,EAAE,GAAGN,EAAEmK,QAAQ,IAAIrD,EAAAA,EAAEhH,EAAE,CAACmP,OAAO7M,EAAAA,GAAAA,WAAaqP,YAAYhR,EAAAA,GAAAA,KAAOiR,SAASnR,EAAAA,GAAAA,cAAgBmH,aAAanD,EAAAA,GAAAA,QAAUoN,SAAStR,EAAAA,GAAAA,eAAiBH,GAAGF,EAAEmK,OAAO,E,8JCA9tG,MAAM5F,UAAUjE,EAAAA,EAAE+B,cAAcC,SAASC,WAAWC,KAAK2G,QAAOnJ,EAAAA,EAAAA,GAAE,EAAE,EAAE,EAAE,GAAGwC,KAAK4kB,cAAa,CAAE,CAAClkB,UAAUV,KAAK6kB,gBAAgB7kB,KAAK6kB,cAAcnkB,UAAUV,KAAK6kB,cAAc,MAAM7kB,KAAK8kB,0BAA0B9kB,KAAK8kB,wBAAwBpkB,UAAUV,KAAK8kB,wBAAwB,KAAK,CAAClkB,cAAcC,QAAQtD,IAAIA,EAAEwnB,sBAAqB,GAAIxnB,EAAEynB,qBAAoB,GAAIznB,EAAE2D,uBAAsB,GAAI3D,EAAEuD,oBAAmB,GAAIvD,EAAEyD,cAAa,GAAG,GAAG,GAAG,GAAIzD,EAAEuJ,aAAarJ,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,KAAOA,EAAAA,GAAAA,SAAWF,EAAE0D,oBAAoB,IAAI,CAACE,KAAK3D,EAAEF,GAAG,MAAMuD,QAAQ/C,EAAEyE,cAAc3E,EAAE4E,mBAAmB9E,GAAGF,EAAEwC,KAAK4kB,cAAc5kB,KAAKilB,YAAYnnB,GAAGJ,IAAGH,EAAAA,EAAAA,IAAEK,KAAKoC,KAAK6kB,cAAcniB,WAAW9E,KAAKE,EAAEonB,2BAA2BlnB,EAAAA,GAAAA,eAAiBZ,EAAAA,GAAAA,QAAUE,EAAEoE,WAAW,KAAK5D,EAAEsJ,QAAQpH,KAAK8kB,yBAAyBhnB,EAAEsF,WAAWpD,KAAK6kB,eAAe7kB,KAAK6kB,cAAcze,oBAAoB,YAAY9I,EAAE4G,WAAWC,KAAKnE,KAAK6kB,cAAcve,cAAc,gBAAgB,CAAChJ,EAAEmX,OAAOnX,EAAEwmB,SAAS9jB,KAAK6kB,cAActe,aAAa,UAAU,GAAGvG,KAAK6kB,cAAc3d,cAAc,UAAUlH,KAAK2G,QAAQ7I,EAAEiK,WAAWzD,EAAAA,GAAAA,eAAiB,EAAE,GAAGxG,EAAEsJ,UAAU,CAAC6d,YAAY1nB,GAAG,GAAGyC,KAAK4kB,aAAa,OAAM,EAAG,MAAMpnB,GAAES,EAAAA,EAAAA,GAAEV,EAAEK,EAAAA,GAAG,IAAIJ,EAAE,OAAM,EAAG,MAAMM,EAAE,IAAI4W,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIjX,EAAEC,EAAAA,EAAAA,aAAeH,EAAEqC,EAAAA,GAAAA,YAAc9B,GAAGE,EAAE,IAAIH,EAAAA,EAAEN,EAAEK,EAAAA,EAAAA,WAAaN,EAAAA,GAAE,CAACkJ,SAAS/I,IAAI,OAAOuC,KAAK6kB,cAAcrnB,EAAEwC,KAAK8kB,wBAAwB9mB,EAAEgC,KAAK4kB,cAAa,GAAG,CAAE,E,wDCAz6D,MAAMtnB,EAAEuC,cAAcG,KAAKwB,KAAKxB,KAAKH,YAAY2B,IAAI,CAACwP,cAAc1T,EAAEC,GAAG,OAAO,IAAI,E,uECA5B,MAAMC,EAAE,CAAC8lB,QAAQ,CAACC,cAAahmB,EAAAA,EAAAA,GAAE,8BAA8BimB,gBAAejmB,EAAAA,EAAAA,GAAE,+BAA+B8C,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,K,wDCApM,MAAM9C,EAAE,CAAC2nB,WAAW,CAAC,kBAAkB,wEAAwE,kBAAkB,oPAAoPC,QAAQ,CAAC,eAAe,4LAA4L,eAAe,uJAAuJC,MAAM,CAAC,aAAa,02PAA02P,aAAa,8JAA8JC,MAAM,CAAC9L,QAAQ,CAAC,eAAe,iGAAiG,eAAe,8oBAA8oB+L,IAAI,CAACA,IAAI,CAAC,WAAW,8UAA8U,WAAW,i6BAAi6BC,UAAU,CAAC,eAAe,i2CAAi2C,gBAAgB,o1BAAo1B,WAAW,wpCAAwpCC,GAAG,CAACC,UAAU,CAAC,iBAAiB,83BAA83B,iBAAiB,8KAA8KvL,QAAQ,CAACwL,eAAe,CAAC,sBAAsB,onBAAonB,sBAAsB,uJAAuJC,UAAU,CAAC,YAAY,ikCAAikC,iBAAiB,2tBAA2tB,gBAAgB,uMAAuMC,UAAU,CAAC,iBAAiB,+8BAA+8B,iBAAiB,0PAA0PC,UAAU,CAAC,qBAAqB,42DAA42D,mBAAmB,ohBAAohB,iBAAiB,0vCAA0vC5M,KAAK,CAAC,cAAc,uyBAAuyB,YAAY,+0FAA+0F,YAAY,ggJAAggJ,eAAe,svBAAsvB6M,QAAQ,CAAC,cAAc,m1CAAm1CC,KAAK,CAAC,cAAc,q5CAAq5CC,kBAAkB,CAAC,cAAc,kHAAkH,yBAAyB,mmBAAmmB,yBAAyB,4lCAA4lC,eAAe,owFAAowF,YAAY,6VAA6V,YAAY,w6EAAw6E7M,MAAM,CAAC,cAAc,yUAAyU,aAAa,sCAAsC,aAAa,y2EAAy2EH,KAAK,CAAC,cAAc,gZAAgZ,eAAe,q0BAAq0B,YAAY,urBAAurB,YAAY,48DAA48DiN,IAAI,CAAC,WAAW,szIAAszI,WAAW,+2JAA+2JC,OAAO,CAAClN,KAAK,CAAC,cAAc,+hBAA+hB,YAAY,8rEAA8rE,YAAY,k4EAAk4E,0BAA0B,qTAAqTE,KAAK,CAAC,cAAc,6SAA6S,eAAe,2CAA2C,YAAY,kmBAAkmB,YAAY,w8DAAw8D,aAAa,+wCAA+wC,eAAe,6uFAA6uF,UAAU,y3IAAy3IK,QAAQ,CAACA,QAAQ,CAAC,eAAe,sNAAsN,eAAe,4UAA4U,kBAAkB,CAAC4M,KAAK,CAAC,YAAY,4IAA4IC,MAAM,CAACC,UAAU,CAAC,iBAAiB,wmCAAwmCC,aAAa,CAAC,oBAAoB,u2BAAu2BC,mBAAmB,CAAC,0BAA0B,miBAAmiBC,KAAK,CAACF,aAAa,CAAC,oBAAoB,o2BAAo2B,cAAc,CAAC,mBAAmB,gxBAAgxBG,IAAI,CAAC,WAAW,2mBAA2mB,UAAU,CAAC,eAAe,kwBAAkwB,cAAc,CAACJ,UAAU,CAAC,iBAAiB,yfAAyf,cAAc,CAAC,YAAY,CAAC,iBAAiB,kkEAAkkEK,MAAM,CAAC,aAAa,u0BAAu0B,eAAe,CAAC,oBAAoB,o1BAAo1BC,aAAa,CAAC,oBAAoB,uUAAuUC,GAAG,CAAC,UAAU,4KAA4KpN,OAAO,CAACF,OAAO,CAAC,cAAc,yaAAya,cAAc,mQAAmQuN,OAAO,CAAC,cAAc,0hCAA0hC,0BAA0B,w0BAAw0B,kBAAkB,i3CAAi3CnN,KAAK,CAAC,sBAAsB,oNAAoN,wBAAwB,mRAAmRoN,QAAQ,CAAC,eAAe,2gBAA2gB,eAAe,mPAAmPC,UAAU,CAAC,iBAAiB,qSAAqS,iBAAiB,sgHAAsgHC,YAAY,CAAC,mBAAmB,ywBAAywB,mBAAmB,84BAA84B,UAAU,+9DAA+9DzmB,UAAU,CAAC,iBAAiB,iuHAAiuH,iBAAiB,mQAAmQN,IAAI,CAAC,gBAAgB,2cAA2c,WAAW,2bAA2b,WAAW,oVAAoVsb,OAAO,CAAC,cAAc,wIAAwI,cAAc,0mCAA0mC0L,UAAU,CAAC,iBAAiB,gXAAgX,iBAAiB,8LAA8LzL,OAAO,CAAC,cAAc,85BAA85B,cAAc,o3BAAo3Blb,QAAQ,CAAC,eAAe,s5EAAs5E,eAAe,qVAAqV+Y,QAAQ,CAAC,eAAe,6DAA6D,eAAe,oIAAoIM,SAAS,CAAC,gBAAgB,wKAAwK,gBAAgB,kaAAkauN,KAAK,CAAC,aAAa,kfAAkf,gBAAgB,8O,eCAr5/G,SAASzpB,EAAEF,GAAG,IAAIE,EAAEH,EAAE,OAAOC,EAAE4pB,MAAM,KAAKzO,SAASpb,IAAIG,IAAIA,EAAEA,EAAEH,GAAG,IAAIG,CAAC,CAAC,MAAMJ,EAAE,IAAIE,EAAAA,EAAEE,GAAG,SAASN,EAAEG,GAAG,OAAOD,EAAE+pB,gBAAgB9pB,EAAE,C,wVCAkD,SAASqC,EAAEpC,EAAEG,EAAEiC,EAAE,UAAU/B,GAAE,GAAI,MAAMG,IAAIH,GAAG,OAAOF,EAAE2pB,WAAWrpB,EAAED,EAAEZ,EAAAA,GAAAA,MAAQA,EAAAA,GAAAA,cAAgBqF,EAAE,MAAM9E,EAAEmhB,QAAQ,IAAInhB,EAAEmhB,OAAOva,OAAO,KAAKvG,EAAEL,EAAE4pB,iBAAiB5pB,EAAE6pB,YAAY7kB,EAAEnF,EAAEmE,aAAaC,cAAcC,mBAAmB8J,EAAE,CAAC7I,MAAMnF,EAAEmF,MAAME,OAAOrF,EAAEqF,OAAOyJ,OAAOhP,EAAAA,GAAAA,WAAawR,YAAY1R,EAAAA,GAAAA,KAAO+R,eAAe9R,EAAE4E,OAAO9E,EAAAA,GAAAA,QAAUU,EAAEF,EAAAA,GAAAA,QAAUP,EAAAA,GAAAA,KAAO2H,cAAcvC,GAAG,aAAa/C,GAAG,UAAUA,EAAElC,EAAAA,GAAAA,QAAUA,EAAAA,GAAAA,OAASwR,SAASjR,EAAEkR,SAASvR,EAAAA,GAAAA,cAAgB6pB,SAAQ,GAAI,OAAO,IAAI1pB,EAAAA,EAAEP,EAAEmO,EAAElJ,EAAE,CAAC,SAAS5E,EAAEL,EAAEG,GAAG,MAAMoH,QAAQnF,EAAE8nB,QAAQ7pB,EAAE8pB,aAAa3pB,EAAEsJ,MAAMrJ,EAAEwE,IAAI9E,EAAEgF,EAAE/C,EAAE,GAAG,EAAE+L,EAAE,CAAC7I,MAAMH,EAAE,EAAE1E,EAAEA,EAAE+E,OAAOP,EAAEgK,OAAOhP,EAAAA,GAAAA,WAAawR,YAAY1R,EAAAA,GAAAA,KAAO+R,eAAe9R,EAAE4E,OAAO9E,EAAAA,GAAAA,OAASQ,EAAAA,GAAAA,QAAUP,EAAAA,GAAAA,KAAO2R,SAAS9R,EAAAA,GAAAA,MAAQ8H,aAAaxH,EAAAA,GAAAA,QAAUyR,SAASvR,EAAAA,GAAAA,cAAgB6pB,SAAQ,GAAI5jB,EAAE,IAAIxG,aAAasF,EAAE1E,EAAEwE,EAAE,GAAG,EAAE5E,EAAE0G,QAAQ,GAAG5B,EAAE,IAAI,IAAIrF,EAAE,EAAEF,EAAE,EAAEE,EAAEU,EAAEuG,OAAOjH,IAAIuG,EAAEzG,KAAKY,EAAEV,GAAGA,EAAE,GAAG,IAAIuG,EAAEzG,KAAK,QAAQ,IAAI,IAAIE,EAAE,EAAEA,EAAEmF,EAAEnF,IAAI,IAAI,IAAIE,EAAE,EAAEA,EAAES,EAAET,IAAI,CAAC,MAAMJ,EAAE,GAAGE,EAAEW,EAAET,GAAGC,EAAE,GAAGD,EAAEiF,EAAEnF,GAAGuG,EAAEzG,GAAGS,EAAEJ,GAAGoG,EAAEzG,EAAE,GAAGS,EAAEJ,EAAE,GAAGoG,EAAEzG,EAAE,IAAI,IAAIS,EAAEJ,GAAG,EAAE,CAAC,CAAC,OAAO,IAAIM,EAAAA,EAAEP,EAAEmO,EAAE9H,EAAE,CAAC,SAAS7F,EAAER,EAAEF,GAAG,MAAMQ,EAAE,CAACgF,MAAMxF,EAAEiH,OAAO,EAAEvB,OAAO,EAAEyJ,OAAOhP,EAAAA,GAAAA,WAAawR,YAAY1R,EAAAA,GAAAA,KAAO+R,eAAe/R,EAAAA,GAAAA,KAAO2R,SAAS9R,EAAAA,GAAAA,cAAgB8H,aAAaxH,EAAAA,GAAAA,QAAUyR,SAASvR,EAAAA,GAAAA,cAAgB6pB,SAAQ,GAAI,OAAO,IAAI1pB,EAAAA,EAAEP,EAAEM,EAAER,EAAE,CAAC,SAASW,EAAEX,EAAEF,EAAEK,EAAEF,EAAE,EAAEO,GAAE,GAAI,MAAM,CAAC8pB,QAAQ9pB,EAAE+pB,mBAAmBvqB,EAAEwqB,UAAUvqB,EAAEwqB,mBAAmBzqB,EAAEA,EAAEyH,QAAQvH,EAAAA,EAAEwqB,oBAAoB1qB,EAAEA,EAAEgK,KAAK9J,EAAAA,EAAEyqB,kBAAkB7qB,EAAE8qB,eAAezqB,EAAE,CAAC,SAASgF,EAAEjF,EAAEF,GAAG,MAAM,CAAC6qB,iBAAiB7qB,GAAG,EAAE8qB,mBAAmB5qB,EAAEA,EAAE+G,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS5B,EAAEnF,EAAEF,GAAG,MAAM,CAAC+qB,QAAQ7qB,EAAE8qB,SAAShrB,EAAE,CAAC,SAASqO,EAAEnO,GAAG,MAAM,CAAC+qB,YAAY/qB,EAAE+e,UAAUiM,YAAYhrB,EAAEgf,OAAOiM,YAAYjrB,EAAEif,OAAOiM,YAAYlrB,EAAEkf,UAAUiM,YAAYnrB,EAAEmf,UAAUiM,SAASprB,EAAEof,OAAOiM,WAAWrrB,EAAEqf,SAASiM,QAAQtrB,EAAEsf,MAAMiM,kBAAkBvrB,EAAEuf,gBAAgB,CAAC,SAASlZ,EAAErG,GAAG,MAAM,CAACwrB,gBAAgBxrB,EAAEyrB,cAAcC,YAAY1rB,EAAE2rB,UAAUC,YAAY5rB,EAAE6rB,UAAUC,QAAQ9rB,EAAE+rB,MAAMC,UAAUhsB,EAAEisB,QAAQb,SAASprB,EAAEof,OAAO8M,WAAWlsB,EAAEmsB,SAASC,WAAWpsB,EAAEqsB,SAAS,CAAC,SAAS/hB,EAAEtK,EAAEF,GAAG,MAAMF,EAAEI,EAAEkR,GAAGjR,EAAEH,EAAEwsB,OAAOvsB,EAAEH,EAAE2sB,oBAAoBtsB,EAAEL,EAAE4sB,iBAAiBlsB,EAAE,IAAIwC,IAAI,IAAI5C,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAEL,EAAEK,IAAIF,EAAEN,EAAE6sB,iBAAiBxsB,EAAEG,GAAGF,GAAGI,EAAE6G,IAAIjH,EAAE8D,KAAK,CAACiF,SAASrJ,EAAE8sB,mBAAmBzsB,EAAEC,EAAE8D,MAAM2oB,KAAKzsB,IAAI,OAAOI,CAAC,CAAC,SAASiE,EAAEvE,EAAEF,EAAEF,GAAGiB,OAAOuiB,KAAKxjB,GAAGub,SAASlb,IAAI,MAAMF,EAAED,EAAEoH,IAAIjH,IAAIH,EAAEoH,IAAIjH,EAAE,OAAOF,GAAG+G,EAAE9G,EAAEC,EAAEL,EAAEK,GAAGF,EAAE,GAAG,CAAC,SAASyO,EAAExO,EAAEF,EAAEF,EAAEK,GAAGL,EAAEmH,SAAS9G,EAAE8G,SAAS9G,EAAEoX,MAAMrX,GAAG,MAAMA,KAAKJ,EAAEyX,MAAMrX,GAAG,MAAMA,KAAKJ,EAAEub,SAAS,CAACvb,EAAEG,KAAKD,EAAE+I,aAAajJ,EAAEG,GAAGC,EAAEqK,YAAYpK,EAAEF,GAAGA,EAAE,IAAI,CAAC,SAAS+G,EAAE9G,EAAEF,EAAEF,EAAEK,GAAG,GAAG,OAAOA,GAAG,MAAML,EAAE,OAAM,EAAG,MAAM+sB,KAAK5sB,GAAGE,EAAE,OAAOF,EAAE6E,MAAM,KAAKzE,EAAAA,GAAAA,MAAQJ,EAAE+J,KAAK,EAAE9J,EAAEoM,cAActM,EAAEF,GAAGI,EAAE+I,aAAajJ,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,WAAaH,EAAE8I,cAAchJ,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,WAAaH,EAAE4sB,cAAc9sB,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,WAAaH,EAAE0J,cAAc5J,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,WAAaH,EAAE4I,oBAAoB9I,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,WAAaH,EAAEsR,oBAAoBxR,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,IAAMJ,EAAE+J,KAAK,EAAE9J,EAAEiS,cAAcnS,EAAEF,GAAGI,EAAE6I,aAAa/I,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,KAAOH,EAAE6I,aAAa/I,EAAEF,EAAE,EAAE,GAAG,MAAM,KAAKO,EAAAA,GAAAA,SAAW,KAAKA,EAAAA,GAAAA,UAAYH,EAAE6sB,cAAc/sB,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,SAAW,KAAKA,EAAAA,GAAAA,UAAYH,EAAE8sB,cAAchtB,EAAEF,GAAG,MAAM,KAAKO,EAAAA,GAAAA,SAAW,KAAKA,EAAAA,GAAAA,UAAYH,EAAE+sB,cAAcjtB,EAAEF,GAAG,MAAM,QAAQ,OAAM,EAAG,OAAM,CAAE,C","sources":["webpack://alingsas-map/./node_modules/@arcgis/core/chunks/vec4f32.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/imagery/BrushRasterBitmap.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushOverlay.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushDotDensity.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/webgl/heatmapTextureUtils.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/imagery/BrushVectorField.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/effects/Effect.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack://alingsas-map/./node_modules/@arcgis/core/views/webgl/rasterUtils.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function t(n){const t=new Float32Array(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(n,t,r,e){const a=new Float32Array(4);return a[0]=n,a[1]=t,a[2]=r,a[3]=e,a}function e(n,t){return new Float32Array(n,t,4)}function a(){return n()}function o(){return r(1,1,1,1)}function u(){return r(1,0,0,0)}function s(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function i(){return r(0,0,0,1)}const f=a(),l=o(),_=u(),y=s(),w=c(),N=i(),O=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,UNIT_W:N},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,t as a,e as b,n as c,s as d,c as e,r as f,i as g,y as h,w as i,N as j,o,u,O as v,a as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{hasSource as t}from\"./RasterBitmap.js\";import r from\"../webgl/VertexStream.js\";import s from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as a,CompareFunction as i}from\"../../../webgl/enums.js\";import{setTextures as o,getCommonUniforms as n,setUniforms as h,getColormapUniforms as l,getStretchUniforms as c,getShadedReliefUniforms as d,getUniformLocationInfos as p,getBasicGridUniforms as u}from\"../../../webgl/rasterUtils.js\";class m extends s{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e}){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0)}draw(e,r){if(!t(r)||r.suspended)return;const{timeline:s,context:a,painter:o}=e;s.begin(this.name),a.setStencilFunction(i.EQUAL,r.stencilRef,255);const n=!a.capabilities.textureFloat?.textureFloatLinear;r.updateTexture(e);const h=this._getShaderVariations(r,n),l=o.materialManager.getProgram(this._desc[r.symbolizerParameters.type],h);this._drawWithProgram(e,l,r),s.end(this.name)}_drawWithProgram({context:t,requestRender:s,allowDelayedRender:a},i,p,m=1,f=[0,0],_=!1){if(this._quad||(this._quad=new r(t,[0,0,1,0,0,1,1,1])),a&&e(s)&&!i.isCompiled)return void s();const{symbolizerParameters:g,transformGrid:b,width:P,height:w,opacity:S}=p,x=g.type;t.useProgram(i);const y=this._getShaderVariations(p),M=this._getUniformInfos(x,t,i,y),{names:U,textures:j}=p.getTextures();o(t,i,U,j);const I=u(m,f),E=n(b,[P,w],[p.source.width,p.source.height],S,_);if(h(i,M,{u_coordScale:p.coordScale,u_dvsMat3:p.transforms.dvs,...I,...E}),g.colormap){const{colormap:e,colormapOffset:t}=g,r=l(e,t);h(i,M,r)}if(\"stretch\"===g.type){const e=c(g);h(i,M,e)}else if(\"hillshade\"===g.type){const e=d(g);h(i,M,e)}this._quad.draw()}_getUniformInfos(e,t,r,s){const a=s.length>0?e+\"-\"+s.join(\"-\"):e;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=p(t,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(e,t=!1){const r=[],{interpolation:s}=e,{type:a,colormap:i}=e.symbolizerParameters;return\"cubic\"===s?r.push(\"bicubic\"):\"bilinear\"===s&&\"stretch\"===a&&null!=i?(r.push(\"bilinear\"),r.push(\"nnedge\")):t&&\"bilinear\"===s&&r.push(\"bilinear\"),e.isRendereredSource?r.push(\"noop\"):i&&r.push(\"applyColormap\"),e.transformGrid&&(r.push(\"applyProjection\"),1===e.transformGrid.spacing[0]&&r.push(\"lookupProjection\")),r}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import i from\"../VertexStream.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as n,BlendFactor as r,CompareFunction as a}from\"../../../../webgl/enums.js\";const o={nearest:{defines:[],samplingMode:n.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:n.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:n.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:n.LINEAR_MIPMAP_LINEAR,mips:!0}},d=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,s=t.resolution/t.pixelRatio/i.resolution,n=Math.round(e.pixelRatio)!==e.pixelRatio,r=s>1.05||s<.95;return i.rotation||r||n||t.isSourceScaled||t.rotation?o.bilinear:o.nearest}return o[i.samplingMode]};class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0)}draw(s,n){const{context:o,renderingOptions:m,painter:l,requestRender:c,allowDelayedRender:p}=s;if(!n.source||!n.isReady)return;const u=d(s,n,m),f=l.materialManager.getProgram(this._desc,u.defines);if(p&&e(c)&&!f.isCompiled)return void c();s.timeline.begin(this.name),\"additive\"===n.blendFunction?o.setBlendFunctionSeparate(r.ONE,r.ONE,r.ONE,r.ONE):o.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),o.setStencilFunction(a.EQUAL,n.stencilRef,255),this._quad||(this._quad=new i(o,[0,0,1,0,0,1,1,1]));const{coordScale:_,computedOpacity:E,transforms:M}=n;n.setSamplingProfile(u),n.bind(s.context,t),o.useProgram(f),f.setUniformMatrix3fv(\"u_dvsMat3\",M.dvs),f.setUniform1i(\"u_texture\",t),f.setUniform2fv(\"u_coordScale\",_),f.setUniform1f(\"u_opacity\",E),this._quad.draw(),s.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isNone as r,isSome as e}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as s}from\"../Utils.js\";import o from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as a,CompareFunction as m,PrimitiveType as n,DataType as p}from\"../../../../webgl/enums.js\";import{createProgram as l}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>s(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:p.SHORT}]});class d extends o{constructor(){super(...arguments),this._color=t(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(m.ALWAYS,0,255)}draw(t,s){const{context:o,state:a,requestRender:m,allowDelayedRender:d}=t,f=c(),g=s.getVAO(o,a,f.attributes,f.bufferLayouts);r(g.indexBuffer)||(this._program||(this._program=l(o,i)),d&&e(m)&&!this._program.isCompiled?m():(o.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),o.bindVAO(g),o.drawElements(n.TRIANGLES,g.indexBuffer.size,p.UNSIGNED_INT,0),o.bindVAO()))}}export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{BlendFactor as o,CompareFunction as n,PrimitiveType as a,DataType as i}from\"../../../../webgl/enums.js\";const m=()=>r(\"overlay\",{geometry:[{location:0,name:\"a_pos\",count:2,type:i.FLOAT}],tex:[{location:1,name:\"a_uv\",count:2,type:i.UNSIGNED_SHORT}]});class u extends s{constructor(){super(...arguments),this._desc={vsPath:\"overlay/overlay\",fsPath:\"overlay/overlay\",attributes:new Map([[\"a_pos\",0],[\"a_uv\",1]])}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setBlendFunctionSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(r,s){const{context:o,painter:n,requestRender:i,allowDelayedRender:u}=r;if(!s.isReady)return;const{computedOpacity:c,dvsMat3:d,isWrapAround:l,perspectiveTransform:p,texture:f}=s;r.timeline.begin(this.name);const _=n.materialManager.getProgram(this._desc);if(u&&e(i)&&!_.isCompiled)return void i();const v=m(),y=s.getVAO(o,v.bufferLayouts,v.attributes);if(!y)return;o.bindVAO(y),o.useProgram(_),o.bindTexture(f,t),_.setUniformMatrix3fv(\"u_dvsMat3\",d),_.setUniform1i(\"u_texture\",t),_.setUniform1f(\"u_opacity\",c),_.setUniform2fv(\"u_perspective\",p);const A=l?10:4;o.drawArrays(a.TRIANGLE_STRIP,0,A),o.bindVAO(),r.timeline.end(this.name)}}export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{MIN_MAX_ZOOM_PRECISION_FACTOR as i,TEXTURE_BINDING_ATTRIBUTE_DATA_0 as s,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as o,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r,TEXTURE_BINDING_ATTRIBUTE_DATA_4 as n,TEXTURE_BINDING_ATTRIBUTE_DATA_5 as m}from\"../definitions.js\";import u from\"./WGLBrush.js\";import{MaterialKeyBase as v}from\"../materialKey/MaterialKey.js\";import{BlendFactor as f,CompareFunction as l}from\"../../../../webgl/enums.js\";class p extends u{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e){e&&e.includes(\"hittest\")?t.setBlendFunctionSeparate(f.ONE,f.ONE,f.ONE,f.ONE):t.setBlendFunctionSeparate(f.ONE,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0)}draw(e,i,s){const o=this.getGeometryType();i.commit(e);const a=i.getGeometry(o);t(a)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),e.context.setStencilFunction(l.EQUAL,i.stencilRef,255),a.forEachCommand((t=>{const o=v.load(t.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(e,i,t,s)})))}_setSharedUniforms(t,u,v){const{displayLevel:f,pixelRatio:l,state:p,passOptions:c}=u;e(c)&&\"hittest\"===c.type&&(t.setUniform2fv(\"u_hittestPos\",c.position),t.setUniform1f(\"u_hittestDist\",c.distance)),t.setUniform1f(\"u_pixelRatio\",l),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",p.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(f*i)),t.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r),t.setUniform1i(\"u_attributeData4\",n),t.setUniform1i(\"u_attributeData5\",m)}_setSizeVVUniforms(t,e,i,s){if(t.vvSizeMinMaxValue&&e.setUniform4fv(\"u_vvSizeMinMaxValue\",i.vvSizeMinMaxValue),t.vvSizeScaleStops&&e.setUniform1f(\"u_vvSizeScaleStopsValue\",i.vvSizeScaleStopsValue),t.vvSizeFieldStops){const t=i.getSizeVVFieldStops(s.key.level);e.setUniform1fv(\"u_vvSizeFieldStopsValues\",t.values),e.setUniform1fv(\"u_vvSizeFieldStopsSizes\",t.sizes)}t.vvSizeUnitValue&&e.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",i.vvSizeUnitValueToPixelsRatio)}_setColorAndOpacityVVUniforms(t,e,i){t.vvColor&&(e.setUniform1fv(\"u_vvColorValues\",i.vvColorValues),e.setUniform4fv(\"u_vvColors\",i.vvColors)),t.vvOpacity&&(e.setUniform1fv(\"u_vvOpacityValues\",i.vvOpacityValues),e.setUniform1fv(\"u_vvOpacities\",i.vvOpacities))}_setRotationVVUniforms(t,e,i){t.vvRotation&&e.setUniform1f(\"u_vvRotationType\",\"geographic\"===i.vvMaterialParameters.vvRotationType?0:1)}_getTriangleDesc(t,e,i=[\"a_pos\"]){const s=e.bufferLayouts.geometry,o=i.map((t=>s.findIndex((e=>e.name===t)))),a=`${t}-${o.join(\"-\")}`;let r=this._computeDesc.get(a);if(!r){const t=e.strides,i=e.strides.geometry,n=new Map(e.attributes),m=s.map((t=>({...t}))),u=Math.max(...e.attributes.values()),v={geometry:m};let f=0;for(const e of o){const t=s[e];v.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),v.geometry.push({count:t.count,name:t.name+\"2\",divisor:t.divisor,normalized:t.normalized,offset:2*i+t.offset,stride:i,type:t.type}),n.set(t.name+\"1\",u+ ++f),n.set(t.name+\"2\",u+ ++f)}r={bufferLayouts:v,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e,unwrapOr as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as o,WGLSymbologyType as r}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import i from\"./WGLGeometryBrush.js\";import{FillMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as s}from\"../techniques/utils.js\";import{PrimitiveType as m,DataType as l}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:l.SHORT},{location:1,name:\"a_id\",count:3,type:l.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:l.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:l.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:l.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:l.SHORT},{location:6,name:\"a_aux3\",count:4,type:l.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:l.UNSIGNED_SHORT}]};switch(e.symbologyType){case r.SIMPLE:case r.OUTLINE_FILL_SIMPLE:t.geometry.splice(7,1),t.geometry.splice(4,1)}return{shader:\"materials/fill\",vertexLayout:t}}class c extends i{dispose(){}getGeometryType(){return o.FILL}supportsSymbology(e){return e!==r.DOT_DENSITY}drawGeometry(o,r,i,l){const{context:c,painter:y,rendererInfo:p,requiredLevel:_,passOptions:d,requestRender:f,allowDelayedRender:E}=o,S=n.load(i.materialKey),g=s(S.data),N=e(d)&&\"hittest\"===d.type,T=y.materialManager,{shader:I,vertexLayout:U,hittestAttributes:x}=t(g.programSpec,u(S));let L=m.TRIANGLES,h=a(S.data,U);N&&(h=this._getTriangleDesc(i.materialKey,h,x),L=m.POINTS);const{attributes:G,bufferLayouts:O}=h,b=T.getMaterialProgram(o,S,I,G,l);if(E&&e(f)&&!b.isCompiled)return void f();if(c.useProgram(b),this._setSharedUniforms(b,o,r),b.setUniform2f(\"u_tileOffset\",512*r.key.col,512*r.key.row),S.textureBinding){y.textureManager.bindTextures(c,b,S);const e=1/2**(_-r.key.level);b.setUniform1f(\"u_zoomFactor\",e)}const D=1/o.pixelRatio;b.setUniform1f(\"u_blur\",D),b.setUniform1f(\"u_antialiasing\",D),this._setSizeVVUniforms(S,b,p,r),this._setColorAndOpacityVVUniforms(S,b,p);const R=i.target.getVAO(c,O,G,N);let w=i.indexCount,j=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;N&&(w/=3,j/=3),c.bindVAO(R),this._drawFills(o,r,b,L,w,j)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,l.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e,isSome as t,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as s,TEXTURE_BINDING_RENDERER_1 as i,TILE_SIZE as n}from\"../definitions.js\";import{WGLGeometryType as d,WGLSymbologyType as a}from\"../enums.js\";import l from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as _}from\"../techniques/utils.js\";import{BufferObject as u}from\"../../../../webgl/BufferObject.js\";import{DataType as m,PrimitiveType as h,TextureType as c,PixelFormat as f,PixelType as T,TextureSamplingMode as p,TextureWrapMode as x,TargetType as w,DepthStencilTargetType as D,RenderbufferFormat as y,Usage as g}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as E}from\"../../../../webgl/Renderbuffer.js\";import{Texture as b}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as F}from\"../../../../webgl/VertexArrayObject.js\";class O extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([s,i]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){super.dispose(),this._disposeTextures(),this._dotFBO=e(this._dotFBO),this._dotVAO=e(this._dotVAO)}getGeometryType(){return d.FILL}supportsSymbology(e){return e===a.DOT_DENSITY}_drawFills(e,o,r,s,i,n){const{passOptions:d}=e;if(t(d)&&\"hittest\"===d.type)super._drawFills(e,o,r,s,i,n);else{const t=this._drawDotLocations(e,o,r,i,n);this._drawDotDensity(e,o,t)}}_drawDotDensity(e,o,r){const{context:s,painter:i,rendererInfo:n,requestRender:d,allowDelayedRender:a}=e,l=i.materialManager.getProgram(this._dotDesc);if(a&&t(d)&&!l.isCompiled)return void d();const{rendererSchema:u}=n;_(u,\"dot-density\");const c=this._createDotDensityMesh(s,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:m.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});s.setStencilTestEnabled(!0),s.useProgram(l),l.setUniform1f(\"u_tileZoomFactor\",1),l.setUniform1i(\"u_texture\",this._dotSamplers[0]),l.setUniform1f(\"u_dotSize\",Math.max(u.dotSize,1)),l.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(l,e,o),s.bindTexture(r,this._dotSamplers[0]),s.bindVAO(c),s.drawArrays(h.POINTS,0,262144)}_drawDotLocations(e,t,o,r,s){const{context:i,rendererInfo:d,requiredLevel:a}=e,l=i.getViewport(),{rendererSchema:u}=d;_(u,\"dot-density\");const{dotScale:c,colors:f,activeDots:T,backgroundColor:p,dotValue:x}=u;i.setViewport(0,0,512,512);const w=i.getBoundFramebufferObject(),D=this._createFBO(i);i.bindFramebuffer(D),i.setClearColor(0,0,0,0),i.clear(i.gl.COLOR_BUFFER_BIT|i.gl.STENCIL_BUFFER_BIT),i.setStencilTestEnabled(!1);const y=1/2**(a-t.key.level),g=n,S=g*window.devicePixelRatio*g*window.devicePixelRatio,E=1/y*(1/y),b=c?e.state.scale/c:1;return o.setUniform1f(\"u_tileZoomFactor\",y),o.setUniform1f(\"u_tileDotsOverArea\",S/(n*window.devicePixelRatio*n*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",f),o.setUniform4fv(\"u_isActive\",T),o.setUniform4fv(\"u_dotBackgroundColor\",p),o.setUniform1f(\"u_dotValue\",Math.max(1,x*b*E)),this._bindDotDensityTextures(i,o,d,g),i.drawElements(h.TRIANGLES,r,m.UNSIGNED_INT,s),i.setViewport(l.x,l.y,l.width,l.height),i.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(o(this._dotFBO)){const t=512,o=512,r={target:c.TEXTURE_2D,pixelFormat:f.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:x.CLAMP_TO_EDGE,width:t,height:o},s={colorTarget:w.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},i=new E(e,{width:t,height:o,internalFormat:y.DEPTH_STENCIL});this._dotFBO=new S(e,s,r,i)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;es?2:1,R=e.drawPhase===a.HITTEST,k=this._programOptions;k.id=R,k.pattern=j;const T=y.getMaterialProgram(c,v,k);if(d&&r(_)&&!T.isCompiled)_();else{if(c.bindVAO(this._vao),c.useProgram(T),j){const t=L.getMosaicItemPosition(x,!0);if(r(t)){const{tl:e,br:o,page:s}=t;A=o[0]-e[0],P=o[1]-e[1];const a=L.getPageSize(s);r(a)&&(L.bind(c,f.LINEAR,s,i),T.setUniform4f(\"u_tlbr\",e[0],e[1],o[0],o[1]),T.setUniform2fv(\"u_mosaicSize\",a),T.setUniform1i(\"u_texture\",i))}T.setUniform1f(\"u_opacity\",M)}else this._color[0]=U*b[0],this._color[1]=U*b[1],this._color[2]=U*b[2],this._color[3]=U,T.setUniform4fv(\"u_color\",this._color);if(T.setUniform1f(\"u_depth\",g.z||0),R){const t=n(p+1);T.setUniform4fv(\"u_id\",t)}for(const r of o){if(T.setUniform1f(\"u_coord_range\",r.rangeX),T.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),j){const e=Math.max(2**(Math.round(h)-r.key.level),1),o=I*r.width*e,i=o/t(A),s=o/t(P);this._patternMatrix[0]=i,this._patternMatrix[4]=s,T.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}c.setStencilFunction(l.EQUAL,0,255),c.drawArrays(u.TRIANGLE_STRIP,0,4)}}}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{d as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as r}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import n from\"./WGLBrush.js\";import{CompareFunction as s,PrimitiveType as o,DataType as l}from\"../../../../webgl/enums.js\";class c extends n{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(n,c){const{context:m,displayLevel:d,requiredLevel:f,state:u,drawPhase:p,painter:y,spriteMosaic:g,styleLayerUID:v,requestRender:E,allowDelayedRender:M}=n;if(!c.some((e=>e.layerData.get(v)?.circleIndexCount??!1)))return;const T=n.styleLayer,x=T.circleMaterial,I=y.vectorTilesMaterialManager,U=1.2,_=T.getPaintValue(\"circle-translate\",d),R=T.getPaintValue(\"circle-translate-anchor\",d),h=p===i.HITTEST,D=this._programOptions;D.id=h;const L=I.getMaterialProgram(m,x,D);if(M&&e(E)&&!L.isCompiled)return void E();m.useProgram(L),L.setUniformMatrix3fv(\"u_displayMat3\",R===r.VIEWPORT?u.displayMat3:u.displayViewMat3),L.setUniform2fv(\"u_circleTranslation\",_),L.setUniform1f(\"u_depth\",T.z),L.setUniform1f(\"u_antialiasingWidth\",U);let S=-1;if(h){const e=a(v+1);L.setUniform4fv(\"u_id\",e)}for(const e of c){if(!e.layerData.has(v))continue;e.key.level!==S&&(S=e.key.level,x.setDataUniforms(L,d,T,S,g));const r=e.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(m);const i=r.circleVertexArrayObject;t(i)||(m.bindVAO(i),L.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),f!==e.key.level?m.setStencilFunction(s.EQUAL,e.stencilRef,255):m.setStencilFunction(s.GREATER,255,255),m.drawElements(o.TRIANGLES,r.circleIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),e.triangleCount+=r.circleIndexCount/3)}}}export{c as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as a}from\"../definitions.js\";import{WGLDrawPhase as n}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import l from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as f,PrimitiveType as u,DataType as d}from\"../../../../webgl/enums.js\";const c=1/65536;class m extends l{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:a,spriteMosaic:l,styleLayerUID:s}=t;let f=!1;for(const n of e)if(n.layerData.has(s)){const t=n.layerData.get(s);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,d=u.getPaintProperty(\"fill-pattern\"),c=void 0!==d,m=c&&d.isDataDriven;let p;if(c&&!m){const t=d.getValue(i);p=l.getMosaicItemPosition(t,!0)}const y=!c&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!c){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!t?.isDataDriven&&!e?.isDataDriven){const t=u.getPaintValue(\"fill-color\",i);_=u.getPaintValue(\"fill-opacity\",i)*t[3],_>=1&&(g=!1)}}if(g&&\"opaque\"===a)return;let E;r===n.HITTEST&&(E=o(s+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==a)&&this._drawFill(t,s,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==a&&!P&&this._drawOutline(t,s,u,e,v,M,E)}_drawFill(o,l,m,p,y,g,_,E,v,M){if(_&&!v&&t(E))return;const{context:P,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:D,spriteMosaic:h,requestRender:S,allowDelayedRender:R}=o,w=m.fillMaterial,N=x.vectorTilesMaterialManager,L=D>a?2:1,A=U===n.HITTEST,C=this._fillProgramOptions;C.id=A,C.pattern=_;const V=N.getMaterialProgram(P,w,C);if(R&&e(S)&&!V.isCompiled)return void S();if(P.useProgram(V),e(E)){const{page:t}=E,i=h.getPageSize(t);e(i)&&(h.bind(P,s.LINEAR,t,r),V.setUniform2fv(\"u_mosaicSize\",i),V.setUniform1i(\"u_texture\",r))}V.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),V.setUniform2fv(\"u_fillTranslation\",y),V.setUniform1f(\"u_depth\",m.z+c),A&&V.setUniform4fv(\"u_id\",M);let O=-1;for(const i of p){if(!i.layerData.has(l))continue;i.key.level!==O&&(O=i.key.level,w.setDataUniforms(V,I,m,O,h));const a=i.layerData.get(l);if(!a.fillIndexCount)continue;a.prepareForRendering(P);const n=a.fillVertexArrayObject;if(!t(n)){if(P.bindVAO(n),V.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),P.setStencilFunction(f.EQUAL,i.stencilRef,255),_){const t=Math.max(2**(Math.round(I)-i.key.level),1),e=i.rangeX/(L*i.width*t);V.setUniform1f(\"u_patternFactor\",e)}if(v){const t=a.patternMap;if(!t)continue;for(const[i,a]of t){const t=h.getPageSize(i);e(t)&&(h.bind(P,s.LINEAR,i,r),V.setUniform2fv(\"u_mosaicSize\",t),V.setUniform1i(\"u_texture\",r),P.drawElements(u.TRIANGLES,a[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a[0]))}}else P.drawElements(u.TRIANGLES,a.fillIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.fillIndexStart);i.triangleCount+=a.fillIndexCount/3}}}_drawOutline(r,a,o,l,s,m,p){const{context:y,displayLevel:g,state:_,drawPhase:E,painter:v,pixelRatio:M,spriteMosaic:P,requestRender:I,allowDelayedRender:T}=r,U=o.outlineMaterial,x=v.vectorTilesMaterialManager,D=.75/M,h=E===n.HITTEST,S=this._outlineProgramOptions;S.id=h;const R=x.getMaterialProgram(y,U,S);if(T&&e(I)&&!R.isCompiled)return void I();y.useProgram(R),R.setUniformMatrix3fv(\"u_displayMat3\",m===i.VIEWPORT?_.displayMat3:_.displayViewMat3),R.setUniform2fv(\"u_fillTranslation\",s),R.setUniform1f(\"u_depth\",o.z+c),R.setUniform1f(\"u_outline_width\",D),h&&R.setUniform4fv(\"u_id\",p);let w=-1;for(const e of l){if(!e.layerData.has(a))continue;e.key.level!==w&&(w=e.key.level,U.setDataUniforms(R,g,o,w,P));const i=e.layerData.get(a);if(i.prepareForRendering(y),!i.outlineIndexCount)continue;const r=i.outlineVertexArrayObject;t(r)||(y.bindVAO(r),R.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),y.setStencilFunction(f.EQUAL,e.stencilRef,255),y.drawElements(u.TRIANGLES,i.outlineIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.outlineIndexStart),e.triangleCount+=i.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import o from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as l,PrimitiveType as f,DataType as m}from\"../../../../webgl/enums.js\";class u extends o{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(o,u){const{context:c,displayLevel:d,state:p,drawPhase:y,painter:g,pixelRatio:E,spriteMosaic:M,styleLayerUID:_,requestRender:v,allowDelayedRender:U}=o;if(!u.some((e=>e.layerData.get(_)?.lineIndexCount??!1)))return;const I=o.styleLayer,P=I.lineMaterial,x=g.vectorTilesMaterialManager,T=I.getPaintValue(\"line-translate\",d),D=I.getPaintValue(\"line-translate-anchor\",d),S=I.getPaintProperty(\"line-pattern\"),L=void 0!==S,N=L&&S.isDataDriven;let R,V;if(L&&!N){const e=S.getValue(d);R=M.getMosaicItemPosition(e)}let h=!1;if(!L){const e=I.getPaintProperty(\"line-dasharray\");if(V=void 0!==e,h=V&&e.isDataDriven,V&&!h){const t=e.getValue(d),i=I.getDashKey(t,I.getLayoutValue(\"line-cap\",d));R=M.getMosaicItemPosition(i)}}const w=1/E,A=y===r.HITTEST,j=this._programOptions;j.id=A,j.pattern=L,j.sdf=V;const b=x.getMaterialProgram(c,P,j);if(U&&e(v)&&!b.isCompiled)return void v();if(c.useProgram(b),b.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),b.setUniformMatrix3fv(\"u_displayMat3\",D===i.VIEWPORT?p.displayMat3:p.displayViewMat3),b.setUniform2fv(\"u_lineTranslation\",T),b.setUniform1f(\"u_depth\",I.z),b.setUniform1f(\"u_antialiasing\",w),A){const e=a(_+1);b.setUniform4fv(\"u_id\",e)}if(R&&e(R)){const{page:t}=R,i=M.getPageSize(t);e(i)&&(M.bind(c,s.LINEAR,t,n),b.setUniform2fv(\"u_mosaicSize\",i),b.setUniform1i(\"u_texture\",n))}let z=-1;for(const i of u){if(!i.layerData.has(_))continue;i.key.level!==z&&(z=i.key.level,P.setDataUniforms(b,d,I,z,M));const r=2**(d-z)/E;b.setUniform1f(\"u_zoomFactor\",r);const a=i.layerData.get(_);if(!a.lineIndexCount)continue;a.prepareForRendering(c);const o=a.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),b.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),N||h){const t=a.patternMap;if(!t)continue;for(const[i,r]of t){const t=M.getPageSize(i);e(t)&&(M.bind(c,s.LINEAR,i,n),b.setUniform2fv(\"u_mosaicSize\",t),b.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,r[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r[0]))}}else c.drawElements(f.TRIANGLES,a.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.lineIndexStart);i.triangleCount+=a.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{c as i,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as r}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as s,SymbolPlacement as n,TranslateAnchor as o}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as l,VTL_TEXTURE_BINDING_UNIT_GLYPHS as f}from\"../definitions.js\";import{WGLDrawPhase as u}from\"../enums.js\";import{degToByte as m}from\"../GeometryUtils.js\";import{u32to4Xu8 as p}from\"../number.js\";import c from\"./WGLBrush.js\";import{TextureSamplingMode as d,CompareFunction as y,PrimitiveType as g,DataType as _}from\"../../../../webgl/enums.js\";const h=1/65536;class M extends c{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let s;i===u.HITTEST&&(s=p(a+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(i,a,f,p){const{context:c,displayLevel:d,drawPhase:y,painter:g,spriteMosaic:_,state:h,styleLayerUID:M,requestRender:P,allowDelayedRender:T}=i,U=a.iconMaterial,E=g.vectorTilesMaterialManager;let x,v=!1;for(const e of f)if(e.layerData.has(M)&&(x=e.layerData.get(M),x.iconPerPageElementsMap.size>0)){v=!0;break}if(!v)return;const D=a.getPaintValue(\"icon-translate\",d),I=a.getPaintValue(\"icon-translate-anchor\",d);let R=a.getLayoutValue(\"icon-rotation-alignment\",d);R===s.AUTO&&(R=a.getLayoutValue(\"symbol-placement\",d)===n.POINT?s.VIEWPORT:s.MAP);const S=R===s.MAP,V=a.getLayoutValue(\"icon-keep-upright\",d)&&S,w=x.isIconSDF,A=y===u.HITTEST,L=this._iconProgramOptions;L.id=A,L.sdf=w;const O=E.getMaterialProgram(c,U,L);if(T&&e(P)&&!O.isCompiled)return void P();c.useProgram(O),O.setUniformMatrix3fv(\"u_displayViewMat3\",R===s.MAP?h.displayViewMat3:h.displayMat3),O.setUniformMatrix3fv(\"u_displayMat3\",I===o.VIEWPORT?h.displayMat3:h.displayViewMat3),O.setUniform2fv(\"u_iconTranslation\",D),O.setUniform1f(\"u_depth\",a.z),O.setUniform1f(\"u_mapRotation\",m(h.rotation)),O.setUniform1f(\"u_keepUpright\",V?1:0),O.setUniform1f(\"u_level\",10*d),O.setUniform1i(\"u_texture\",l),O.setUniform1f(\"u_fadeDuration\",r/1e3),A&&O.setUniform4fv(\"u_id\",p);let N=-1;for(const e of f){if(!e.layerData.has(M))continue;if(e.key.level!==N&&(N=e.key.level,U.setDataUniforms(O,d,a,N,_)),x=e.layerData.get(M),0===x.iconPerPageElementsMap.size)continue;x.prepareForRendering(c),x.updateOpacityInfo();const r=x.iconVertexArrayObject;if(!t(r)){c.bindVAO(r),O.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),O.setUniform1f(\"u_time\",(performance.now()-x.lastOpacityUpdate)/1e3);for(const[t,a]of x.iconPerPageElementsMap)this._renderIconRange(i,O,a,t,e)}}}_renderIconRange(e,t,i,a,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(a)/4,this._spritesTextureSize[1]=n.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,d.LINEAR,a,l),s.setStencilTestEnabled(!0),s.setStencilFunction(y.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(g.TRIANGLES,i[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(i,l,p,c){const{context:d,displayLevel:g,drawPhase:_,glyphMosaic:M,painter:P,pixelRatio:T,spriteMosaic:U,state:E,styleLayerUID:x,requestRender:v,allowDelayedRender:D}=i,I=l.textMaterial,R=P.vectorTilesMaterialManager;let S,V=!1;for(const e of p)if(e.layerData.has(x)&&(S=e.layerData.get(x),S.glyphPerPageElementsMap.size>0)){V=!0;break}if(!V)return;const w=l.getPaintProperty(\"text-opacity\");if(w&&!w.isDataDriven&&0===w.getValue(g))return;const A=l.getPaintProperty(\"text-color\"),L=!A||A.isDataDriven||A.getValue(g)[3]>0,O=l.getPaintProperty(\"text-halo-width\"),N=l.getPaintProperty(\"text-halo-color\"),b=(!O||O.isDataDriven||O.getValue(g)>0)&&(!N||N.isDataDriven||N.getValue(g)[3]>0);if(!L&&!b)return;const z=24/8;let k=l.getLayoutValue(\"text-rotation-alignment\",g);k===s.AUTO&&(k=l.getLayoutValue(\"symbol-placement\",g)===n.POINT?s.VIEWPORT:s.MAP);const j=k===s.MAP,G=l.getLayoutValue(\"text-keep-upright\",g)&&j,W=_===u.HITTEST,C=.8*z/T;this._glyphTextureSize||(this._glyphTextureSize=a(M.width/4,M.height/4));const F=l.getPaintValue(\"text-translate\",g),B=l.getPaintValue(\"text-translate-anchor\",g),H=this._sdfProgramOptions;H.id=W;const Y=R.getMaterialProgram(d,I,H);if(D&&e(v)&&!Y.isCompiled)return void v();d.useProgram(Y),Y.setUniformMatrix3fv(\"u_displayViewMat3\",k===s.MAP?E.displayViewMat3:E.displayMat3),Y.setUniformMatrix3fv(\"u_displayMat3\",B===o.VIEWPORT?E.displayMat3:E.displayViewMat3),Y.setUniform2fv(\"u_textTranslation\",F),Y.setUniform1f(\"u_depth\",l.z+h),Y.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),Y.setUniform1f(\"u_mapRotation\",m(E.rotation)),Y.setUniform1f(\"u_keepUpright\",G?1:0),Y.setUniform1f(\"u_level\",10*g),Y.setUniform1i(\"u_texture\",f),Y.setUniform1f(\"u_antialiasingWidth\",C),Y.setUniform1f(\"u_fadeDuration\",r/1e3),W&&Y.setUniform4fv(\"u_id\",c);let q=-1;for(const e of p){if(!e.layerData.has(x))continue;if(e.key.level!==q&&(q=e.key.level,I.setDataUniforms(Y,g,l,q,U)),S=e.layerData.get(x),0===S.glyphPerPageElementsMap.size)continue;S.prepareForRendering(d),S.updateOpacityInfo();const i=S.textVertexArrayObject;if(t(i))continue;d.bindVAO(i),Y.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(y.GREATER,255,255),d.setStencilWriteMask(0);const a=(performance.now()-S.lastOpacityUpdate)/1e3;Y.setUniform1f(\"u_time\",a),S.glyphPerPageElementsMap.forEach(((t,i)=>{this._renderGlyphRange(d,t,i,M,Y,b,L,e)}))}}_renderGlyphRange(e,t,i,a,r,s,n,o){a.bind(e,d.LINEAR,i,f),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(g.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3),n&&(r.setUniform1f(\"u_halo\",0),e.drawElements(g.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{M as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{CompareFunction as r,PrimitiveType as i,DataType as s}from\"../../../../webgl/enums.js\";const m=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:s.SHORT},{location:1,name:\"a_id\",count:4,type:s.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:s.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:s.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:s.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:s.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:s.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:s.SHORT},{location:8,name:\"a_texCoords\",count:2,type:s.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return t.LABEL}supportsSymbology(e){return!0}drawGeometry(t,o,a,l){const{context:d,painter:u,state:c,rendererInfo:f,requestRender:p,allowDelayedRender:y}=t,_=n.load(a.materialKey),E=_.mapAligned?1:0;if(!E&&Math.abs(o.key.level-Math.round(100*t.displayLevel)/100)>=1)return;const{bufferLayouts:N,attributes:S}=m(_),U=u.materialManager.getMaterialProgram(t,_,\"materials/label\",S,l);if(y&&e(p)&&!U.isCompiled)return void p();t.context.setStencilFunction(r.EQUAL,0,255),d.useProgram(U),this._setSharedUniforms(U,t,o),u.textureManager.bindTextures(d,U,_);const T=1===E?c.displayViewMat3:c.displayMat3;this._setSizeVVUniforms(_,U,f,o),U.setUniform1f(\"u_mapRotation\",Math.floor(c.rotation/360*254)),U.setUniform1f(\"u_mapAligned\",E),U.setUniformMatrix3fv(\"u_displayMat3\",T),U.setUniform1f(\"u_opacity\",1),U.setUniform2fv(\"u_screenSize\",t.state.size),U.setUniform1f(\"u_isHalo\",1);const g=a.target.getVAO(d,N,S),G=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;d.bindVAO(g),d.drawElements(i.TRIANGLES,a.indexCount,s.UNSIGNED_INT,G),U.setUniform1f(\"u_isHalo\",0),d.drawElements(i.TRIANGLES,a.indexCount,s.UNSIGNED_INT,G),d.setStencilTestEnabled(!0),d.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{PrimitiveType as r,DataType as i}from\"../../../../webgl/enums.js\";const s=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:i.SHORT},{location:1,name:\"a_id\",count:4,type:i.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:i.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:i.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:i.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:i.BYTE},{location:7,name:\"a_aux\",count:2,type:i.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:i.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return t.LINE}supportsSymbology(e){return!0}drawGeometry(t,o,a,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:d,requestRender:y,allowDelayedRender:_}=t,f=n.load(a.materialKey),E=e(d)&&\"hittest\"===d.type;let N=s(f),g=r.TRIANGLES;E&&(N=this._getTriangleDesc(a.materialKey,N),g=r.POINTS);const{attributes:S,bufferLayouts:T}=N,U=c.materialManager.getMaterialProgram(t,f,\"materials/line\",S,m);if(_&&e(y)&&!U.isCompiled)return void y();const G=1/t.pixelRatio,I=0;l.useProgram(U),this._setSharedUniforms(U,t,o),f.textureBinding&&c.textureManager.bindTextures(l,U,f);const D=2**(p-o.key.level);U.setUniform1f(\"u_zoomFactor\",D),U.setUniform1f(\"u_blur\",I+G),U.setUniform1f(\"u_antialiasing\",G),this._setSizeVVUniforms(f,U,u,o),this._setColorAndOpacityVVUniforms(f,U,u),l.setFaceCullingEnabled(!1);const R=a.target.getVAO(l,T,S,E);let b=a.indexCount,x=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;E&&(b/=3,x/=3),l.bindVAO(R),l.drawElements(g,b,i.UNSIGNED_INT,x)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{TextMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{PrimitiveType as n,DataType as i}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:i.SHORT},{location:1,name:\"a_id\",count:4,type:i.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:i.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:i.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:i.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:i.SHORT},{location:8,name:\"a_texCoords\",count:2,type:i.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.TEXT}supportsSymbology(t){return!0}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:d,passOptions:y,requestRender:_,allowDelayedRender:c}=e,f=r.load(a.materialKey),E=t(y)&&\"hittest\"===y.type,{bufferLayouts:N,attributes:S}=s(f),T=p.materialManager.getMaterialProgram(e,f,\"materials/text\",S,m);if(c&&t(_)&&!T.isCompiled)return void _();l.useProgram(T);let U=n.TRIANGLES;E&&(U=n.POINTS),this._setSharedUniforms(T,e,o),p.textureManager.bindTextures(l,T,f),T.setUniformMatrix3fv(\"u_displayMat3\",d.displayMat3),T.setUniformMatrix3fv(\"u_displayViewMat3\",d.displayViewMat3),this._setSizeVVUniforms(f,T,u,o),this._setColorAndOpacityVVUniforms(f,T,u),this._setRotationVVUniforms(f,T,u),T.setUniform1f(\"u_isHalo\",1);const x=a.target.getVAO(l,N,S),G=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(x),l.drawElements(n.TRIANGLES,a.indexCount,i.UNSIGNED_INT,G),T.setUniform1f(\"u_isHalo\",0),l.drawElements(U,a.indexCount,i.UNSIGNED_INT,G)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport r from\"./flow/BrushFlow.js\";import s from\"./imagery/BrushRasterBitmap.js\";import e from\"./imagery/BrushVectorField.js\";import o from\"./webgl/brushes/BrushBitmap.js\";import m from\"./webgl/brushes/BrushClip.js\";import t from\"./webgl/brushes/BrushOverlay.js\";import l from\"./webgl/brushes/WGLBrushDotDensity.js\";import i from\"./webgl/brushes/WGLBrushHeatmap.js\";import h from\"./webgl/brushes/WGLBrushInfo.js\";import b from\"./webgl/brushes/WGLBrushPieChart.js\";import u from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as p}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as f}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as B}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as L}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as a}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import g from\"./webgl/brushes/WGLGeometryBrushFill.js\";import j from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import w from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import W from\"./webgl/brushes/WGLGeometryBrushText.js\";const n={marker:G,line:w,fill:g,text:W,label:j,clip:m,stencil:u,bitmap:o,overlay:t,raster:s,rasterVF:e,flow:r,tileInfo:h,vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a,dotDensity:l,heatmap:i,pieChart:b};export{n as brushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as r}from\"../../../webgl/enums.js\";class i extends a{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:s(),displayViewMat3:s()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(r.EQUAL,0,255)}draw(s,a){const{requestRender:r,allowDelayedRender:i}=s,{displayData:o}=a;if(t(o))return;if(\"loaded\"===o.state.name&&o.attach(s),\"attached\"!==o.state.name)return;const l=o.state.resources;i&&!l.ready&&e(r)?r():(this._visualState.time=s.time/1e3,this._visualState.dvsMat3=a.transforms.dvs,this._visualState.displayViewMat3=s.state.displayViewMat3,o.flowStyle.render(s,this._visualState,l),o.flowStyle.animated&&e(r)&&r())}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as t}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as r,StencilOperation as s,CompareFunction as o,PrimitiveType as n,DataType as i}from\"../../../webgl/enums.js\";const l=new Float32Array([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),c={beaufort_ft:l,beaufort_m:l,beaufort_km:l,beaufort_mi:l,beaufort_kn:new Float32Array([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:new Float32Array([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:new Float32Array([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:new Float32Array([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),single_arrow:new Float32Array([0,92/255,230/255,1]),wind_speed:new Float32Array([0,0,0,1])};class d extends a{constructor(){super(...arguments),this._desc={magdir:{vsPath:\"raster/magdir\",fsPath:\"raster/magdir\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])},scalar:{vsPath:\"raster/scalar\",fsPath:\"raster/scalar\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])}}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(s.KEEP,s.KEEP,s.REPLACE)}draw(t,a){if(e(a.source)||0===a.source.validPixelCount)return;const{context:r,timeline:s}=t;if(s.begin(this.name),r.setStencilFunction(o.EQUAL,a.stencilRef,255),a.updateVectorFieldVAO(t),\"scalar\"===t.renderPass){const e=a.vaoData.scalar;e&&this._drawScalars(t,a,e.vao,e.elementCount)}else{const e=a.vaoData.magdir;e&&this._drawTriangles(t,a,e.vao,e.elementCount)}s.end(this.name)}_drawTriangles(e,a,r,s){const{context:o,painter:l,requestRender:d,allowDelayedRender:m}=e,{symbolizerParameters:f}=a,u=f.dataRange?[\"dataRange\"]:[];\"geographic\"===f.rotationType&&u.push(\"rotationGeographic\");const _=l.materialManager.getProgram(this._desc.magdir,u);if(m&&t(d)&&!_.isCompiled)return void d();o.useProgram(_);const{coordScale:g,opacity:p,transforms:y}=a;_.setUniform2fv(\"u_coordScale\",g),_.setUniform1f(\"u_opacity\",p),_.setUniformMatrix3fv(\"u_dvsMat3\",y.dvs);const{style:v,dataRange:b,rotation:S,symbolPercentRange:h}=f;_.setUniform4fv(\"u_colors\",c[v]||c.single_arrow),_.setUniform2fv(\"u_dataRange\",b),_.setUniform1f(\"u_rotation\",S),_.setUniform2fv(\"u_symbolPercentRange\",h);const w=this._getSymbolSize(e,a);_.setUniform2fv(\"u_symbolSize\",w),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_drawScalars(e,a,r,s){const{context:o,painter:l,requestRender:c,allowDelayedRender:d}=e,{symbolizerParameters:m}=a,f=[];\"wind_speed\"===m.style?f.push(\"innerCircle\"):m.dataRange&&f.push(\"dataRange\"),\"geographic\"===m.rotationType&&f.push(\"rotationGeographic\");const u=l.materialManager.getProgram(this._desc.scalar,f);if(d&&t(c)&&!u.isCompiled)return void c();o.useProgram(u);const{coordScale:_,opacity:g,transforms:p}=a;u.setUniform2fv(\"u_coordScale\",_),u.setUniform1f(\"u_opacity\",g),u.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs);const{dataRange:y,symbolPercentRange:v}=m;u.setUniform2fv(\"u_dataRange\",y),u.setUniform2fv(\"u_symbolPercentRange\",v);const b=this._getSymbolSize(e,a);u.setUniform2fv(\"u_symbolSize\",b),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_getSymbolSize(e,t){const a=t.key?2**(e.displayLevel-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:r}=t.symbolizerParameters;return[r/(Math.round((t.width-t.offset[0])/r)*r)/a,r/(Math.round((t.height-t.offset[1])/r)*r)/a]}}export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{g as e,h as r,r as s,k as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";const r={geometry:[new o(\"a_pos\",2,e.BYTE,0,2)]},t={geometry:[new o(\"a_pos\",2,e.BYTE,0,4),new o(\"a_tex\",2,e.BYTE,2,4)]},m={geometry:[new o(\"a_pos\",2,e.UNSIGNED_SHORT,0,4)]};export{r as Pos2b,m as Pos2us,t as PosTex2b};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{BufferObject as t}from\"../../../webgl/BufferObject.js\";import{Usage as e,DataType as r,PrimitiveType as s}from\"../../../webgl/enums.js\";import{VertexArrayObject as i}from\"../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";class n{constructor(s,n){this._rctx=s,this._vertexBuffer=t.createVertex(s,e.STATIC_DRAW,new Uint16Array(n)),this._vao=new i(s,new Map([[\"a_position\",0]]),{geometry:[new o(\"a_position\",2,r.SHORT,0,4)]},{geometry:this._vertexBuffer}),this._count=n.length/2}bind(){this._rctx.bindVAO(this._vao)}unbind(){this._rctx.bindVAO(null)}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this._rctx.bindVAO(this._vao),this._rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{e as s}from\"../../../../chunks/earcut.js\";import{s as o}from\"../../../../chunks/vec2.js\";import{a as n}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as i,convertFromPolygon as c}from\"../../../../layers/graphics/featureConversionUtils.js\";import a from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as f}from\"./number.js\";import{BufferObject as h}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as m,Usage as u,DataType as y}from\"../../../webgl/enums.js\";const x=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return y.UNSIGNED_BYTE;case 2:return y.UNSIGNED_SHORT;case 4:return y.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},g=(e,t,r,s)=>{let o=0;for(let n=1;n0:o<0},p=({coords:e,lengths:t},r)=>{const o=[];for(let n=0,i=0;n({...r,[s]:h.createVertex(e,t,this.vertices[s])})),{})),this._cache.vertexBuffers}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{isSome as r,isNone as s}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import a from\"./Mesh2D.js\";import{VertexArrayObject as c}from\"../../../webgl/VertexArrayObject.js\";const n=t=>parseFloat(t)/100;class m extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=i((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new m(t,e)}_destroyGL(){r(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),r(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,i){const[o,h]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===h||(this._lastWidth=o,this._lastHeight=h,this._destroyGL()),s(this._cache.vao)){const s=this._createMesh(e,this._clip),o=s.getIndexBuffer(t),h=s.getVertexBuffers(t);this._cache.mesh=s,this._cache.vao=new c(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:o()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?n(e.left)*r:e.left,o=\"string\"==typeof e.right?n(e.right)*r:e.right,h=\"string\"==typeof e.top?n(e.top)*s:e.top,a=\"string\"==typeof e.bottom?n(e.bottom)*s:e.bottom,c=i,m=h;return{x:c,y:m,width:Math.max(r-o-c,0),height:Math.max(s-a-m,0)}}_createMesh(r,s){switch(s.type){case\"rect\":return a.fromRect(this._createScreenRect(r,s));case\"path\":return a.fromPath(s);case\"geometry\":return a.fromGeometry(r,s);default:return e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\").error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),a.fromRect({x:0,y:0,width:1,height:1})}}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{brushes as t}from\"../brushes.js\";import{Container as i}from\"../Container.js\";import n from\"./ClippingInfo.js\";import{WGLDrawPhase as a}from\"./enums.js\";class o extends i{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}beforeRender(e){super.beforeRender(e),this.updateTransforms(e.state)}_createTransforms(){return{dvs:s()}}doRender(e){const r=this.createRenderParams(e),{painter:s,globalOpacity:t,profiler:i,drawPhase:n}=r,o=n===a.LABEL||n===a.HIGHLIGHT?1:t*this.computedOpacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,o),this.renderChildren(r),s.compositeLayer(r,o),i.recordContainerEnd()}renderChildren(r){e(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(r.painter));for(const e of this._renderPasses)try{e.render(r)}catch(s){}}createRenderParams(e){return e.requireFBO=this.requiresDedicatedFBO,e}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[t.clip],target:()=>this._clippingInfos,drawPhase:a.MAP|a.LABEL|a.LABEL_ALPHA|a.DEBUG|a.HIGHLIGHT})]}updateTransforms(e){for(const r of this.children)r.setTransform(e)}onAttach(){super.onAttach(),this._updateClippingInfo()}onDetach(){super.onDetach(),this._updateClippingInfo()}_updateClippingInfo(){if(r(this._clippingInfos)&&(this._clippingInfos.forEach((e=>e.destroy())),this._clippingInfos=null),!this.stage)return;const e=this._clips;r(e)&&e.length&&(this._clippingInfos=e.items.map((e=>n.fromClipArea(this.stage,e)))),this.requestRender()}}export{o as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.name=this.constructor.name||\"UnnamedBrush\",this.brushEffect=null}prepareState(t,r){}draw(t,r,s){}drawMany(t,r,s){for(const a of r)a.visible&&this.draw(t,a,s)}}export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as e}from\"./sources/resolver.js\";const r={shaders:{vertexShader:e(\"tileInfo/tileInfo.vert\"),fragmentShader:e(\"tileInfo/tileInfo.frag\")},attributes:new Map([[\"a_pos\",0]])};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as n}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as a,PrimitiveType as l,Usage as u,TextureType as m,PixelFormat as _,PixelType as f,TextureSamplingMode as h,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as g}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as d}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class x extends i{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null}prepareState({context:t}){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(e,r){const{context:i,requestRender:o,allowDelayedRender:s}=e;if(!r.isReady)return;if(this._loadWGLResources(i),s&&t(o)&&(!this._outlineProgram.isCompiled||!this._tileInfoProgram.isCompiled))return void o();i.bindVAO(this._outlineVertexArrayObject),i.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(l.LINE_STRIP,0,4);const n=this._getTexture(i,r);n?(i.bindVAO(this._tileInfoVertexArrayObject),i.useProgram(this._tileInfoProgram),i.bindTexture(n,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",n.descriptor.width,n.descriptor.height),i.drawArrays(l.TRIANGLE_STRIP,0,4),i.bindVAO()):i.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const e=g(t,o),i=g(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),l=n.createVertex(t,u.STATIC_DRAW,a),m=new p(t,o.attributes,r,{geometry:l}),_=new Int8Array([0,0,1,0,0,1,1,1]),f=n.createVertex(t,u.STATIC_DRAW,_),h=new p(t,s.attributes,r,{geometry:f});this._outlineProgram=e,this._tileInfoProgram=i,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=h}_getTexture(t,e){if(e.texture&&e.triangleCountReportedInDebug===e.triangleCount)return e.texture;e.triangleCountReportedInDebug=e.triangleCount,this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",`${A}`),this._canvas.setAttribute(\"height\",`${b}`),this._canvas.setAttribute(\"style\",\"display:none\"));const r=e.triangleCount;let i=e.key.id;e.triangleCount>0&&(i+=`, ${r}`);const o=this._canvas,s=o.getContext(\"2d\");return s.font=\"24px sans-serif\",s.textAlign=\"left\",s.textBaseline=\"top\",s.clearRect(0,0,A,b),r>1e5?(s.fillStyle=\"red\",s.fillRect(0,0,A,b),s.fillStyle=\"black\"):(s.clearRect(0,0,A,b),s.fillStyle=\"blue\"),s.fillText(i,0,0),e.texture=new d(t,{target:m.TEXTURE_2D,pixelFormat:_.RGBA,dataType:f.UNSIGNED_BYTE,samplingMode:h.NEAREST,wrapMode:c.CLAMP_TO_EDGE},o),e.texture}}export{x as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as t}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{constructor(){super(...arguments),this._color=e(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:r}){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255)}draw(e,t){const{context:i,requestRender:s,allowDelayedRender:o}=e;this._initialized||this._initialize(i),o&&r(s)&&!this._solidProgram.isCompiled?s():(i.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255),i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[t.rangeX,t.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO())}_initialize(r){if(this._initialized)return!0;const e=_(r,s);if(!e)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,t,{geometry:a});return this._solidProgram=e,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.name=this.constructor.name}createOptions(t,r){return null}}export{t as Effect};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as r}from\"./sources/resolver.js\";const e={shaders:{vertexShader:r(\"background/background.vert\"),fragmentShader:r(\"background/background.frag\")},attributes:new Map([[\"a_pos\",0]])};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nconst e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos, 0.0, 1.0);\\nv_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(in vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\nreturn (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\nreturn (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = clamp(vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b)), vec3(0.0), vec3(1.0));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(clamp(vividLight(Cb.r, Cs.r), 0.0, 1.0),\\nclamp(vividLight(Cb.g, Cs.g), 0.0, 1.0),\\nclamp(vividLight(Cb.b, Cs.b), 0.0, 1.0));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n#endif\\n#ifdef MINUS\\ngl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n#endif\\n#ifdef AVERAGE\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = clamp(vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b)), vec3(0.0), vec3(1.0));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},debug:{overlay:{\"overlay.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvoid main(void) {\\ngl_FragColor = v_color;\\n}\",\"overlay.vert\":\"attribute vec3 a_PositionAndFlags;\\nuniform mat3 u_dvsMat3;\\nuniform vec4 u_colors[4];\\nuniform float u_opacities[4];\\nvarying vec4 v_color;\\nvoid main(void) {\\nvec2 position = a_PositionAndFlags.xy;\\nfloat flags = a_PositionAndFlags.z;\\nint colorIndex = int(mod(flags, 4.0));\\nvec4 color;\\nfor (int i = 0; i < 4; i++) {\\ncolor = u_colors[i];\\nif (i == colorIndex) {\\nbreak;\\n}\\n}\\nint opacityIndex = int(mod(floor(flags / 4.0), 4.0));\\nfloat opacity;\\nfor (int i = 0; i < 4; i++) {\\nopacity = u_opacities[i];\\nif (i == opacityIndex) {\\nbreak;\\n}\\n}\\nv_color = color * opacity;\\ngl_Position = vec4((u_dvsMat3 * vec3(position, 1.0)).xy, 0.0, 1.0);\\n}\"}},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},heatmap:{heatmapResolve:{\"heatmapResolve.frag\":\"precision highp float;\\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 4.0\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform sampler2D u_texture;\\nuniform sampler2D u_gradient;\\nuniform vec2 u_densityMinAndInvRange;\\nuniform float u_densityNormalization;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 data = texture2D(u_texture, v_uv);\\nfloat density = data.r * COMPRESSION_FACTOR;\\ndensity *= u_densityNormalization;\\ndensity = (density - u_densityMinAndInvRange.x) * u_densityMinAndInvRange.y;\\nvec4 color = texture2D(u_gradient, vec2(density, 0.5));\\ngl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"heatmapResolve.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nvarying vec2 v_uv;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 1., 1.);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_texture;\\nmediump float gauss1(mediump vec2 dir) {\\nreturn exp(-dot(dir, dir) / (2.0 * u_sigma * u_sigma));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\nreturn u_channelSelector * sample;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\nmediump float w = gauss1(i * u_direction.xy);\\ntot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\nweight += w;\\n}\\nvoid main(void) {\\nmediump float tot = 0.0;\\nmediump float weight = 0.0;\\naccumGauss1(-5.0, tot, weight);\\naccumGauss1(-4.0, tot, weight);\\naccumGauss1(-3.0, tot, weight);\\naccumGauss1(-2.0, tot, weight);\\naccumGauss1(-1.0, tot, weight);\\naccumGauss1(0.0, tot, weight);\\naccumGauss1(1.0, tot, weight);\\naccumGauss1(2.0, tot, weight);\\naccumGauss1(3.0, tot, weight);\\naccumGauss1(4.0, tot, weight);\\naccumGauss1(5.0, tot, weight);\\ngl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\nmediump float y = texture2D(u_texture, v_texcoord)[3];\\nconst mediump float y0 = 0.5;\\nmediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * u_sigma);\\nmediump float d = (y - y0) / m0;\\nreturn d;\\n}\\nmediump vec4 shade(mediump float d) {\\nmediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\nmappedDistance = clamp(mappedDistance, 0.0, 1.0);\\nreturn texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\nmediump float d = estimateDistance();\\ngl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlayTexture;\\nuniform bool u_maskEnabled;\\nuniform bool u_overlayEnabled;\\nvarying mediump vec2 v_texCoord;\\nconst lowp float barrelFactor = 1.1;\\nlowp vec2 barrel(lowp vec2 uv) {\\nlowp vec2 uvn = uv * 2.0 - 1.0;\\nif (uvn.x == 0.0 && uvn.y == 0.0) {\\nreturn vec2(0.5, 0.5);\\n}\\nlowp float theta = atan(uvn.y, uvn.x);\\nlowp float r = pow(length(uvn), barrelFactor);\\nreturn r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\nlowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\ncolor = (color + (1.0 - color.a) * u_background);\\nlowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\ncolor *= mask;\\nlowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\ngl_FragColor = overlayColor + (1.0 - overlayColor.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec4 u_drawPos;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\nv_texCoord = a_pos;\\ngl_Position = vec4(u_drawPos.xy + vec2(a_pos - 0.5) * u_drawPos.zw, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp sampler2D u_attributeData4;\\nuniform highp sampler2D u_attributeData5;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec3 id) {\\nhighp vec3 texel = unpackDisplayIdTexel(id);\\nhighp float size = float(u_attributeTextureSize);\\nhighp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256);\\nhighp float col = mod(u32, size);\\nhighp float row = (u32 - col) / size;\\nhighp float u = col / size;\\nhighp float v = row / size;\\nreturn vec2(u, v);\\n}\\nhighp vec2 getAttributeDataTextureCoords(in highp vec3 id) {\\nreturn (getAttributeDataCoords(id) * 2.0) - 1.0 + (.5 / vec2(u_attributeTextureSize));\\n}\\nhighp vec4 getAttributeData0(in highp vec3 id) {\\nvec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData3, coords);\\n}\\nhighp vec4 getAttributeData4(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData4, coords);\\n}\\nhighp vec4 getAttributeData5(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData5, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\nbool isMagic = v.x == 255.0 && v.y == 255.0;\\nif (isMagic) {\\nreturn NAN_MAGIC_NUMBER;\\n}\\nreturn (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"barycentric.glsl\":\"float inTriangle(vec3 bary) {\\nvec3 absBary = abs(bary);\\nreturn step((absBary.x + absBary.y + absBary.z), 1.05);\\n}\\nvec3 xyToBarycentric(in vec2 pos, in vec2 v0, in vec2 v1, in vec2 v2) {\\nmat3 xyToBarycentricMat3 = mat3(\\nv1.x * v2.y - v2.x * v1.y, v2.x * v0.y - v0.x * v2.y, v0.x * v1.y - v1.x * v0.y,\\nv1.y - v2.y, v2.y - v0.y, v0.y - v1.y,\\nv2.x - v1.x, v0.x - v2.x, v1.x - v0.x\\n);\\nfloat A2 = v0.x * (v1.y - v2.y) + v1.x * (v2.y - v0.y) + v2.x * (v0.y - v1.y);\\nreturn (1. / A2) * xyToBarycentricMat3 * vec3(1., pos);\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float C_RAD_TO_DEG = 180.0 / 3.141592654;\\nconst float POSITION_PRECISION = 1.0 / 8.0;\\nconst float FILL_POSITION_PRECISION = 1.0 / 1.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float EXTRUDE_SCALE_PLACEMENT_PADDING = 1.0 / 4.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.00001;\\nconst float EPSILON_HITTEST = 0.05;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\\nconst int BITSET_GENERIC_LOCK_COLOR = 1;\\nconst int BITSET_GENERIC_CONSIDER_ALPHA_ONLY = 4;\\nconst int BITSET_MARKER_ALIGNMENT_MAP = 0;\\nconst int BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE = 2;\\nconst int BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY = 3;\\nconst int BITSET_TYPE_FILL_OUTLINE = 0;\\nconst int BITSET_FILL_RANDOM_PATTERN_OFFSET = 2;\\nconst int BITSET_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#include \\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying highp vec3 v_id;\\nvarying lowp vec4 v_color;\\nvarying lowp float v_opacity;\\nvarying mediump vec4 v_aux1;\\n#ifdef PATTERN\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvarying lowp float v_isOutline;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvarying highp vec2 v_dotTextureCoords;\\nvarying highp vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include \\n#include \\n#include \\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nlowp vec4 drawLine() {\\nfloat v_lineWidth = v_aux1.x;\\nvec2 v_normal = v_aux1.yz;\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineWidth,\\nv_opacity,\\nv_id\\n);\\nreturn shadeLine(inputs);\\n}\\n#endif\\nlowp vec4 drawFill() {\\nlowp vec4 out_color = vec4(0.);\\n#ifdef HITTEST\\nout_color = v_color;\\n#elif defined(PATTERN)\\nmediump vec4 v_tlbr = v_aux1;\\nmediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\nmediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\nlowp vec4 color = texture2D(u_texture, samplePos);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nout_color = v_opacity * v_color * color;\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY && !defined(HIGHLIGHT)\\nvec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\nvec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\nvec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\nvec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\nvec4 isPositive0 = step(0.0, difference0);\\nvec4 isPositive1 = step(0.0, difference1);\\nfloat weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\nfloat lessThanEqZero = step(weightSum, 0.0);\\nfloat greaterThanZero = 1.0 - lessThanEqZero ;\\nfloat divisor = (weightSum + lessThanEqZero);\\nvec4 weights0 = difference0 * isPositive0 / divisor;\\nvec4 weights1 = difference1 * isPositive1 / divisor;\\nvec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\nvec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\nfloat diffMax = max(max4(difference0), max4(difference1));\\nfloat lessThanZero = step(diffMax, 0.0);\\nfloat greaterOrEqZero = 1.0 - lessThanZero;\\nvec4 isMax0 = step(diffMax, difference0);\\nvec4 isMax1 = step(diffMax, difference1);\\nvec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\nvec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\nout_color = preEffectColor;\\n#else\\nout_color = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\nout_color.a = 1.0;\\n#endif\\nreturn out_color;\\n}\\nvoid main() {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#include \\n#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_aux2;\\nattribute vec4 a_aux3;\\n#ifndef SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\nattribute vec4 a_aux1;\\nattribute vec2 a_zoomRange;\\n#else\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#endif\\n#endif\\nuniform vec2 u_tileOffset;\\n#include \\n#include \\n#include \\n#include \\nconst float INV_SCALE_COMPRESSION_FACTOR = 1.0 / 128.0;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nvoid drawLine(out lowp vec4 out_color, out highp vec3 out_pos) {\\nLineData outputs = buildLine(\\nout_pos,\\na_id,\\na_pos,\\na_color,\\n(a_aux3.xy - 128.) / 16.,\\n(a_aux3.zw - 128.) / 16.,\\n0.,\\na_aux2.z / 16.,\\na_bitset,\\nvec4(0.),\\nvec2(0.),\\na_aux2.w / 16.\\n);\\nv_id = outputs.id;\\nv_opacity = outputs.opacity;\\nv_aux1 = vec4(outputs.lineHalfWidth, outputs.normal, 0.);\\nout_color = outputs.color;\\n}\\n#endif\\nvoid drawFill(out lowp vec4 out_color, out highp vec3 out_pos) {\\nfloat a_bitSet = a_bitset;\\nout_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nmat3 tileToTileNormalized = mat3( 2. / 512., 0., 0.,\\n0., -2. / 512., 0.,\\n-1., 1., 1. );\\nout_pos = tileToTileNormalized * vec3((a_pos * FILL_POSITION_PRECISION), 1.);\\n#else\\nout_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n#endif\\n#ifdef PATTERN\\nvec4 a_tlbr = a_aux1;\\nfloat a_width = a_aux2.x;\\nfloat a_height = a_aux2.y;\\nvec2 a_offset = a_aux2.zw;\\nvec2 a_scale = a_aux3.xy;\\nfloat a_angle = a_aux3.z;\\nvec2 scale = INV_SCALE_COMPRESSION_FACTOR * a_scale;\\nfloat width = u_zoomFactor * a_width * scale.x;\\nfloat height = u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (getBit(a_bitset, BITSET_FILL_RANDOM_PATTERN_OFFSET) > 0.5) {\\nfloat id = rgba2float(vec4(a_id, 0.0));\\ndx = rand(vec2(id, 0.0));\\ndy = rand(vec2(0.0, id));\\n}\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\ndx, dy, 1);\\nvec2 tileOffset = vec2(u_tileOffset.x * cosA - u_tileOffset.y * sinA, u_tileOffset.x * sinA + u_tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, vec2(a_aux2.x, a_aux2.y));\\nvec2 symbolOffset = (a_offset - tileOffset) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\nv_sampleAlphaOnly = getBit(a_bitset, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\nvec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\nfloat size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\nv_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\nv_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\nv_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n}\\n#ifdef HITTEST\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nhittestFill(out_color, out_pos);\\ngl_PointSize = 1.0;\\n}\\n#elif defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\nv_isOutline = getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE);\\nif (v_isOutline > 0.5) {\\ndrawLine(out_color, out_pos);\\n} else {\\ndrawFill(out_color, out_pos);\\n}\\n}\\n#else\\n#define draw drawFill\\n#endif\\nvoid main()\\n{\\nINIT;\\nhighp vec3 pos = vec3(0.);\\nhighp vec4 color = vec4(0.);\\ndraw(color, pos);\\nv_color = color;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestFill(\\nout lowp vec4 out_color,\\nout highp vec3 out_pos\\n) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * FILL_POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * FILL_POSITION_PRECISION, 1.);\\nfloat hittestDist = u_hittestDist;\\nfloat dist = distPointTriangle(u_hittestPos, pos.xy, pos1.xy, pos2.xy);\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist < 0. || dist >= hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist == 0. ? (1. / 255.) : 0.);\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\nfloat projectScalar(vec2 a, vec2 b) {\\nreturn dot(a, normalize(b));\\n}\\nfloat distPointSegment(vec2 p0, vec2 p1, vec2 p2) {\\nvec2 L = p2 - p1;\\nvec2 A = p0 - p1;\\nfloat projAL = projectScalar(A, L);\\nfloat t = clamp(projAL / length(L), 0., 1.);\\nreturn distance(p0, p1 + t * (p2 - p1));\\n}\\nvoid hittestMarker(out lowp vec4 out_color, out highp vec3 out_pos, in highp vec3 pos, float size) {\\nfloat dist = distance(pos, vec3(u_hittestPos, 1.));\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif ((dist - size) > u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, (dist - size) < 0. ? (1. / 255.) : 0.);\\n}\\nfloat intersectPointTriangleBary(vec2 p, vec2 a, vec2 b, vec2 c) {\\nreturn inTriangle(xyToBarycentric(p, a, b, c));\\n}\\nfloat distPointTriangle(vec2 p, vec2 a, vec2 b, vec2 c) {\\nvec2 ba = b - a;\\nvec2 ca = c - a;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_HITTEST && crossProduct > -EPSILON_HITTEST;\\nif (isParallel) {\\nreturn -1.;\\n}\\nif (intersectPointTriangleBary(p.xy, a, b, c) == 1.) {\\nreturn 0.;\\n}\\nfloat distAB = distPointSegment(p, a, b);\\nfloat distBC = distPointSegment(p, b, c);\\nfloat distCA = distPointSegment(p, c, a);\\nreturn min(min(distAB, distBC), distCA);\\n}\\n#endif\"},icon:{\"common.glsl\":\"#include \\nuniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nuniform lowp sampler2D u_texture;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying mediump float v_overridingOutlineColor;\\nvarying mediump float v_isThin;\\n#endif\\n#ifdef SDF\\nvec4 getColor(vec2 v_size, vec2 v_tex) {\\nlowp vec4 fillPixelColor = v_color;\\nfloat d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\nfloat size = max(v_size.x, v_size.y);\\nfloat dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\nfillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\nfloat outlineWidth = v_outlineWidth;\\n#ifdef HIGHLIGHT\\noutlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n#endif\\nif (outlineWidth > 0.25) {\\nlowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\nfloat clampedOutlineSize = min(outlineWidth, size);\\noutlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\nreturn v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n}\\nreturn v_opacity * fillPixelColor;\\n}\\n#else\\nvec4 getColor(vec2 _v_size, vec2 v_tex) {\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\n}\\n#endif\",heatmapAccumulate:{\"common.glsl\":\"varying lowp vec4 v_hittestResult;\\nvarying mediump vec2 v_offsetFromCenter;\\nvarying highp float v_fieldValue;\",\"heatmapAccumulate.frag\":\"precision mediump float;\\n#include \\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 0.25\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform lowp sampler2D u_texture;\\nvoid main() {\\n#ifdef HITTEST\\ngl_FragColor = v_hittestResult;\\n#else\\nfloat radius = length(v_offsetFromCenter);\\nfloat shapeWeight = step(radius, 1.0);\\nfloat oneMinusRadiusSquared = 1.0 - radius * radius;\\nfloat kernelWeight = oneMinusRadiusSquared * oneMinusRadiusSquared;\\ngl_FragColor = vec4(shapeWeight * kernelWeight * v_fieldValue * COMPRESSION_FACTOR);\\n#endif\\n}\",\"heatmapAccumulate.vert\":\"precision highp float;\\nattribute vec2 a_vertexOffset;\\nvec4 a_color = vec4(0.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\nuniform float u_radius;\\nuniform float u_isFieldActive;\\n#include \\n#include \\n#include \\nvoid main() {\\nfloat filterFlags = getFilterFlags();\\n#ifdef HITTEST\\nhighp vec4 out_hittestResult = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nhittestMarker(out_hittestResult, out_pos, pos, u_radius);\\nv_hittestResult = out_hittestResult;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(a_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\nv_offsetFromCenter = sign(a_vertexOffset);\\nv_fieldValue = getAttributeData2(a_id).x * u_isFieldActive + 1.0 - u_isFieldActive;\\nvec3 centerPos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec3 vertexPos = centerPos + u_displayViewMat3 * vec3(v_offsetFromCenter, 0.0) * u_radius;\\ngl_Position = vec4(clip(a_color, vertexPos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_vertexOffset1;\\nattribute vec2 a_vertexOffset2;\\nattribute vec2 a_texCoords1;\\nattribute vec2 a_texCoords2;\\nvec2 getTextureCoords(in vec3 bary, in vec2 texCoords0, in vec2 texCoords1, in vec2 texCoords2) {\\nreturn texCoords0 * bary.x + texCoords1 * bary.y + texCoords2 * bary.z;\\n}\\nvoid hittestIcon(\\ninout lowp vec4 out_color,\\nout highp vec3 out_pos,\\nin vec3 pos,\\nin vec3 offset,\\nin vec2 size,\\nin float scaleFactor,\\nin float isMapAligned\\n) {\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 posBase = u_viewMat3 * u_tileMat3 * pos;\\nvec3 offset1 = scaleFactor * vec3(a_vertexOffset1 / 16.0, 0.);\\nvec3 offset2 = scaleFactor * vec3(a_vertexOffset2 / 16.0, 0.);\\nvec2 pos0 = (posBase + getMatrixNoDisplay(isMapAligned) * offset).xy;\\nvec2 pos1 = (posBase + getMatrixNoDisplay(isMapAligned) * offset1).xy;\\nvec2 pos2 = (posBase + getMatrixNoDisplay(isMapAligned) * offset2).xy;\\nvec3 bary0 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary1 = xyToBarycentric(u_hittestPos + vec2(0., -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary2 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary3 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary4 = xyToBarycentric(u_hittestPos, pos0, pos1, pos2);\\nvec3 bary5 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary6 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec3 bary7 = xyToBarycentric(u_hittestPos + vec2(0., u_hittestDist), pos0, pos1, pos2);\\nvec3 bary8 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec2 tex0 = a_texCoords / u_mosaicSize;\\nvec2 tex1 = a_texCoords1 / u_mosaicSize;\\nvec2 tex2 = a_texCoords2 / u_mosaicSize;\\nfloat alphaSum = 0.;\\nalphaSum += inTriangle(bary0) * getColor(size, getTextureCoords(bary0, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary1) * getColor(size, getTextureCoords(bary1, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary2) * getColor(size, getTextureCoords(bary2, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary3) * getColor(size, getTextureCoords(bary3, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary4) * getColor(size, getTextureCoords(bary4, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary5) * getColor(size, getTextureCoords(bary5, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary6) * getColor(size, getTextureCoords(bary6, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary7) * getColor(size, getTextureCoords(bary7, tex0, tex1, tex2)).a;\\nout_pos.z += step(alphaSum, .05) * 2.0;\\nout_color = vec4(1. / 255., 0., 0., alphaSum / 255.);\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\nvoid main()\\n{\\n#ifdef HITTEST\\nvec4 color = v_color;\\n#else\\nvec4 color = getColor(v_sizeTex.xy, v_sizeTex.zw);\\n#endif\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"icon.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\nfloat getMarkerScaleFactor(inout vec2 size, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat f = getSize(size.y) / size.y;\\nfloat sizeFactor = size.y / referenceSize;\\nreturn getSize(referenceSize) / referenceSize;\\n#else\\nreturn 1.;\\n#endif\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec2 size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec3 offset = vec3(a_vertexOffset / 16.0, 0.);\\nfloat outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nfloat referenceSize = a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0;\\nfloat scaleSymbolProportionally = getBit(a_bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\nfloat scaleFactor = getMarkerScaleFactor(size, referenceSize);\\nsize.xy *= scaleFactor;\\noffset.xy *= scaleFactor;\\noutlineSize *= scaleSymbolProportionally * (scaleFactor - 1.0) + 1.0;\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nfloat filterFlags = getFilterFlags();\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getMatrix(isMapAligned) * getRotation() * offset;\\nv_sizeTex = vec4(size.xy, v_tex.xy);\\n#ifdef SDF\\nv_isThin = getBit(a_bitSet, BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE);\\n#ifdef VV_COLOR\\nv_overridingOutlineColor = v_isThin;\\n#else\\nv_overridingOutlineColor = 0.0;\\n#endif\\nv_outlineWidth = min(outlineSize, max(max(size.x, size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nhighp vec4 out_color = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nhittestIcon(out_color, out_pos, pos, offset, size, scaleFactor, isMapAligned);\\nv_color = out_color;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_mapAligned;\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"#include \",\"label.vert\":\"precision highp float;\\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_glyphData;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\nfloat glyphAngle = angle * 360.0 / 254.0;\\nfloat mapAngle = u_mapRotation * 360.0 / 254.0;\\nfloat diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\nfloat z = 0.0;\\nz += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_currentZoom)));\\nz += u_mapAligned * 2.0 * step(90.0, diffAngle);\\nz += 2.0 * (1.0 - step(u_currentZoom, maxZoom));\\nreturn z;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat groupMinZoom = getMinZoom();\\nfloat glyphMinZoom = a_glyphData.x;\\nfloat glyphMaxZoom = a_glyphData.y;\\nfloat glyphAngle = a_glyphData.z;\\nfloat a_minZoom = max(groupMinZoom, glyphMinZoom);\\nfloat a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\nvec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\nfloat a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\nfloat fontSize = a_texAndSize.z;\\nfloat haloSize = a_texAndSize.w * OUTLINE_SCALE;\\nvec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nfloat halfSize = getSize(a_refSymbolSize) / 2.0;\\nfloat animation = pow(getAnimationState(), vec4(2.0)).r;\\nv_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\nvec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\nvec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\nvec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\ngl_Position = vec4(v_pos, 1.0);\\n#ifdef DEBUG\\nv_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\\n#ifdef SDF\\nvarying mediump float v_lineWidthRatio;\\n#endif\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestLine(out lowp vec4 out_color, out highp vec3 out_pos, float halfWidth) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * POSITION_PRECISION, 1.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat dist = min(distPointSegment(u_hittestPos, pos.xy, pos1.xy),\\ndistPointSegment(u_hittestPos, pos.xy, pos2.xy)) - halfWidth;\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist >= u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist <= 0. ? (1. / 255.) : 0.);\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = v_color;\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr,\\nv_patternSize,\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance,\\n#endif\\n#endif\\nv_id\\n);\\ngl_FragColor = shadeLine(inputs);\\n}\\n#endif\",\"line.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid draw() {\\nfloat aa = 0.5 * u_antialiasing;\\nfloat a_halfWidth = a_accumulatedDistanceAndHalfWidth.y / 16.;\\nfloat a_cimHalfWidth = a_aux.x / 16. ;\\nvec2 a_offset = a_offsetAndNormal.xy / 16.;\\nfloat baseWidth = getBaseLineHalfWidth(a_halfWidth, a_cimHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nhighp vec3 pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestLine(v_color, pos, halfWidth);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#else\\nvoid draw()\\n{\\nhighp vec3 pos = vec3(0.);\\nLineData outputs = buildLine(\\npos,\\na_id,\\na_pos,\\na_color,\\na_offsetAndNormal.xy / 16.,\\na_offsetAndNormal.zw / 16.,\\na_accumulatedDistanceAndHalfWidth.x,\\na_accumulatedDistanceAndHalfWidth.y / 16.,\\na_segmentDirection.w,\\na_tlbr,\\na_segmentDirection.xy / 16.,\\na_aux.x / 16.\\n);\\nv_id = outputs.id;\\nv_color = outputs.color;\\nv_normal = outputs.normal;\\nv_lineHalfWidth = outputs.lineHalfWidth;\\nv_opacity = outputs.opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr = outputs.tlbr;\\nv_patternSize = outputs.patternSize;\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio = outputs.lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance = outputs.accumulatedDistance;\\n#endif\\n#endif\\ngl_Position = vec4(clip(outputs.color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#endif\\nvoid main() {\\nINIT;\\ndraw();\\n}\"},pie:{\"pie.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nuniform lowp vec4 u_colors[NUMBER_OF_FIELDS];\\nuniform lowp vec4 u_defaultColor;\\nuniform lowp vec4 u_othersColor;\\nuniform lowp vec4 u_outlineColor;\\nuniform float u_donutRatio;\\nuniform float u_sectorThreshold;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nlowp vec4 getSectorColor(in int index, in vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\n#if __VERSION__ == 300\\nmediump int colorIndex = int(filteredSectorToColorId[index].y);\\nreturn u_colors[colorIndex];\\n#else\\nmediump int colorIndex;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == index) {\\ncolorIndex = int(filteredSectorToColorId[i].y);\\n}\\n}\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == colorIndex) {\\nreturn u_colors[i];\\n}\\n}\\nreturn u_colors[NUMBER_OF_FIELDS - 1];\\n#endif\\n}\\nconst int OTHER_SECTOR_ID = 255;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor() {\\nfloat angle = 90.0 - C_RAD_TO_DEG * atan2(v_offset.y, v_offset.x);\\nif (angle < 0.0) {\\nangle += 360.0;\\n} else if (angle > 360.0) {\\nangle = mod(angle, 360.0);\\n}\\nint numOfEntries = int(v_numOfEntries);\\nfloat maxSectorAngle = v_maxSectorAngle;\\nlowp vec4 fillColor = (maxSectorAngle > 0.0 || u_sectorThreshold > 0.0) ? u_othersColor : u_defaultColor;\\nlowp vec4 prevColor = vec4(0.0);\\nlowp vec4 nextColor = vec4(0.0);\\nfloat startSectorAngle = 0.0;\\nfloat endSectorAngle = 0.0;\\nif (angle < maxSectorAngle) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nstartSectorAngle = endSectorAngle;\\nendSectorAngle = v_filteredSectorToColorId[index].x;\\nif (endSectorAngle > angle) {\\nfillColor = getSectorColor(index, v_filteredSectorToColorId);\\nprevColor = u_sectorThreshold != 0.0 && index == 0 && abs(360.0 - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index > 0 ? index - 1 : numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = u_sectorThreshold != 0.0 && abs(endSectorAngle - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index < numOfEntries - 1 ? index + 1 : 0, v_filteredSectorToColorId);\\nbreak;\\n}\\nif (index == numOfEntries - 1) {\\nbreak;\\n}\\n}\\n} else {\\nprevColor = getSectorColor(numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = getSectorColor(0, v_filteredSectorToColorId);\\nstartSectorAngle = maxSectorAngle;\\nendSectorAngle = 360.0;\\n}\\nlowp vec4 outlineColor = u_outlineColor;\\nfloat offset = length(v_offset);\\nfloat distanceSize = offset * v_size;\\nif (startSectorAngle != 0.0 || endSectorAngle != 360.0) {\\nfloat distanceToStartSector = (angle - startSectorAngle);\\nfloat distanceToEndSector = (endSectorAngle - angle);\\nfloat sectorThreshold = 0.6;\\nfloat beginSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToStartSector * offset);\\nfloat endSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToEndSector * offset);\\nif (endSectorAlpha > 0.0) {\\nfillColor = mix(nextColor, fillColor, endSectorAlpha);\\n} else if (beginSectorAlpha > 0.0) {\\nfillColor = mix(prevColor, fillColor, beginSectorAlpha);\\n}\\n}\\nfloat donutSize = u_donutRatio * (v_size - v_outlineWidth);\\nfloat endOfDonut = donutSize - v_outlineWidth;\\nfloat aaThreshold = 0.75;\\nfloat innerCircleAlpha = endOfDonut - aaThreshold > 0.0 ? smoothstep(endOfDonut - aaThreshold, endOfDonut + aaThreshold, distanceSize) : 1.0;\\nfloat outerCircleAlpha = 1.0 - smoothstep(v_size - aaThreshold, v_size + aaThreshold , distanceSize);\\nfloat circleAlpha = innerCircleAlpha * outerCircleAlpha;\\nfloat startOfOutline = v_size - v_outlineWidth;\\nif (startOfOutline > 0.0 && v_outlineWidth > 0.25) {\\nfloat outlineFactor = smoothstep(startOfOutline - aaThreshold, startOfOutline + aaThreshold, distanceSize);\\nfloat innerLineFactor = donutSize - aaThreshold > 0.0 ? 1.0 - smoothstep(donutSize - aaThreshold, donutSize + aaThreshold , distanceSize) : 0.0;\\nfillColor = mix(fillColor, outlineColor, innerLineFactor + outlineFactor);\\n}\\nreturn v_opacity * circleAlpha * fillColor;\\n}\\n#endif\\nvoid main()\\n{\\nvec4 color = getColor();\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"pie.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\nuniform float u_outlineWidth;\\nuniform mediump float u_sectorThreshold;\\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nint filter(in float sectorAngle,\\nin int currentIndex,\\ninout FilteredChartInfo filteredInfo,\\ninout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\nif (sectorAngle > u_sectorThreshold * 360.0) {\\nfilteredInfo.endSectorAngle += sectorAngle;\\n#if __VERSION__ == 300\\nfilteredSectorToColorId[filteredInfo.colorId] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; i++) {\\nif (i == filteredInfo.colorId) {\\nfilteredSectorToColorId[i] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n}\\n}\\n#endif\\n++filteredInfo.colorId;\\n}\\nreturn 0;\\n}\\nint filterValues(inout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS],\\ninout FilteredChartInfo filteredInfo,\\nin float sectorAngles[NUMBER_OF_FIELDS]) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nfloat sectorValue = sectorAngles[index];\\nfilter(sectorValue, index, filteredInfo, filteredSectorToColorId);\\n}\\nreturn filteredInfo.colorId;\\n}\\n#include \\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\nvec2 outSize = baseSize;\\n#ifdef VV_SIZE\\nfloat r = 0.5 * getSize(referenceSize) / referenceSize;\\noutSize.xy *= r;\\noffset.xy *= r;\\nfloat scaleSymbolProportionally = getBit(bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\noutlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\nreturn outSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nvec3 offset = vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nfloat filterNaNValues(in float value) {\\nreturn value != NAN_MAGIC_NUMBER && value > 0.0 ? value : 0.0;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat outlineSize = u_outlineWidth;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 size = getMarkerSize(a_offset, a_size, outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nfloat filterFlags = getFilterFlags();\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getOffset(a_offset, a_bitSet);\\nv_offset = sign(a_texCoords - 0.5);\\nv_size = max(size.x, size.y);\\nv_outlineWidth = outlineSize;\\nfloat attributeData[10];\\nvec4 attributeData0 = getAttributeData3(a_id);\\nattributeData[0] = filterNaNValues(attributeData0.x);\\nattributeData[1] = filterNaNValues(attributeData0.y);\\nattributeData[2] = filterNaNValues(attributeData0.z);\\nattributeData[3] = filterNaNValues(attributeData0.w);\\n#if (NUMBER_OF_FIELDS > 4)\\nvec4 attributeData1 = getAttributeData4(a_id);\\nattributeData[4] = filterNaNValues(attributeData1.x);\\nattributeData[5] = filterNaNValues(attributeData1.y);\\nattributeData[6] = filterNaNValues(attributeData1.z);\\nattributeData[7] = filterNaNValues(attributeData1.w);\\n#endif\\n#if (NUMBER_OF_FIELDS > 8)\\nvec4 attributeData2 = getAttributeData5(a_id);\\nattributeData[8] = filterNaNValues(attributeData2.x);\\nattributeData[9] = filterNaNValues(attributeData2.y);\\n#endif\\nfloat sum = 0.0;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsum += attributeData[i];\\n}\\nfloat sectorAngles[NUMBER_OF_FIELDS];\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsectorAngles[i] = 360.0 * attributeData[i] / sum;\\n}\\nvec2 filteredSectorToColorId[NUMBER_OF_FIELDS];\\nFilteredChartInfo filteredInfo = FilteredChartInfo(0.0, 0);\\nint numOfEntries = filterValues(filteredSectorToColorId, filteredInfo, sectorAngles);\\nv_numOfEntries = float(numOfEntries);\\nv_maxSectorAngle = filteredInfo.endSectorAngle;\\n#if __VERSION__ == 300\\nv_filteredSectorToColorId = filteredSectorToColorId;\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == numOfEntries) {\\nbreak;\\n}\\nv_filteredSectorToColorId[i] = filteredSectorToColorId[i];\\n}\\n#endif\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.0);\\nv_color = vec4(0.0);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * pos, v_size);\\ngl_PointSize = 1.0;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},shared:{line:{\"common.glsl\":\"#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nmediump vec4 tlbr;\\nmediump vec2 patternSize;\\n#endif\\n#ifdef SDF\\nmediump float lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nhighp float accumulatedDistance;\\n#endif\\n#endif\\nhighp vec3 id;\\n};\",\"line.frag\":\"uniform lowp float u_blur;\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && !defined(HIGHLIGHT)\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\nuniform highp float u_pixelRatio;\\n#endif\\n#endif\\n#if defined(SDF) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.25 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nmediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\nfloat dist = d * line.lineHalfWidth;\\nreturn line.opacity * clamp(0.5 - dist, 0.0, 1.0) * line.color;\\n}\\n#elif defined(PATTERN) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float lineHalfWidth = line.lineHalfWidth;\\nmediump float adjustedPatternHeight = line.patternSize.y * 2.0 * lineHalfWidth / line.patternSize.x;\\nmediump float relativeTexY = fract(line.accumulatedDistance / adjustedPatternHeight);\\nmediump float relativeTexX = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nlowp vec4 color = texture2D(u_texture, texCoord);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nreturn line.opacity * line.color * color;\\n}\\n#else\\nlowp vec4 getLineColor(LineData line) {\\nreturn line.opacity * line.color;\\n}\\n#endif\\nvec4 shadeLine(LineData line)\\n{\\nmediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(line.lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nmediump float fragDist = length(line.normal) * line.lineHalfWidth;\\nlowp float alpha = clamp(thinLineFactor * (line.lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\nlowp vec4 out_color = getLineColor(line) * alpha;\\n#ifdef HIGHLIGHT\\nout_color.a = step(1.0 / 255.0, out_color.a);\\n#endif\\n#ifdef ID\\nif (out_color.a < 1.0 / 255.0) {\\ndiscard;\\n}\\nout_color = vec4(line.id, 0.0);\\n#endif\\nreturn out_color;\\n}\",\"line.vert\":\"float getBaseLineHalfWidth(in float lineHalfWidth, in float referenceHalfWidth) {\\n#ifdef VV_SIZE\\nfloat refLineWidth = 2.0 * referenceHalfWidth;\\nreturn 0.5 * (lineHalfWidth / max(referenceHalfWidth, EPSILON)) * getSize(refLineWidth);\\n#else\\nreturn lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\nfloat halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\nhalfWidth = max(halfWidth, 2.0);\\n#endif\\nreturn halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\nfloat thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nreturn thinLineFactor * halfWidth * offset;\\n}\\nLineData buildLine(\\nout vec3 out_pos,\\nin vec3 in_id,\\nin vec2 in_pos,\\nin vec4 in_color,\\nin vec2 in_offset,\\nin vec2 in_normal,\\nin float in_accumulatedDist,\\nin float in_lineHalfWidth,\\nin float in_bitSet,\\nin vec4 in_tlbr,\\nin vec2 in_segmentDirection,\\nin float in_referenceHalfWidth\\n)\\n{\\nfloat aa = 0.5 * u_antialiasing;\\nfloat baseWidth = getBaseLineHalfWidth(in_lineHalfWidth, in_referenceHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nfloat z = 2.0 * step(baseWidth, 0.0);\\nvec2 dist = getDist(in_offset, halfWidth);\\nvec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\nvec3 pos = u_dvsMat3 * vec3(in_pos * POSITION_PRECISION, 1.0) + offset;\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nfloat opacity = getOpacity();\\n#ifdef SDF\\nconst float SDF_PATTERN_HALF_WIDTH = 15.5;\\nfloat scaleDash = getBit(in_bitSet, BITSET_LINE_SCALE_DASH);\\nfloat lineWidthRatio = (scaleDash * max(halfWidth - 0.55 * u_antialiasing, 0.25) + (1.0 - scaleDash)) / SDF_PATTERN_HALF_WIDTH;\\n#endif\\n#endif\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nv_sampleAlphaOnly = getBit(in_bitSet, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#endif\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nin_tlbr / u_mosaicSize.xyxy,\\nvec2(in_tlbr.z - in_tlbr.x, in_tlbr.w - in_tlbr.y),\\n#endif\\n#ifdef SDF\\nlineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nin_accumulatedDist * u_zoomFactor + dot(in_segmentDirection, dist),\\n#endif\\n#endif\\nnorm(in_id)\\n);\\n}\"}},\"symbologyTypeUtils.glsl\":\"#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_SIMPLE || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\n#endif\",text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec3 v_id;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec2 v_tex;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"hittest.glsl\":\"#include \",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor()\\n{\\nfloat SDF_CUTOFF = (2.0 / 8.0);\\nfloat SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\nlowp float dist = texture2D(u_texture, v_tex).a;\\nmediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\nedge /= 2.0;\\n#endif\\nlowp float aa = v_antialiasingWidth;\\nlowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\nreturn alpha * v_color * v_opacity;\\n}\\n#endif\\nvoid main()\\n{\\ngl_FragColor = getColor();\\n}\",\"text.vert\":\"precision highp float;\\n#include \\n#include \\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nattribute vec2 a_zoomRange;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, inout float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat r = getSize(referenceSize) / referenceSize;\\nbaseSize *= r;\\noffset.xy *= r;\\nreturn baseSize;\\n#endif\\nreturn baseSize;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_referenceSize = a_aux.z * a_aux.z / 256.0;\\nfloat a_bitSet = a_aux.w;\\nfloat a_fontSize = a_texFontSize.z;\\nvec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat fontSize = getTextSize(a_offset, a_fontSize, a_referenceSize);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nvec3 offset = getRotation() * vec3(a_offset, 0.0);\\nmat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\nv_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nv_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0)\\n+ u_tileMat3 * offset, fontSize / 2.);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#endif\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\nreturn floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\nfloat offset = pow(2.0, float(bitIndex));\\nreturn mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\nreturn getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\nreturn getBit(bitset, 0);\\n}\\nhighp vec3 unpackDisplayIdTexel(in highp vec3 bitset) {\\nfloat isAggregate = getBit(bitset.b, 7);\\nreturn (1.0 - isAggregate) * bitset + isAggregate * (vec3(bitset.rgb) - vec3(0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\nfloat r = mod(rshift(u32, 0), 255.0);\\nfloat g = mod(rshift(u32, 8), 255.0);\\nfloat b = mod(rshift(u32, 16), 255.0);\\nfloat a = mod(rshift(u32, 24), 255.0);\\nreturn vec4(r, g, b, a);\\n}\\nvec3 norm(in vec3 v) {\\nreturn v /= 255.0;\\n}\\nvec4 norm(in vec4 v) {\\nreturn v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\nreturn max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\nreturn (bytes - 127.0) / 127.0;\\n}\\nhighp float rand(in vec2 co) {\\nhighp float a = 12.9898;\\nhighp float b = 78.233;\\nhighp float c = 43758.5453;\\nhighp float dt = dot(co, vec2(a,b));\\nhighp float sn = mod(dt, 3.14);\\nreturn fract(sin(sn) * c);\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec3 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp mat3 u_tileMat3;\\nuniform highp mat3 u_viewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_currentZoom;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef SUPPORTS_TEXTURE_FLOAT\\ntarget.rgba = getAttributeData2(a_id);\\n#else\\nvec4 data0 = getAttributeData2(a_id);\\nvec4 data1 = getAttributeData3(a_id);\\ntarget.r = u88VVToFloat(data0.rg * 255.0);\\ntarget.g = u88VVToFloat(data0.ba * 255.0);\\ntarget.b = u88VVToFloat(data1.rg * 255.0);\\ntarget.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n#define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n#define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\nfloat isColorLocked = getBit(a_bitSet, index);\\nreturn getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\nreturn a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\nreturn getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\nreturn 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\nreturn getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\nreturn in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\nreturn getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\nreturn mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\nreturn ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\nreturn getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\nreturn getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\nvec4 data0 = getAttributeData0(a_id) * 255.0;\\nreturn data0.g;\\n}\\nmat3 getMatrixNoDisplay(float isMapAligned) {\\nreturn isMapAligned * u_viewMat3 * u_tileMat3 + (1.0 - isMapAligned) * u_tileMat3;\\n}\\nmat3 getMatrix(float isMapAligned) {\\nreturn isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 clip(inout vec4 color, inout vec3 pos, in float filterFlags, in vec2 minMaxZoom) {\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\npos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n#if !defined(HIGHLIGHT_ALL)\\npos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n#endif\\npos.z += 2.0 * (step(minMaxZoom.y, u_currentZoom) + (1.0 - step(minMaxZoom.x, u_currentZoom)));\\nreturn pos;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n#define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n#define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\nreturn (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nfloat interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\ninterpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\nreturn u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nif (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\nreturn u_vvSizeFieldStopsSizes[0];\\n}\\nfor (int i = 1; i < VV_SIZE_N; ++i) {\\nif (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\nfloat f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\nreturn mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n}\\n}\\nreturn u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nreturn u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\nif (isNan(opacityValue)) {\\nreturn 1.0;\\n}\\nif (opacityValue <= u_vvOpacityValues[0]) {\\nreturn u_vvOpacities[0];\\n}\\nfor (int i = 1; i < VV_OPACITY_N; ++i) {\\nif (u_vvOpacityValues[i] >= opacityValue) {\\nfloat f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\nreturn mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n}\\n}\\nreturn u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat4(1, 0, 0, 0,\\n0, 1, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat4(cosA, sinA, 0, 0,\\n-sinA, cosA, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat3(1, 0, 0,\\n0, 1, 0,\\n0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * -rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat3(cosA, -sinA, 0,\\nsinA, cosA, 0,\\n0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\nif (isNan(colorValue) || isColorLocked == 1.0) {\\nreturn fallback;\\n}\\nif (colorValue <= u_vvColorValues[0]) {\\nreturn u_vvColors[0];\\n}\\nfor (int i = 1; i < VV_COLOR_N; ++i) {\\nif (u_vvColorValues[i] >= colorValue) {\\nfloat f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\nreturn mix(u_vvColors[i-1], u_vvColors[i], f);\\n}\\n}\\nreturn u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nreturn getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\nreturn u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\nfloat outSize = getVVStopsSize(vvSize, size);\\nreturn isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\nreturn getVVUnitValue(vvSize, size);\\n#else\\nreturn size;\\n#endif\\n}\"},overlay:{overlay:{\"overlay.frag\":\"precision lowp float;\\nuniform lowp sampler2D u_texture;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_texture, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"overlay.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_uv;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_perspective;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nfloat w = 1.0 + dot(a_uv, u_perspective);\\nvec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(w * pos.xy, 0.0, w);\\n}\"}},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_FragColor = texture2D(u_texture, v_uv);\\n}\"},bloom:{composite:{\"composite.frag\":\"precision mediump float;\\nvarying vec2 v_uv;\\nuniform sampler2D u_blurTexture1;\\nuniform sampler2D u_blurTexture2;\\nuniform sampler2D u_blurTexture3;\\nuniform sampler2D u_blurTexture4;\\nuniform sampler2D u_blurTexture5;\\nuniform float u_bloomStrength;\\nuniform float u_bloomRadius;\\nuniform float u_bloomFactors[NUMMIPS];\\nuniform vec3 u_bloomTintColors[NUMMIPS];\\nfloat lerpBloomFactor(const in float factor) {\\nfloat mirrorFactor = 1.2 - factor;\\nreturn mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\nvec4 color = u_bloomStrength * (\\nlerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\nlerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\nlerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\nlerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\nlerpBloomFactor(u_bloomFactors[4]) * vec4(u_bloomTintColors[4], 1.0) * texture2D(u_blurTexture5, v_uv)\\n);\\ngl_FragColor = clamp(color, 0.0, 1.0);\\n}\"},gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\n#define SIGMA RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = float(SIGMA);\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},luminosityHighPass:{\"luminosityHighPass.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nuniform vec3 u_defaultColor;\\nuniform float u_defaultOpacity;\\nuniform float u_luminosityThreshold;\\nuniform float u_smoothWidth;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 texel = texture2D(u_texture, v_uv);\\nvec3 luma = vec3(0.299, 0.587, 0.114);\\nfloat v = dot(texel.xyz, luma);\\nvec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\nfloat alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\ngl_FragColor = mix(outputColor, texel, alpha);\\n}\"}},blur:{gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nuniform float u_sigma;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = u_sigma;\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},\"radial-blur\":{\"radial-blur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nconst float sampleDist = 1.0;\\nconst float sampleStrength = 2.2;\\nvoid main(void) {\\nfloat samples[10];\\nsamples[0] = -0.08;\\nsamples[1] = -0.05;\\nsamples[2] = -0.03;\\nsamples[3] = -0.02;\\nsamples[4] = -0.01;\\nsamples[5] = 0.01;\\nsamples[6] = 0.02;\\nsamples[7] = 0.03;\\nsamples[8] = 0.05;\\nsamples[9] = 0.08;\\nvec2 dir = 0.5 - v_uv;\\nfloat dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\ndir = dir / dist;\\nvec4 color = texture2D(u_colorTexture,v_uv);\\nvec4 sum = color;\\nfor (int i = 0; i < 10; i++) {\\nsum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n}\\nsum *= 1.0 / 11.0;\\nfloat t = dist * sampleStrength;\\nt = clamp(t, 0.0, 1.0);\\ngl_FragColor = mix(color, sum, t);\\n}\"}},dra:{\"dra.frag\":\"precision mediump float;\\nuniform sampler2D u_minColor;\\nuniform sampler2D u_maxColor;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 minColor = texture2D(u_minColor, vec2(0.5));\\nvec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\nvec4 color = texture2D(u_texture, v_uv);\\nvec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\nvec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\nvec3 colorUnpremultiply = color.rgb / color.a;\\nvec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\ngl_FragColor = vec4(color.a * (colorUnpremultiply - minColorUnpremultiply) / range, color.a);\\n}\",\"min-max\":{\"min-max.frag\":\"#extension GL_EXT_draw_buffers : require\\nprecision mediump float;\\n#define CELL_SIZE 2\\nuniform sampler2D u_minTexture;\\nuniform sampler2D u_maxTexture;\\nuniform vec2 u_srcResolution;\\nuniform vec2 u_dstResolution;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\nvec2 onePixel = vec2(1.0) / u_srcResolution;\\nvec2 uv = (srcPixel + 0.5) / u_srcResolution;\\nvec4 minColor = vec4(1.0);\\nvec4 maxColor = vec4(0.0);\\nfor (int y = 0; y < CELL_SIZE; ++y) {\\nfor (int x = 0; x < CELL_SIZE; ++x) {\\nvec2 offset = uv + vec2(x, y) * onePixel;\\nminColor = min(minColor, texture2D(u_minTexture, offset));\\nmaxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n}\\n}\\ngl_FragData[0] = minColor;\\ngl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nuniform vec2 u_shadowOffset;\\nuniform highp mat3 u_displayViewMat3;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec3 offset = u_displayViewMat3 * vec3(u_shadowOffset, 0.0);\\nvec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\nvec4 blurColor = texture2D(u_blurTexture, v_uv - offset.xy / 2.0);\\ngl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\n}\"}},\"edge-detect\":{\"frei-chen\":{\"frei-chen.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nvarying vec2 v_uv;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[9];\\nconst mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );\\nconst mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );\\nconst mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );\\nconst mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );\\nconst mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );\\nconst mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );\\nconst mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );\\nconst mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );\\nconst mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );\\nvoid main() {\\nG[0] = g0,\\nG[1] = g1,\\nG[2] = g2,\\nG[3] = g3,\\nG[4] = g4,\\nG[5] = g5,\\nG[6] = g6,\\nG[7] = g7,\\nG[8] = g8;\\nmat3 I;\\nfloat cnv[9];\\nvec3 sample;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 9; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nfloat M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\nfloat S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\ngl_FragColor = vec4(vec3(sqrt(M / S)), texture2D(u_colorTexture, v_uv).a);\\n}\"},sobel:{\"sobel.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\ngl_FragColor = vec4(vec3(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1])), texture2D(u_colorTexture, v_uv).a);\\n}\"}},\"edge-enhance\":{\"edge-enhance.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 0.0, -1.0, 1.0, 0.0, -1.0, 1.0, 0.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nvec4 color = texture2D(u_colorTexture, v_uv);\\ngl_FragColor = vec4(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1]) * color);\\n}\"},filterEffect:{\"filterEffect.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform mat4 u_coefficients;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_colorTexture, v_uv);\\nvec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\nfloat a = color.a;\\ngl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"}},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\nuniform lowp float u_opacity;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\nvec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\ngl_FragColor = vec4(color.rgb * u_opacity, color.a * u_opacity);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},common:{\"common.glsl\":\"uniform sampler2D u_image;\\nuniform int u_bandCount;\\nuniform bool u_flipY;\\nuniform float u_opacity;\\nuniform int u_resampling;\\nuniform vec2 u_srcImageSize;\\n#ifdef APPLY_PROJECTION\\n#include \\n#endif\\n#ifdef BICUBIC\\n#include \\n#endif\\n#ifdef BILINEAR\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\nvec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\ntargetLocation = projectPixelLocation(targetLocation);\\n#endif\\nreturn targetLocation;\\n}\\nbool isOutside(vec2 coords){\\nif (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\nreturn true;\\n} else {\\nreturn false;\\n}\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\nvec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\nvec4 color = texture2D(u_image, pixelLocation);\\n#endif\\nreturn color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\nvec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\nfloat maxI = 255.0;\\nfloat mid = 128.0;\\nfloat c = u_contrastOffset;\\nfloat b = u_brightnessOffset;\\nvec4 v;\\nif (c > 0.0 && c < 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\\n} else if (c <= 0.0 && c > -100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n} else if (c == 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\nv = (sign(v) + 1.0) / 2.0;\\n} else if (c == -100.0) {\\nv = vec4(mid, mid, mid, currentPixel.a);\\n}\\nreturn vec4(v.r / 255.0, v.g / 255.0, v.b / 255.0, currentPixel.a);\\n}\",\"projection.glsl\":\"uniform sampler2D u_transformGrid;\\nuniform vec2 u_transformSpacing;\\nuniform vec2 u_transformGridSize;\\nuniform vec2 u_targetImageSize;\\nvec2 projectPixelLocation(vec2 coords) {\\n#ifdef LOOKUP_PROJECTION\\nvec4 pv = texture2D(u_transformGrid, coords);\\nreturn vec2(pv.r, pv.g);\\n#endif\\nvec2 index_image = floor(coords * u_targetImageSize);\\nvec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\nvec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\nvec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\nvec2 srcLocation;\\nvec2 transform_location = index_transform + oneTransformPixel * 0.5;\\nif (pos.s <= pos.t) {\\nvec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\nvec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n} else {\\nvec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\nvec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n}\\nreturn srcLocation;\\n}\"},flow:{\"getFadeOpacity.glsl\":\"uniform float u_decayRate;\\nuniform float u_fadeToZero;\\nfloat getFadeOpacity(float x) {\\nfloat cutOff = mix(0.0, exp(-u_decayRate), u_fadeToZero);\\nreturn (exp(-u_decayRate * x) - cutOff) / (1.0 - cutOff);\\n}\",\"getFragmentColor.glsl\":\"vec4 getFragmentColor(vec4 color, float dist, float size, float featheringSize) {\\nfloat featheringStart = clamp(0.5 - featheringSize / size, 0.0, 0.5);\\nif (dist > featheringStart) {\\ncolor *= 1.0 - (dist - featheringStart) / (0.5 - featheringStart);\\n}\\nreturn color;\\n}\",imagery:{\"imagery.frag\":\"precision highp float;\\nvarying vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform float u_Min;\\nuniform float u_Max;\\nuniform float u_featheringSize;\\n#include \\nfloat getIntensity(float v) {\\nreturn u_Min + v * (u_Max - u_Min);\\n}\\nvoid main(void) {\\nvec4 sampled = texture2D(u_texture, v_texcoord);\\nfloat intensity = getIntensity(sampled.r);\\ngl_FragColor = getColor(intensity);\\ngl_FragColor.a *= getOpacity(sampled.r);\\ngl_FragColor.a *= sampled.a;\\ngl_FragColor.rgb *= gl_FragColor.a;\\n}\",\"imagery.vert\":\"attribute vec2 a_position;\\nattribute vec2 a_texcoord;\\nuniform mat3 u_dvsMat3;\\nvarying vec2 v_texcoord;\\nvoid main(void) {\\nvec2 xy = (u_dvsMat3 * vec3(a_position, 1.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},particles:{\"particles.frag\":\"precision highp float;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\ngl_FragColor = getFragmentColor(v_color, length(v_texcoord - 0.5), v_size, u_featheringSize);\\n}\",\"particles.vert\":\"attribute vec4 a_xyts0;\\nattribute vec4 a_xyts1;\\nattribute vec4 a_typeIdDurationSeed;\\nattribute vec4 a_extrudeInfo;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nvec2 position0 = a_xyts0.xy;\\nfloat t0 = a_xyts0.z;\\nfloat speed0 = a_xyts0.w;\\nvec2 position1 = a_xyts1.xy;\\nfloat t1 = a_xyts1.z;\\nfloat speed1 = a_xyts1.w;\\nfloat type = a_typeIdDurationSeed.x;\\nfloat id = a_typeIdDurationSeed.y;\\nfloat duration = a_typeIdDurationSeed.z;\\nfloat seed = a_typeIdDurationSeed.w;\\nvec2 e0 = a_extrudeInfo.xy;\\nvec2 e1 = a_extrudeInfo.zw;\\nfloat animationPeriod = duration + u_trailLength;\\nfloat scaledTime = u_time * u_flowSpeed;\\nfloat randomizedTime = scaledTime + seed * animationPeriod;\\nfloat t = mod(randomizedTime, animationPeriod);\\nfloat fUnclamped = (t - t0) / (t1 - t0);\\nfloat f = clamp(fUnclamped, 0.0, 1.0);\\nfloat clampedTime = mix(t0, t1, f);\\nfloat speed = mix(speed0, speed1, f);\\nvec2 extrude;\\nvec2 position;\\nfloat fadeOpacity;\\nfloat introOpacity;\\nif (type == 2.0) {\\nif (fUnclamped < 0.0 || (fUnclamped > 1.0 && t1 != duration)) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nvec2 ortho = mix(e0, e1, f);\\nvec2 parallel;\\nparallel = normalize(position1 - position0) * 0.5;\\nif (id == 1.0) {\\nextrude = ortho;\\nv_texcoord = vec2(0.5, 0.0);\\n} else if (id == 2.0) {\\nextrude = -ortho;\\nv_texcoord = vec2(0.5, 1.0);\\n} else if (id == 3.0) {\\nextrude = ortho + parallel;\\nv_texcoord = vec2(1.0, 0.0);\\n} else if (id == 4.0) {\\nextrude = -ortho + parallel;\\nv_texcoord = vec2(1.0, 1.0);\\n}\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else {\\nif (fUnclamped < 0.0) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nif (id == 1.0) {\\nextrude = e0;\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 2.0) {\\nextrude = -e0;\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 3.0) {\\nextrude = mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else if (id == 4.0) {\\nextrude = -mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n}\\n}\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(extrude * v_size, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_color.a *= fadeOpacity;\\nv_color.a *= mix(1.0, introOpacity, u_introFade);\\nv_color.rgb *= v_color.a;\\n}\"},streamlines:{\"streamlines.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_size;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nfloat t = mod(v_timeSeed * (v_totalTime + u_trailLength) + u_time * u_flowSpeed, v_totalTime + u_trailLength) - v_time;\\nvec4 color = v_color * step(0.0, t) * getFadeOpacity(t / u_trailLength);\\ncolor *= mix(1.0, 1.0 - exp(-v_time), u_introFade);\\ngl_FragColor = getFragmentColor(color, length((v_side + 1.0) / 2.0 - 0.5), v_size, u_featheringSize);\\n}\",\"streamlines.vert\":\"attribute vec3 a_positionAndSide;\\nattribute vec3 a_timeInfo;\\nattribute vec2 a_extrude;\\nattribute float a_speed;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_side;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\nvec4 lineColor = getColor(a_speed);\\nfloat lineOpacity = getOpacity(a_speed);\\nfloat lineSize = getSize(a_speed);\\nvec2 position = a_positionAndSide.xy;\\nv_side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineSize, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_color = lineColor;\\nv_color.a *= lineOpacity;\\nv_color.rgb *= v_color.a;\\nv_size = lineSize;\\n}\"},\"vv.glsl\":\"#define MAX_STOPS 8\\n#ifdef VV_COLOR\\nuniform float u_color_stops[MAX_STOPS];\\nuniform vec4 u_color_values[MAX_STOPS];\\nuniform int u_color_count;\\n#else\\nuniform vec4 u_color;\\n#endif\\n#ifdef VV_OPACITY\\nuniform float u_opacity_stops[MAX_STOPS];\\nuniform float u_opacity_values[MAX_STOPS];\\nuniform int u_opacity_count;\\n#else\\nuniform float u_opacity;\\n#endif\\n#ifdef VV_SIZE\\nuniform float u_size_stops[MAX_STOPS];\\nuniform float u_size_values[MAX_STOPS];\\nuniform int u_size_count;\\n#else\\nuniform float u_size;\\n#endif\\nuniform float u_featheringOffset;\\nvec4 getColor(float x) {\\n#ifdef VV_COLOR\\nvec4 color = u_color_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_color_count) {\\nbreak;\\n}\\nfloat x1 = u_color_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_color_stops[i];\\nvec4 y2 = u_color_values[i];\\nif (x < x2) {\\nvec4 y1 = u_color_values[i - 1];\\ncolor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\ncolor = y2;\\n}\\n}\\n}\\n#else\\nvec4 color = u_color;\\n#endif\\nreturn color;\\n}\\nfloat getOpacity(float x) {\\n#ifdef VV_OPACITY\\nfloat opacity = u_opacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_opacity_count) {\\nbreak;\\n}\\nfloat x1 = u_opacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_opacity_stops[i];\\nfloat y2 = u_opacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_opacity_values[i - 1];\\nopacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nopacity = y2;\\n}\\n}\\n}\\n#else\\nfloat opacity = u_opacity;\\n#endif\\nreturn opacity;\\n}\\nfloat getSize(float x) {\\n#ifdef VV_SIZE\\nfloat size = u_size_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_size_count) {\\nbreak;\\n}\\nfloat x1 = u_size_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_size_stops[i];\\nfloat y2 = u_size_values[i];\\nif (x < x2) {\\nfloat y1 = u_size_values[i - 1];\\nsize = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nsize = y2;\\n}\\n}\\n}\\n#else\\nfloat size = u_size;\\n#endif\\nreturn size + 2.0 * u_featheringSize * u_featheringOffset;\\n}\"},hillshade:{\"hillshade.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform int u_hillshadeType;\\nuniform float u_sinZcosAs[6];\\nuniform float u_sinZsinAs[6];\\nuniform float u_cosZs[6];\\nuniform float u_weights[6];\\nuniform vec2 u_factor;\\nuniform float u_minValue;\\nuniform float u_maxValue;\\n#include \\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\\nif (a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0) {\\nreturn 0.0;\\n}\\nelse {\\nreturn e;\\n}\\n}\\nvec3 rgb2hsv(vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec4 overlay(float val, float minValue, float maxValue, float hillshade) {\\nval = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\nvec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\nvec3 hsv = rgb2hsv(rgb.xyz);\\nhsv.z = hillshade;\\nreturn vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nif (currentPixel.a == 0.0) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec2 axy = vec2(-1.0, -1.0);\\nvec2 bxy = vec2(0.0, -1.0);\\nvec2 cxy = vec2(1.0, -1.0);\\nvec2 dxy = vec2(-1.0, 0.0);\\nvec2 fxy = vec2(1.0, 0.0);\\nvec2 gxy = vec2(-1.0, 1.0);\\nvec2 hxy = vec2(0.0, 1.0);\\nvec2 ixy = vec2(1.0, 1.0);\\nvec2 onePixel = 1.0 / u_srcImageSize;\\nif (pixelLocation.s < onePixel.s) {\\naxy[0] = 1.0;\\ndxy[0] = 1.0;\\ngxy[0] = 1.0;\\n}\\nif (pixelLocation.t < onePixel.t) {\\naxy[1] = 1.0;\\nbxy[1] = 1.0;\\ncxy[1] = 1.0;\\n}\\nif (pixelLocation.s > 1.0 - onePixel.s) {\\ncxy[0] = -1.0;\\nfxy[0] = -1.0;\\nixy[0] = -1.0;\\n}\\nif (pixelLocation.t > 1.0 - onePixel.t) {\\ngxy[1] = -1.0;\\nhxy[1] = -1.0;\\nixy[1] = -1.0;\\n}\\nvec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\nvec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\nvec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\nvec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\nvec4 ve = texture2D(u_image, pixelLocation);\\nvec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\nvec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\nvec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\nvec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\nfloat dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\nfloat dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\nfloat dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\nfloat hillshade = 0.0;\\nif (u_hillshadeType == 0){\\nfloat cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\nfloat z = (u_cosZs[0] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = z;\\n} else {\\nfor (int k = 0; k < 6; k++) {\\nfloat cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\nfloat z = (u_cosZs[k] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = hillshade + z * u_weights[k];\\nif (k == 5) break;\\n}\\n}\\nfloat alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\n}\",\"hillshade.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},lut:{\"colorize.glsl\":\"uniform sampler2D u_colormap;\\nuniform float u_colormapOffset;\\nuniform float u_colormapMaxIndex;\\nvec4 colorize(vec4 currentPixel, float scaleFactor) {\\nfloat clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\nvec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\nvec4 color = texture2D(u_colormap, clrPosition);\\nvec4 result = vec4(color.rgb, color.a * currentPixel.a);\\nreturn result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nvec4 result = colorize(currentPixel, 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * u_opacity;\\n}\",\"lut.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},magdir:{\"magdir.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nuniform lowp float u_opacity;\\nvoid main() {\\ngl_FragColor = v_color * u_opacity;\\n}\",\"magdir.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nuniform float u_rotation;\\nuniform vec4 u_colors[12];\\nvarying vec4 v_color;\\nvoid main()\\n{\\nfloat angle = a_offset.y + u_rotation;\\n#ifndef ROTATION_GEOGRAPHIC\\nangle = 3.14159265359 * 2.0 - angle - 3.14159265359 / 2.0;\\n#endif\\nvec2 offset = vec2(cos(angle), sin(angle)) * a_offset.x;\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 pos = a_pos + offset * sizePercentage * u_symbolSize;\\nv_color = u_colors[int(a_vv.x)];\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},reproject:{\"reproject.frag\":\"precision mediump float;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n}\",\"reproject.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_position;\\ngl_Position = vec4(2.0 * (a_position - 0.5), 0.0, 1.0);\\n}\"},scalar:{\"scalar.frag\":\"precision mediump float;\\nuniform lowp float u_opacity;\\nvarying vec2 v_pos;\\nconst vec4 outlineColor = vec4(0.2, 0.2, 0.2, 1.0);\\nconst float outlineSize = 0.02;\\nconst float innerRadius = 0.25;\\nconst float outerRadius = 0.42;\\nconst float innerSquareLength = 0.15;\\nvoid main() {\\nmediump float dist = length(v_pos);\\nmediump float fillalpha1 = smoothstep(outerRadius, outerRadius + outlineSize, dist);\\nfillalpha1 *= (1.0-smoothstep(outerRadius + outlineSize, outerRadius + 0.1 + outlineSize, dist));\\n#ifdef INNER_CIRCLE\\nmediump float fillalpha2 = smoothstep(innerRadius, innerRadius + outlineSize, dist);\\nfillalpha2 *= (1.0-smoothstep(innerRadius + outlineSize, innerRadius + 0.1 + outlineSize, dist));\\n#else\\nmediump float fillalpha2 = (abs(v_pos.x) < innerSquareLength ? 1.0 : 0.0) * (abs(v_pos.y) < innerSquareLength ? 1.0 : 0.0);\\n#endif\\ngl_FragColor = (fillalpha2 + fillalpha1) * outlineColor * u_opacity;\\n}\",\"scalar.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nvarying vec2 v_pos;\\nvoid main()\\n{\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 size = u_symbolSize * sizePercentage;\\nvec2 pos = a_pos + a_offset * size;\\nv_pos = a_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform bool u_useGamma;\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\n#include \\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool useGamma, float gamma, float gammaCorrection) {\\nif (val >= maxCutOff) {\\nreturn maxOutput;\\n} else if (val <= minCutOff) {\\nreturn minOutput;\\n}\\nfloat stretchedVal;\\nif (useGamma) {\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\nif (gamma > 1.0) {\\ntempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n}\\nstretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n} else {\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n}\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\nreturn;\\n#endif\\nif (u_bandCount == 1) {\\nfloat grayVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n#ifdef APPLY_COLORMAP\\nvec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\ngl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n} else {\\nfloat redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\nfloat greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], u_useGamma, u_gamma[1], u_gammaCorrection[1]);\\nfloat blueVal = stretchOneValue(currentPixel.b, u_minCutOff[2], u_maxCutOff[2], u_minOutput, u_maxOutput, u_factor[2], u_useGamma, u_gamma[2], u_gammaCorrection[2]);\\ngl_FragColor = vec4(redVal, greenVal, blueVal, 1.0) * currentPixel.a * u_opacity;\\n}\\n}\",\"stretch.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\ngl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nuniform mat3 u_worldExtent;\\nvoid main() {\\ngl_Position = vec4(u_worldExtent * vec3(a_pos, 1.0), 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\nlowp vec4 color = texture2D(u_texture, v_tex);\\ngl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\nmediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\nvec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\nv_tex = a_pos;\\n}\"},util:{\"atan2.glsl\":\"float atan2(in float y, in float x) {\\nfloat t0, t1, t2, t3, t4;\\nt3 = abs(x);\\nt1 = abs(y);\\nt0 = max(t3, t1);\\nt1 = min(t3, t1);\\nt3 = 1.0 / t0;\\nt3 = t1 * t3;\\nt4 = t3 * t3;\\nt0 = - 0.013480470;\\nt0 = t0 * t4 + 0.057477314;\\nt0 = t0 * t4 - 0.121239071;\\nt0 = t0 * t4 + 0.195635925;\\nt0 = t0 * t4 - 0.332994597;\\nt0 = t0 * t4 + 0.999995630;\\nt3 = t0 * t3;\\nt3 = (abs(y) > abs(x)) ? 1.570796327 - t3 : t3;\\nt3 = x < 0.0 ? 3.141592654 - t3 : t3;\\nt3 = y < 0.0 ? -t3 : t3;\\nreturn t3;\\n}\",\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n255.0 / (256.0),\\n255.0 / (256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n);\\nfloat rgba2float(vec4 rgba) {\\nreturn dot(rgba, rgba2float_factors);\\n}\"}};export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport r from\"./shaderRepository.js\";import{ShaderCompiler as e}from\"../../../../../webgl/ShaderCompiler.js\";function o(e){let o=r;return e.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new e(o);function n(r){return t.resolveIncludes(r)}export{n as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{Z as e}from\"../../chunks/vec2f64.js\";import{ContextType as t}from\"./context-util.js\";import{PixelType as n,TextureType as a,PixelFormat as r,SizedPixelFormat as i,TextureSamplingMode as o,TextureWrapMode as s,UniformType as u}from\"./enums.js\";import{Texture as f}from\"./Texture.js\";function m(e,u,m=\"nearest\",c=!1){const l=!(c&&\"u8\"===u.pixelType),_=l?n.FLOAT:n.UNSIGNED_BYTE,p=null==u.pixels||0===u.pixels.length?null:l?u.getAsRGBAFloat():u.getAsRGBA(),g=e.capabilities.textureFloat?.textureFloatLinear,T={width:u.width,height:u.height,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2&&l?i.RGBA32F:r.RGBA,samplingMode:!g||\"bilinear\"!==m&&\"cubic\"!==m?o.NEAREST:o.LINEAR,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1};return new f(e,T,p)}function c(e,u){const{spacing:m,offsets:c,coefficients:l,size:[_,p]}=u,g=m[0]>1,T={width:g?4*_:_,height:p,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2?i.RGBA32F:r.RGBA,dataType:n.FLOAT,samplingMode:o.NEAREST,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},E=new Float32Array(g?_*p*16:2*c.length);if(g)for(let t=0,n=0;t{const r=t.get(a)||t.get(a+\"[0]\");r&&d(e,a,n[a],r)}))}function O(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,r)=>{t.setUniform1i(n,r),e.bindTexture(a[r],r)})))}function d(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case u.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case u.FLOAT_VEC2:e.setUniform2fv(t,n);break;case u.FLOAT_VEC3:e.setUniform3fv(t,n);break;case u.FLOAT_VEC4:e.setUniform4fv(t,n);break;case u.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case u.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case u.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case u.BOOL:e.setUniform1i(t,n?1:0);break;case u.INT_VEC2:case u.BOOL_VEC2:e.setUniform2iv(t,n);break;case u.INT_VEC3:case u.BOOL_VEC3:e.setUniform3iv(t,n);break;case u.INT_VEC4:case u.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{l as createColormapTexture,m as createRasterTexture,c as createTransformTexture,g as getBasicGridUniforms,p as getColormapUniforms,_ as getCommonUniforms,E as getShadedReliefUniforms,T as getStretchUniforms,A as getUniformLocationInfos,O as setTextures,h as setUniforms};\n"],"names":["n","Float32Array","t","r","e","a","o","u","s","c","i","f","l","_","y","w","N","Object","freeze","defineProperty","__proto__","create","clone","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","value","m","constructor","super","arguments","this","_desc","lut","vsPath","fsPath","attributes","Map","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","setColorMask","setStencilWriteMask","setStencilTestEnabled","draw","suspended","timeline","painter","begin","name","setStencilFunction","stencilRef","capabilities","textureFloat","textureFloatLinear","updateTexture","h","_getShaderVariations","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","requestRender","allowDelayedRender","p","isCompiled","g","transformGrid","b","width","P","height","opacity","S","x","useProgram","M","_getUniformInfos","names","U","textures","j","getTextures","I","E","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","d","length","join","has","get","set","interpolation","push","isRendereredSource","spacing","nearest","defines","samplingMode","mips","bilinear","bicubic","trilinear","state","resolution","pixelRatio","Math","round","rotation","isSourceScaled","renderingOptions","isReady","blendFunction","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","geometry","location","count","_color","_program","setFaceCullingEnabled","setStencilOp","getVAO","bufferLayouts","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","size","tex","dvsMat3","isWrapAround","perspectiveTransform","texture","v","bindTexture","A","drawArrays","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","key","level","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","map","findIndex","strides","max","divisor","normalized","offset","stride","splice","shader","vertexLayout","rendererInfo","requiredLevel","data","T","hittestAttributes","programSpec","L","G","O","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","D","R","target","indexCount","indexFrom","Uint32Array","BYTES_PER_ELEMENT","_drawFills","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","rendererSchema","_createDotDensityMesh","dotSize","window","devicePixelRatio","getViewport","dotScale","colors","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","clear","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","pixelFormat","dataType","wrapMode","colorTarget","depthStencilTarget","internalFormat","_createDotDensityTextures","seed","setUniform1iv","Int16Array","F","_seed","_allocDotDensityTexture","getFloat","_drawMarkers","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","floatBufferBlendWorking","driverTest","R32F","R16F","warnOnce","B","brushEffect","loadQualityProfile","referenceScale","radius","isFieldActive","createOptions","_prevFBO","_accumulateOutputTexture","_accumulateFramebuffer","detachDepthStencilBuffer","_accumulateOutputStencilBuffer","_resolveGradientTexture","_tileQuad","_prevViewport","_loadResources","_updateResources","setBlendFunction","unbind","minDensity","densityRange","PI","shadingRate","requiresSharedStencilBuffer","getSharedStencilBuffer","gradientHash","gradient","_prevGradientHash","resize","setData","depthStencilAttachment","descriptor","errorOnce","blitFramebuffer","_qualityProfile","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","drawPhase","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","some","layerData","circleIndexCount","circleMaterial","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","H","Y","q","textVertexArrayObject","forEach","_renderGlyphRange","mapAligned","abs","floor","marker","line","fill","text","label","clip","stencil","bitmap","overlay","raster","rasterVF","flow","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","heatmap","pieChart","_visualState","time","displayData","attach","resources","ready","flowStyle","render","animated","beaufort_ft","beaufort_m","beaufort_km","beaufort_mi","beaufort_kn","classified_arrow","ocean_current_m","ocean_current_kn","single_arrow","wind_speed","magdir","scalar","validPixelCount","updateVectorFieldVAO","vaoData","_drawScalars","vao","elementCount","_drawTriangles","dataRange","rotationType","style","symbolPercentRange","_getSymbolSize","symbolTileSize","bandCount","outMin","outMax","minCutOff","maxCutOff","factor","useGamma","gamma","gammaCorrection","stretchType","_textureInvalidated","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","_source","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","destroy","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","invalidateTexture","stage","bandIds","_isBandIdschanged","setSamplingMode","_getTextureSamplingMethod","_createTransforms","setTransform","toScreenNoRotation","onAttach","onDetach","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","pixels","_colormap","_rctx","_vertexBuffer","Uint16Array","_count","coords","lengths","slice","_cache","vertices","indices","primitiveType","isMapSpace","static","fromScreenExtent","xmin","ymin","xmax","ymax","path","fromPolygon","fromMapExtent","error","fromRect","toScreen","vertexBuffers","elementType","getIndexBuffer","getVertexBuffers","keys","reduce","parseFloat","_clip","_handle","version","_invalidate","_destroyGL","mesh","remove","_lastWidth","_lastHeight","_createMesh","_createScreenRect","left","right","top","bottom","clips","_clips","children","_updateClippingInfo","beforeRender","updateTransforms","doRender","createRenderParams","globalOpacity","profiler","recordContainerStart","beforeRenderLayer","_clippingInfos","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","prepareRenderPasses","requireFBO","requiresDedicatedFBO","registerRenderPass","brushes","items","visible","shaders","vertexShader","fragmentShader","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","_getTexture","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","_initialize","setStencilFunctionSeparate","background","bitBlit","blend","debug","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","imagery","particles","streamlines","reproject","util","split","resolveIncludes","pixelType","getAsRGBAFloat","getAsRGBA","flipped","offsets","coefficients","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","u_minOutput","u_maxOutput","u_minCutOff","u_maxCutOff","u_factor","u_useGamma","u_gamma","u_gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","minValue","u_maxValue","maxValue","glName","getProgramParameter","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","info","setUniform3fv","setUniform2iv","setUniform3iv","setUniform4iv"],"sourceRoot":""}