tileserver-gl 3.1.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +13 -5
- package/Dockerfile_light +3 -2
- package/Dockerfile_test +2 -1
- package/README.md +56 -15
- package/docker-entrypoint.sh +13 -1
- package/docker-entrypoint_light.sh +35 -0
- package/docs/conf.py +4 -4
- package/docs/deployment.rst +2 -2
- package/docs/installation.rst +23 -4
- package/docs/usage.rst +4 -2
- package/fonts/Open Sans Bold/0-255.pbf +0 -0
- package/fonts/Open Sans Bold/1024-1279.pbf +0 -0
- package/fonts/Open Sans Bold/10240-10495.pbf +3 -0
- package/fonts/Open Sans Bold/10496-10751.pbf +3 -0
- package/fonts/Open Sans Bold/10752-11007.pbf +3 -0
- package/fonts/Open Sans Bold/11008-11263.pbf +3 -0
- package/fonts/Open Sans Bold/11264-11519.pbf +3 -0
- package/fonts/Open Sans Bold/11520-11775.pbf +3 -0
- package/fonts/Open Sans Bold/11776-12031.pbf +3 -0
- package/fonts/Open Sans Bold/12032-12287.pbf +3 -0
- package/fonts/Open Sans Bold/12288-12543.pbf +3 -0
- package/fonts/Open Sans Bold/12544-12799.pbf +3 -0
- package/fonts/Open Sans Bold/1280-1535.pbf +0 -0
- package/fonts/Open Sans Bold/12800-13055.pbf +3 -0
- package/fonts/Open Sans Bold/13056-13311.pbf +3 -0
- package/fonts/Open Sans Bold/13312-13567.pbf +3 -0
- package/fonts/Open Sans Bold/13568-13823.pbf +3 -0
- package/fonts/Open Sans Bold/13824-14079.pbf +3 -0
- package/fonts/Open Sans Bold/14080-14335.pbf +3 -0
- package/fonts/Open Sans Bold/14336-14591.pbf +3 -0
- package/fonts/Open Sans Bold/14592-14847.pbf +3 -0
- package/fonts/Open Sans Bold/14848-15103.pbf +3 -0
- package/fonts/Open Sans Bold/15104-15359.pbf +3 -0
- package/fonts/Open Sans Bold/1536-1791.pbf +3 -0
- package/fonts/Open Sans Bold/15360-15615.pbf +3 -0
- package/fonts/Open Sans Bold/15616-15871.pbf +3 -0
- package/fonts/Open Sans Bold/15872-16127.pbf +3 -0
- package/fonts/Open Sans Bold/16128-16383.pbf +3 -0
- package/fonts/Open Sans Bold/16384-16639.pbf +3 -0
- package/fonts/Open Sans Bold/16640-16895.pbf +3 -0
- package/fonts/Open Sans Bold/16896-17151.pbf +3 -0
- package/fonts/Open Sans Bold/17152-17407.pbf +3 -0
- package/fonts/Open Sans Bold/17408-17663.pbf +3 -0
- package/fonts/Open Sans Bold/17664-17919.pbf +3 -0
- package/fonts/Open Sans Bold/1792-2047.pbf +3 -0
- package/fonts/Open Sans Bold/17920-18175.pbf +3 -0
- package/fonts/Open Sans Bold/18176-18431.pbf +3 -0
- package/fonts/Open Sans Bold/18432-18687.pbf +3 -0
- package/fonts/Open Sans Bold/18688-18943.pbf +3 -0
- package/fonts/Open Sans Bold/18944-19199.pbf +3 -0
- package/fonts/Open Sans Bold/19200-19455.pbf +3 -0
- package/fonts/Open Sans Bold/19456-19711.pbf +3 -0
- package/fonts/Open Sans Bold/19712-19967.pbf +3 -0
- package/fonts/Open Sans Bold/19968-20223.pbf +3 -0
- package/fonts/Open Sans Bold/20224-20479.pbf +3 -0
- package/fonts/Open Sans Bold/2048-2303.pbf +3 -0
- package/fonts/Open Sans Bold/20480-20735.pbf +3 -0
- package/fonts/Open Sans Bold/20736-20991.pbf +3 -0
- package/fonts/Open Sans Bold/20992-21247.pbf +3 -0
- package/fonts/Open Sans Bold/21248-21503.pbf +3 -0
- package/fonts/Open Sans Bold/21504-21759.pbf +3 -0
- package/fonts/Open Sans Bold/21760-22015.pbf +3 -0
- package/fonts/Open Sans Bold/22016-22271.pbf +3 -0
- package/fonts/Open Sans Bold/22272-22527.pbf +3 -0
- package/fonts/Open Sans Bold/22528-22783.pbf +3 -0
- package/fonts/Open Sans Bold/22784-23039.pbf +3 -0
- package/fonts/Open Sans Bold/2304-2559.pbf +3 -0
- package/fonts/Open Sans Bold/23040-23295.pbf +3 -0
- package/fonts/Open Sans Bold/23296-23551.pbf +3 -0
- package/fonts/Open Sans Bold/23552-23807.pbf +3 -0
- package/fonts/Open Sans Bold/23808-24063.pbf +3 -0
- package/fonts/Open Sans Bold/24064-24319.pbf +3 -0
- package/fonts/Open Sans Bold/24320-24575.pbf +3 -0
- package/fonts/Open Sans Bold/24576-24831.pbf +3 -0
- package/fonts/Open Sans Bold/24832-25087.pbf +3 -0
- package/fonts/Open Sans Bold/25088-25343.pbf +3 -0
- package/fonts/Open Sans Bold/25344-25599.pbf +3 -0
- package/fonts/Open Sans Bold/256-511.pbf +0 -0
- package/fonts/Open Sans Bold/2560-2815.pbf +3 -0
- package/fonts/Open Sans Bold/25600-25855.pbf +3 -0
- package/fonts/Open Sans Bold/25856-26111.pbf +3 -0
- package/fonts/Open Sans Bold/26112-26367.pbf +3 -0
- package/fonts/Open Sans Bold/26368-26623.pbf +3 -0
- package/fonts/Open Sans Bold/26624-26879.pbf +3 -0
- package/fonts/Open Sans Bold/26880-27135.pbf +3 -0
- package/fonts/Open Sans Bold/27136-27391.pbf +3 -0
- package/fonts/Open Sans Bold/27392-27647.pbf +3 -0
- package/fonts/Open Sans Bold/27648-27903.pbf +3 -0
- package/fonts/Open Sans Bold/27904-28159.pbf +3 -0
- package/fonts/Open Sans Bold/2816-3071.pbf +3 -0
- package/fonts/Open Sans Bold/28160-28415.pbf +3 -0
- package/fonts/Open Sans Bold/28416-28671.pbf +3 -0
- package/fonts/Open Sans Bold/28672-28927.pbf +3 -0
- package/fonts/Open Sans Bold/28928-29183.pbf +3 -0
- package/fonts/Open Sans Bold/29184-29439.pbf +3 -0
- package/fonts/Open Sans Bold/29440-29695.pbf +3 -0
- package/fonts/Open Sans Bold/29696-29951.pbf +3 -0
- package/fonts/Open Sans Bold/29952-30207.pbf +3 -0
- package/fonts/Open Sans Bold/30208-30463.pbf +3 -0
- package/fonts/Open Sans Bold/30464-30719.pbf +3 -0
- package/fonts/Open Sans Bold/3072-3327.pbf +3 -0
- package/fonts/Open Sans Bold/30720-30975.pbf +3 -0
- package/fonts/Open Sans Bold/30976-31231.pbf +3 -0
- package/fonts/Open Sans Bold/31232-31487.pbf +3 -0
- package/fonts/Open Sans Bold/31488-31743.pbf +3 -0
- package/fonts/Open Sans Bold/31744-31999.pbf +3 -0
- package/fonts/Open Sans Bold/32000-32255.pbf +3 -0
- package/fonts/Open Sans Bold/32256-32511.pbf +3 -0
- package/fonts/Open Sans Bold/32512-32767.pbf +3 -0
- package/fonts/Open Sans Bold/32768-33023.pbf +3 -0
- package/fonts/Open Sans Bold/33024-33279.pbf +3 -0
- package/fonts/Open Sans Bold/3328-3583.pbf +3 -0
- package/fonts/Open Sans Bold/33280-33535.pbf +3 -0
- package/fonts/Open Sans Bold/33536-33791.pbf +3 -0
- package/fonts/Open Sans Bold/33792-34047.pbf +3 -0
- package/fonts/Open Sans Bold/34048-34303.pbf +3 -0
- package/fonts/Open Sans Bold/34304-34559.pbf +3 -0
- package/fonts/Open Sans Bold/34560-34815.pbf +3 -0
- package/fonts/Open Sans Bold/34816-35071.pbf +3 -0
- package/fonts/Open Sans Bold/35072-35327.pbf +3 -0
- package/fonts/Open Sans Bold/35328-35583.pbf +3 -0
- package/fonts/Open Sans Bold/35584-35839.pbf +3 -0
- package/fonts/Open Sans Bold/3584-3839.pbf +3 -0
- package/fonts/Open Sans Bold/35840-36095.pbf +3 -0
- package/fonts/Open Sans Bold/36096-36351.pbf +3 -0
- package/fonts/Open Sans Bold/36352-36607.pbf +3 -0
- package/fonts/Open Sans Bold/36608-36863.pbf +3 -0
- package/fonts/Open Sans Bold/36864-37119.pbf +3 -0
- package/fonts/Open Sans Bold/37120-37375.pbf +3 -0
- package/fonts/Open Sans Bold/37376-37631.pbf +3 -0
- package/fonts/Open Sans Bold/37632-37887.pbf +3 -0
- package/fonts/Open Sans Bold/37888-38143.pbf +3 -0
- package/fonts/Open Sans Bold/38144-38399.pbf +3 -0
- package/fonts/Open Sans Bold/3840-4095.pbf +3 -0
- package/fonts/Open Sans Bold/38400-38655.pbf +3 -0
- package/fonts/Open Sans Bold/38656-38911.pbf +3 -0
- package/fonts/Open Sans Bold/38912-39167.pbf +3 -0
- package/fonts/Open Sans Bold/39168-39423.pbf +3 -0
- package/fonts/Open Sans Bold/39424-39679.pbf +3 -0
- package/fonts/Open Sans Bold/39680-39935.pbf +3 -0
- package/fonts/Open Sans Bold/39936-40191.pbf +3 -0
- package/fonts/Open Sans Bold/40192-40447.pbf +3 -0
- package/fonts/Open Sans Bold/40448-40703.pbf +3 -0
- package/fonts/Open Sans Bold/40704-40959.pbf +3 -0
- package/fonts/Open Sans Bold/4096-4351.pbf +3 -0
- package/fonts/Open Sans Bold/40960-41215.pbf +3 -0
- package/fonts/Open Sans Bold/41216-41471.pbf +3 -0
- package/fonts/Open Sans Bold/41472-41727.pbf +3 -0
- package/fonts/Open Sans Bold/41728-41983.pbf +3 -0
- package/fonts/Open Sans Bold/41984-42239.pbf +3 -0
- package/fonts/Open Sans Bold/42240-42495.pbf +3 -0
- package/fonts/Open Sans Bold/42496-42751.pbf +3 -0
- package/fonts/Open Sans Bold/42752-43007.pbf +3 -0
- package/fonts/Open Sans Bold/43008-43263.pbf +3 -0
- package/fonts/Open Sans Bold/43264-43519.pbf +3 -0
- package/fonts/Open Sans Bold/4352-4607.pbf +3 -0
- package/fonts/Open Sans Bold/43520-43775.pbf +3 -0
- package/fonts/Open Sans Bold/43776-44031.pbf +3 -0
- package/fonts/Open Sans Bold/44032-44287.pbf +3 -0
- package/fonts/Open Sans Bold/44288-44543.pbf +3 -0
- package/fonts/Open Sans Bold/44544-44799.pbf +3 -0
- package/fonts/Open Sans Bold/44800-45055.pbf +3 -0
- package/fonts/Open Sans Bold/45056-45311.pbf +3 -0
- package/fonts/Open Sans Bold/45312-45567.pbf +3 -0
- package/fonts/Open Sans Bold/45568-45823.pbf +3 -0
- package/fonts/Open Sans Bold/45824-46079.pbf +3 -0
- package/fonts/Open Sans Bold/4608-4863.pbf +3 -0
- package/fonts/Open Sans Bold/46080-46335.pbf +3 -0
- package/fonts/Open Sans Bold/46336-46591.pbf +3 -0
- package/fonts/Open Sans Bold/46592-46847.pbf +3 -0
- package/fonts/Open Sans Bold/46848-47103.pbf +3 -0
- package/fonts/Open Sans Bold/47104-47359.pbf +3 -0
- package/fonts/Open Sans Bold/47360-47615.pbf +3 -0
- package/fonts/Open Sans Bold/47616-47871.pbf +3 -0
- package/fonts/Open Sans Bold/47872-48127.pbf +3 -0
- package/fonts/Open Sans Bold/48128-48383.pbf +3 -0
- package/fonts/Open Sans Bold/48384-48639.pbf +3 -0
- package/fonts/Open Sans Bold/4864-5119.pbf +3 -0
- package/fonts/Open Sans Bold/48640-48895.pbf +3 -0
- package/fonts/Open Sans Bold/48896-49151.pbf +3 -0
- package/fonts/Open Sans Bold/49152-49407.pbf +3 -0
- package/fonts/Open Sans Bold/49408-49663.pbf +3 -0
- package/fonts/Open Sans Bold/49664-49919.pbf +3 -0
- package/fonts/Open Sans Bold/49920-50175.pbf +3 -0
- package/fonts/Open Sans Bold/50176-50431.pbf +3 -0
- package/fonts/Open Sans Bold/50432-50687.pbf +3 -0
- package/fonts/Open Sans Bold/50688-50943.pbf +3 -0
- package/fonts/Open Sans Bold/50944-51199.pbf +3 -0
- package/fonts/Open Sans Bold/512-767.pbf +0 -0
- package/fonts/Open Sans Bold/5120-5375.pbf +3 -0
- package/fonts/Open Sans Bold/51200-51455.pbf +3 -0
- package/fonts/Open Sans Bold/51456-51711.pbf +3 -0
- package/fonts/Open Sans Bold/51712-51967.pbf +3 -0
- package/fonts/Open Sans Bold/51968-52223.pbf +3 -0
- package/fonts/Open Sans Bold/52224-52479.pbf +3 -0
- package/fonts/Open Sans Bold/52480-52735.pbf +3 -0
- package/fonts/Open Sans Bold/52736-52991.pbf +3 -0
- package/fonts/Open Sans Bold/52992-53247.pbf +3 -0
- package/fonts/Open Sans Bold/53248-53503.pbf +3 -0
- package/fonts/Open Sans Bold/53504-53759.pbf +3 -0
- package/fonts/Open Sans Bold/5376-5631.pbf +3 -0
- package/fonts/Open Sans Bold/53760-54015.pbf +3 -0
- package/fonts/Open Sans Bold/54016-54271.pbf +3 -0
- package/fonts/Open Sans Bold/54272-54527.pbf +3 -0
- package/fonts/Open Sans Bold/54528-54783.pbf +3 -0
- package/fonts/Open Sans Bold/54784-55039.pbf +3 -0
- package/fonts/Open Sans Bold/55040-55295.pbf +3 -0
- package/fonts/Open Sans Bold/55296-55551.pbf +3 -0
- package/fonts/Open Sans Bold/55552-55807.pbf +3 -0
- package/fonts/Open Sans Bold/55808-56063.pbf +3 -0
- package/fonts/Open Sans Bold/56064-56319.pbf +3 -0
- package/fonts/Open Sans Bold/5632-5887.pbf +3 -0
- package/fonts/Open Sans Bold/56320-56575.pbf +3 -0
- package/fonts/Open Sans Bold/56576-56831.pbf +3 -0
- package/fonts/Open Sans Bold/56832-57087.pbf +3 -0
- package/fonts/Open Sans Bold/57088-57343.pbf +3 -0
- package/fonts/Open Sans Bold/57344-57599.pbf +3 -0
- package/fonts/Open Sans Bold/57600-57855.pbf +3 -0
- package/fonts/Open Sans Bold/57856-58111.pbf +3 -0
- package/fonts/Open Sans Bold/58112-58367.pbf +3 -0
- package/fonts/Open Sans Bold/58368-58623.pbf +3 -0
- package/fonts/Open Sans Bold/58624-58879.pbf +3 -0
- package/fonts/Open Sans Bold/5888-6143.pbf +3 -0
- package/fonts/Open Sans Bold/58880-59135.pbf +3 -0
- package/fonts/Open Sans Bold/59136-59391.pbf +3 -0
- package/fonts/Open Sans Bold/59392-59647.pbf +3 -0
- package/fonts/Open Sans Bold/59648-59903.pbf +3 -0
- package/fonts/Open Sans Bold/59904-60159.pbf +3 -0
- package/fonts/Open Sans Bold/60160-60415.pbf +3 -0
- package/fonts/Open Sans Bold/60416-60671.pbf +3 -0
- package/fonts/Open Sans Bold/60672-60927.pbf +3 -0
- package/fonts/Open Sans Bold/60928-61183.pbf +3 -0
- package/fonts/Open Sans Bold/61184-61439.pbf +3 -0
- package/fonts/Open Sans Bold/6144-6399.pbf +3 -0
- package/fonts/Open Sans Bold/61440-61695.pbf +3 -0
- package/fonts/Open Sans Bold/61696-61951.pbf +3 -0
- package/fonts/Open Sans Bold/61952-62207.pbf +3 -0
- package/fonts/Open Sans Bold/62208-62463.pbf +3 -0
- package/fonts/Open Sans Bold/62464-62719.pbf +3 -0
- package/fonts/Open Sans Bold/62720-62975.pbf +3 -0
- package/fonts/Open Sans Bold/62976-63231.pbf +3 -0
- package/fonts/Open Sans Bold/63232-63487.pbf +3 -0
- package/fonts/Open Sans Bold/63488-63743.pbf +3 -0
- package/fonts/Open Sans Bold/63744-63999.pbf +3 -0
- package/fonts/Open Sans Bold/6400-6655.pbf +3 -0
- package/fonts/Open Sans Bold/64000-64255.pbf +3 -0
- package/fonts/Open Sans Bold/64256-64511.pbf +0 -0
- package/fonts/Open Sans Bold/64512-64767.pbf +3 -0
- package/fonts/Open Sans Bold/64768-65023.pbf +3 -0
- package/fonts/Open Sans Bold/65024-65279.pbf +0 -0
- package/fonts/Open Sans Bold/65280-65535.pbf +0 -0
- package/fonts/Open Sans Bold/6656-6911.pbf +3 -0
- package/fonts/Open Sans Bold/6912-7167.pbf +3 -0
- package/fonts/Open Sans Bold/7168-7423.pbf +3 -0
- package/fonts/Open Sans Bold/7424-7679.pbf +3 -0
- package/fonts/Open Sans Bold/768-1023.pbf +0 -0
- package/fonts/Open Sans Bold/7680-7935.pbf +0 -0
- package/fonts/Open Sans Bold/7936-8191.pbf +0 -0
- package/fonts/Open Sans Bold/8192-8447.pbf +0 -0
- package/fonts/Open Sans Bold/8448-8703.pbf +0 -0
- package/fonts/Open Sans Bold/8704-8959.pbf +0 -0
- package/fonts/Open Sans Bold/8960-9215.pbf +3 -0
- package/fonts/Open Sans Bold/9216-9471.pbf +3 -0
- package/fonts/Open Sans Bold/9472-9727.pbf +0 -0
- package/fonts/Open Sans Bold/9728-9983.pbf +3 -0
- package/fonts/Open Sans Bold/9984-10239.pbf +4 -0
- package/fonts/Open Sans Italic/0-255.pbf +0 -0
- package/fonts/Open Sans Italic/1024-1279.pbf +0 -0
- package/fonts/Open Sans Italic/10240-10495.pbf +3 -0
- package/fonts/Open Sans Italic/10496-10751.pbf +3 -0
- package/fonts/Open Sans Italic/10752-11007.pbf +3 -0
- package/fonts/Open Sans Italic/11008-11263.pbf +3 -0
- package/fonts/Open Sans Italic/11264-11519.pbf +3 -0
- package/fonts/Open Sans Italic/11520-11775.pbf +3 -0
- package/fonts/Open Sans Italic/11776-12031.pbf +3 -0
- package/fonts/Open Sans Italic/12032-12287.pbf +3 -0
- package/fonts/Open Sans Italic/12288-12543.pbf +3 -0
- package/fonts/Open Sans Italic/12544-12799.pbf +3 -0
- package/fonts/Open Sans Italic/1280-1535.pbf +0 -0
- package/fonts/Open Sans Italic/12800-13055.pbf +3 -0
- package/fonts/Open Sans Italic/13056-13311.pbf +3 -0
- package/fonts/Open Sans Italic/13312-13567.pbf +3 -0
- package/fonts/Open Sans Italic/13568-13823.pbf +3 -0
- package/fonts/Open Sans Italic/13824-14079.pbf +3 -0
- package/fonts/Open Sans Italic/14080-14335.pbf +3 -0
- package/fonts/Open Sans Italic/14336-14591.pbf +3 -0
- package/fonts/Open Sans Italic/14592-14847.pbf +3 -0
- package/fonts/Open Sans Italic/14848-15103.pbf +3 -0
- package/fonts/Open Sans Italic/15104-15359.pbf +3 -0
- package/fonts/Open Sans Italic/1536-1791.pbf +3 -0
- package/fonts/Open Sans Italic/15360-15615.pbf +3 -0
- package/fonts/Open Sans Italic/15616-15871.pbf +3 -0
- package/fonts/Open Sans Italic/15872-16127.pbf +3 -0
- package/fonts/Open Sans Italic/16128-16383.pbf +3 -0
- package/fonts/Open Sans Italic/16384-16639.pbf +3 -0
- package/fonts/Open Sans Italic/16640-16895.pbf +3 -0
- package/fonts/Open Sans Italic/16896-17151.pbf +3 -0
- package/fonts/Open Sans Italic/17152-17407.pbf +3 -0
- package/fonts/Open Sans Italic/17408-17663.pbf +3 -0
- package/fonts/Open Sans Italic/17664-17919.pbf +3 -0
- package/fonts/Open Sans Italic/1792-2047.pbf +3 -0
- package/fonts/Open Sans Italic/17920-18175.pbf +3 -0
- package/fonts/Open Sans Italic/18176-18431.pbf +3 -0
- package/fonts/Open Sans Italic/18432-18687.pbf +3 -0
- package/fonts/Open Sans Italic/18688-18943.pbf +3 -0
- package/fonts/Open Sans Italic/18944-19199.pbf +3 -0
- package/fonts/Open Sans Italic/19200-19455.pbf +3 -0
- package/fonts/Open Sans Italic/19456-19711.pbf +3 -0
- package/fonts/Open Sans Italic/19712-19967.pbf +3 -0
- package/fonts/Open Sans Italic/19968-20223.pbf +3 -0
- package/fonts/Open Sans Italic/20224-20479.pbf +3 -0
- package/fonts/Open Sans Italic/2048-2303.pbf +3 -0
- package/fonts/Open Sans Italic/20480-20735.pbf +3 -0
- package/fonts/Open Sans Italic/20736-20991.pbf +3 -0
- package/fonts/Open Sans Italic/20992-21247.pbf +3 -0
- package/fonts/Open Sans Italic/21248-21503.pbf +3 -0
- package/fonts/Open Sans Italic/21504-21759.pbf +3 -0
- package/fonts/Open Sans Italic/21760-22015.pbf +3 -0
- package/fonts/Open Sans Italic/22016-22271.pbf +3 -0
- package/fonts/Open Sans Italic/22272-22527.pbf +3 -0
- package/fonts/Open Sans Italic/22528-22783.pbf +3 -0
- package/fonts/Open Sans Italic/22784-23039.pbf +3 -0
- package/fonts/Open Sans Italic/2304-2559.pbf +3 -0
- package/fonts/Open Sans Italic/23040-23295.pbf +3 -0
- package/fonts/Open Sans Italic/23296-23551.pbf +3 -0
- package/fonts/Open Sans Italic/23552-23807.pbf +3 -0
- package/fonts/Open Sans Italic/23808-24063.pbf +3 -0
- package/fonts/Open Sans Italic/24064-24319.pbf +3 -0
- package/fonts/Open Sans Italic/24320-24575.pbf +3 -0
- package/fonts/Open Sans Italic/24576-24831.pbf +3 -0
- package/fonts/Open Sans Italic/24832-25087.pbf +3 -0
- package/fonts/Open Sans Italic/25088-25343.pbf +3 -0
- package/fonts/Open Sans Italic/25344-25599.pbf +3 -0
- package/fonts/Open Sans Italic/256-511.pbf +0 -0
- package/fonts/Open Sans Italic/2560-2815.pbf +3 -0
- package/fonts/Open Sans Italic/25600-25855.pbf +3 -0
- package/fonts/Open Sans Italic/25856-26111.pbf +3 -0
- package/fonts/Open Sans Italic/26112-26367.pbf +3 -0
- package/fonts/Open Sans Italic/26368-26623.pbf +3 -0
- package/fonts/Open Sans Italic/26624-26879.pbf +3 -0
- package/fonts/Open Sans Italic/26880-27135.pbf +3 -0
- package/fonts/Open Sans Italic/27136-27391.pbf +3 -0
- package/fonts/Open Sans Italic/27392-27647.pbf +3 -0
- package/fonts/Open Sans Italic/27648-27903.pbf +3 -0
- package/fonts/Open Sans Italic/27904-28159.pbf +3 -0
- package/fonts/Open Sans Italic/2816-3071.pbf +3 -0
- package/fonts/Open Sans Italic/28160-28415.pbf +3 -0
- package/fonts/Open Sans Italic/28416-28671.pbf +3 -0
- package/fonts/Open Sans Italic/28672-28927.pbf +3 -0
- package/fonts/Open Sans Italic/28928-29183.pbf +3 -0
- package/fonts/Open Sans Italic/29184-29439.pbf +3 -0
- package/fonts/Open Sans Italic/29440-29695.pbf +3 -0
- package/fonts/Open Sans Italic/29696-29951.pbf +3 -0
- package/fonts/Open Sans Italic/29952-30207.pbf +3 -0
- package/fonts/Open Sans Italic/30208-30463.pbf +3 -0
- package/fonts/Open Sans Italic/30464-30719.pbf +3 -0
- package/fonts/Open Sans Italic/3072-3327.pbf +3 -0
- package/fonts/Open Sans Italic/30720-30975.pbf +3 -0
- package/fonts/Open Sans Italic/30976-31231.pbf +3 -0
- package/fonts/Open Sans Italic/31232-31487.pbf +3 -0
- package/fonts/Open Sans Italic/31488-31743.pbf +3 -0
- package/fonts/Open Sans Italic/31744-31999.pbf +3 -0
- package/fonts/Open Sans Italic/32000-32255.pbf +3 -0
- package/fonts/Open Sans Italic/32256-32511.pbf +3 -0
- package/fonts/Open Sans Italic/32512-32767.pbf +3 -0
- package/fonts/Open Sans Italic/32768-33023.pbf +3 -0
- package/fonts/Open Sans Italic/33024-33279.pbf +3 -0
- package/fonts/Open Sans Italic/3328-3583.pbf +3 -0
- package/fonts/Open Sans Italic/33280-33535.pbf +3 -0
- package/fonts/Open Sans Italic/33536-33791.pbf +3 -0
- package/fonts/Open Sans Italic/33792-34047.pbf +3 -0
- package/fonts/Open Sans Italic/34048-34303.pbf +3 -0
- package/fonts/Open Sans Italic/34304-34559.pbf +3 -0
- package/fonts/Open Sans Italic/34560-34815.pbf +3 -0
- package/fonts/Open Sans Italic/34816-35071.pbf +3 -0
- package/fonts/Open Sans Italic/35072-35327.pbf +3 -0
- package/fonts/Open Sans Italic/35328-35583.pbf +3 -0
- package/fonts/Open Sans Italic/35584-35839.pbf +3 -0
- package/fonts/Open Sans Italic/3584-3839.pbf +3 -0
- package/fonts/Open Sans Italic/35840-36095.pbf +3 -0
- package/fonts/Open Sans Italic/36096-36351.pbf +3 -0
- package/fonts/Open Sans Italic/36352-36607.pbf +3 -0
- package/fonts/Open Sans Italic/36608-36863.pbf +3 -0
- package/fonts/Open Sans Italic/36864-37119.pbf +3 -0
- package/fonts/Open Sans Italic/37120-37375.pbf +3 -0
- package/fonts/Open Sans Italic/37376-37631.pbf +3 -0
- package/fonts/Open Sans Italic/37632-37887.pbf +3 -0
- package/fonts/Open Sans Italic/37888-38143.pbf +3 -0
- package/fonts/Open Sans Italic/38144-38399.pbf +3 -0
- package/fonts/Open Sans Italic/3840-4095.pbf +3 -0
- package/fonts/Open Sans Italic/38400-38655.pbf +3 -0
- package/fonts/Open Sans Italic/38656-38911.pbf +3 -0
- package/fonts/Open Sans Italic/38912-39167.pbf +3 -0
- package/fonts/Open Sans Italic/39168-39423.pbf +3 -0
- package/fonts/Open Sans Italic/39424-39679.pbf +3 -0
- package/fonts/Open Sans Italic/39680-39935.pbf +3 -0
- package/fonts/Open Sans Italic/39936-40191.pbf +3 -0
- package/fonts/Open Sans Italic/40192-40447.pbf +3 -0
- package/fonts/Open Sans Italic/40448-40703.pbf +3 -0
- package/fonts/Open Sans Italic/40704-40959.pbf +3 -0
- package/fonts/Open Sans Italic/4096-4351.pbf +3 -0
- package/fonts/Open Sans Italic/40960-41215.pbf +3 -0
- package/fonts/Open Sans Italic/41216-41471.pbf +3 -0
- package/fonts/Open Sans Italic/41472-41727.pbf +3 -0
- package/fonts/Open Sans Italic/41728-41983.pbf +3 -0
- package/fonts/Open Sans Italic/41984-42239.pbf +3 -0
- package/fonts/Open Sans Italic/42240-42495.pbf +3 -0
- package/fonts/Open Sans Italic/42496-42751.pbf +3 -0
- package/fonts/Open Sans Italic/42752-43007.pbf +3 -0
- package/fonts/Open Sans Italic/43008-43263.pbf +3 -0
- package/fonts/Open Sans Italic/43264-43519.pbf +3 -0
- package/fonts/Open Sans Italic/4352-4607.pbf +3 -0
- package/fonts/Open Sans Italic/43520-43775.pbf +3 -0
- package/fonts/Open Sans Italic/43776-44031.pbf +3 -0
- package/fonts/Open Sans Italic/44032-44287.pbf +3 -0
- package/fonts/Open Sans Italic/44288-44543.pbf +3 -0
- package/fonts/Open Sans Italic/44544-44799.pbf +3 -0
- package/fonts/Open Sans Italic/44800-45055.pbf +3 -0
- package/fonts/Open Sans Italic/45056-45311.pbf +3 -0
- package/fonts/Open Sans Italic/45312-45567.pbf +3 -0
- package/fonts/Open Sans Italic/45568-45823.pbf +3 -0
- package/fonts/Open Sans Italic/45824-46079.pbf +3 -0
- package/fonts/Open Sans Italic/4608-4863.pbf +3 -0
- package/fonts/Open Sans Italic/46080-46335.pbf +3 -0
- package/fonts/Open Sans Italic/46336-46591.pbf +3 -0
- package/fonts/Open Sans Italic/46592-46847.pbf +3 -0
- package/fonts/Open Sans Italic/46848-47103.pbf +3 -0
- package/fonts/Open Sans Italic/47104-47359.pbf +3 -0
- package/fonts/Open Sans Italic/47360-47615.pbf +3 -0
- package/fonts/Open Sans Italic/47616-47871.pbf +3 -0
- package/fonts/Open Sans Italic/47872-48127.pbf +3 -0
- package/fonts/Open Sans Italic/48128-48383.pbf +3 -0
- package/fonts/Open Sans Italic/48384-48639.pbf +3 -0
- package/fonts/Open Sans Italic/4864-5119.pbf +3 -0
- package/fonts/Open Sans Italic/48640-48895.pbf +3 -0
- package/fonts/Open Sans Italic/48896-49151.pbf +3 -0
- package/fonts/Open Sans Italic/49152-49407.pbf +3 -0
- package/fonts/Open Sans Italic/49408-49663.pbf +3 -0
- package/fonts/Open Sans Italic/49664-49919.pbf +3 -0
- package/fonts/Open Sans Italic/49920-50175.pbf +3 -0
- package/fonts/Open Sans Italic/50176-50431.pbf +3 -0
- package/fonts/Open Sans Italic/50432-50687.pbf +3 -0
- package/fonts/Open Sans Italic/50688-50943.pbf +3 -0
- package/fonts/Open Sans Italic/50944-51199.pbf +3 -0
- package/fonts/Open Sans Italic/512-767.pbf +0 -0
- package/fonts/Open Sans Italic/5120-5375.pbf +3 -0
- package/fonts/Open Sans Italic/51200-51455.pbf +3 -0
- package/fonts/Open Sans Italic/51456-51711.pbf +3 -0
- package/fonts/Open Sans Italic/51712-51967.pbf +3 -0
- package/fonts/Open Sans Italic/51968-52223.pbf +3 -0
- package/fonts/Open Sans Italic/52224-52479.pbf +3 -0
- package/fonts/Open Sans Italic/52480-52735.pbf +3 -0
- package/fonts/Open Sans Italic/52736-52991.pbf +3 -0
- package/fonts/Open Sans Italic/52992-53247.pbf +3 -0
- package/fonts/Open Sans Italic/53248-53503.pbf +3 -0
- package/fonts/Open Sans Italic/53504-53759.pbf +3 -0
- package/fonts/Open Sans Italic/5376-5631.pbf +3 -0
- package/fonts/Open Sans Italic/53760-54015.pbf +3 -0
- package/fonts/Open Sans Italic/54016-54271.pbf +3 -0
- package/fonts/Open Sans Italic/54272-54527.pbf +3 -0
- package/fonts/Open Sans Italic/54528-54783.pbf +3 -0
- package/fonts/Open Sans Italic/54784-55039.pbf +3 -0
- package/fonts/Open Sans Italic/55040-55295.pbf +3 -0
- package/fonts/Open Sans Italic/55296-55551.pbf +3 -0
- package/fonts/Open Sans Italic/55552-55807.pbf +3 -0
- package/fonts/Open Sans Italic/55808-56063.pbf +3 -0
- package/fonts/Open Sans Italic/56064-56319.pbf +3 -0
- package/fonts/Open Sans Italic/5632-5887.pbf +3 -0
- package/fonts/Open Sans Italic/56320-56575.pbf +3 -0
- package/fonts/Open Sans Italic/56576-56831.pbf +3 -0
- package/fonts/Open Sans Italic/56832-57087.pbf +3 -0
- package/fonts/Open Sans Italic/57088-57343.pbf +3 -0
- package/fonts/Open Sans Italic/57344-57599.pbf +3 -0
- package/fonts/Open Sans Italic/57600-57855.pbf +3 -0
- package/fonts/Open Sans Italic/57856-58111.pbf +3 -0
- package/fonts/Open Sans Italic/58112-58367.pbf +3 -0
- package/fonts/Open Sans Italic/58368-58623.pbf +3 -0
- package/fonts/Open Sans Italic/58624-58879.pbf +3 -0
- package/fonts/Open Sans Italic/5888-6143.pbf +3 -0
- package/fonts/Open Sans Italic/58880-59135.pbf +3 -0
- package/fonts/Open Sans Italic/59136-59391.pbf +3 -0
- package/fonts/Open Sans Italic/59392-59647.pbf +3 -0
- package/fonts/Open Sans Italic/59648-59903.pbf +3 -0
- package/fonts/Open Sans Italic/59904-60159.pbf +3 -0
- package/fonts/Open Sans Italic/60160-60415.pbf +3 -0
- package/fonts/Open Sans Italic/60416-60671.pbf +3 -0
- package/fonts/Open Sans Italic/60672-60927.pbf +3 -0
- package/fonts/Open Sans Italic/60928-61183.pbf +3 -0
- package/fonts/Open Sans Italic/61184-61439.pbf +3 -0
- package/fonts/Open Sans Italic/6144-6399.pbf +3 -0
- package/fonts/Open Sans Italic/61440-61695.pbf +3 -0
- package/fonts/Open Sans Italic/61696-61951.pbf +3 -0
- package/fonts/Open Sans Italic/61952-62207.pbf +3 -0
- package/fonts/Open Sans Italic/62208-62463.pbf +3 -0
- package/fonts/Open Sans Italic/62464-62719.pbf +3 -0
- package/fonts/Open Sans Italic/62720-62975.pbf +3 -0
- package/fonts/Open Sans Italic/62976-63231.pbf +3 -0
- package/fonts/Open Sans Italic/63232-63487.pbf +3 -0
- package/fonts/Open Sans Italic/63488-63743.pbf +3 -0
- package/fonts/Open Sans Italic/63744-63999.pbf +3 -0
- package/fonts/Open Sans Italic/6400-6655.pbf +3 -0
- package/fonts/Open Sans Italic/64000-64255.pbf +3 -0
- package/fonts/Open Sans Italic/64256-64511.pbf +0 -0
- package/fonts/Open Sans Italic/64512-64767.pbf +3 -0
- package/fonts/Open Sans Italic/64768-65023.pbf +3 -0
- package/fonts/Open Sans Italic/65024-65279.pbf +0 -0
- package/fonts/Open Sans Italic/65280-65535.pbf +0 -0
- package/fonts/Open Sans Italic/6656-6911.pbf +3 -0
- package/fonts/Open Sans Italic/6912-7167.pbf +3 -0
- package/fonts/Open Sans Italic/7168-7423.pbf +3 -0
- package/fonts/Open Sans Italic/7424-7679.pbf +3 -0
- package/fonts/Open Sans Italic/768-1023.pbf +0 -0
- package/fonts/Open Sans Italic/7680-7935.pbf +0 -0
- package/fonts/Open Sans Italic/7936-8191.pbf +0 -0
- package/fonts/Open Sans Italic/8192-8447.pbf +0 -0
- package/fonts/Open Sans Italic/8448-8703.pbf +0 -0
- package/fonts/Open Sans Italic/8704-8959.pbf +0 -0
- package/fonts/Open Sans Italic/8960-9215.pbf +3 -0
- package/fonts/Open Sans Italic/9216-9471.pbf +3 -0
- package/fonts/Open Sans Italic/9472-9727.pbf +0 -0
- package/fonts/Open Sans Italic/9728-9983.pbf +3 -0
- package/fonts/Open Sans Italic/9984-10239.pbf +4 -0
- package/fonts/Open Sans Regular/0-255.pbf +0 -0
- package/fonts/Open Sans Regular/1024-1279.pbf +0 -0
- package/fonts/Open Sans Regular/10240-10495.pbf +3 -0
- package/fonts/Open Sans Regular/10496-10751.pbf +3 -0
- package/fonts/Open Sans Regular/10752-11007.pbf +3 -0
- package/fonts/Open Sans Regular/11008-11263.pbf +3 -0
- package/fonts/Open Sans Regular/11264-11519.pbf +3 -0
- package/fonts/Open Sans Regular/11520-11775.pbf +3 -0
- package/fonts/Open Sans Regular/11776-12031.pbf +3 -0
- package/fonts/Open Sans Regular/12032-12287.pbf +3 -0
- package/fonts/Open Sans Regular/12288-12543.pbf +3 -0
- package/fonts/Open Sans Regular/12544-12799.pbf +3 -0
- package/fonts/Open Sans Regular/1280-1535.pbf +0 -0
- package/fonts/Open Sans Regular/12800-13055.pbf +3 -0
- package/fonts/Open Sans Regular/13056-13311.pbf +3 -0
- package/fonts/Open Sans Regular/13312-13567.pbf +3 -0
- package/fonts/Open Sans Regular/13568-13823.pbf +3 -0
- package/fonts/Open Sans Regular/13824-14079.pbf +3 -0
- package/fonts/Open Sans Regular/14080-14335.pbf +3 -0
- package/fonts/Open Sans Regular/14336-14591.pbf +3 -0
- package/fonts/Open Sans Regular/14592-14847.pbf +3 -0
- package/fonts/Open Sans Regular/14848-15103.pbf +3 -0
- package/fonts/Open Sans Regular/15104-15359.pbf +3 -0
- package/fonts/Open Sans Regular/1536-1791.pbf +3 -0
- package/fonts/Open Sans Regular/15360-15615.pbf +3 -0
- package/fonts/Open Sans Regular/15616-15871.pbf +3 -0
- package/fonts/Open Sans Regular/15872-16127.pbf +3 -0
- package/fonts/Open Sans Regular/16128-16383.pbf +3 -0
- package/fonts/Open Sans Regular/16384-16639.pbf +3 -0
- package/fonts/Open Sans Regular/16640-16895.pbf +3 -0
- package/fonts/Open Sans Regular/16896-17151.pbf +3 -0
- package/fonts/Open Sans Regular/17152-17407.pbf +3 -0
- package/fonts/Open Sans Regular/17408-17663.pbf +3 -0
- package/fonts/Open Sans Regular/17664-17919.pbf +3 -0
- package/fonts/Open Sans Regular/1792-2047.pbf +3 -0
- package/fonts/Open Sans Regular/17920-18175.pbf +3 -0
- package/fonts/Open Sans Regular/18176-18431.pbf +3 -0
- package/fonts/Open Sans Regular/18432-18687.pbf +3 -0
- package/fonts/Open Sans Regular/18688-18943.pbf +3 -0
- package/fonts/Open Sans Regular/18944-19199.pbf +3 -0
- package/fonts/Open Sans Regular/19200-19455.pbf +3 -0
- package/fonts/Open Sans Regular/19456-19711.pbf +3 -0
- package/fonts/Open Sans Regular/19712-19967.pbf +3 -0
- package/fonts/Open Sans Regular/19968-20223.pbf +3 -0
- package/fonts/Open Sans Regular/20224-20479.pbf +3 -0
- package/fonts/Open Sans Regular/2048-2303.pbf +3 -0
- package/fonts/Open Sans Regular/20480-20735.pbf +3 -0
- package/fonts/Open Sans Regular/20736-20991.pbf +3 -0
- package/fonts/Open Sans Regular/20992-21247.pbf +3 -0
- package/fonts/Open Sans Regular/21248-21503.pbf +3 -0
- package/fonts/Open Sans Regular/21504-21759.pbf +3 -0
- package/fonts/Open Sans Regular/21760-22015.pbf +3 -0
- package/fonts/Open Sans Regular/22016-22271.pbf +3 -0
- package/fonts/Open Sans Regular/22272-22527.pbf +3 -0
- package/fonts/Open Sans Regular/22528-22783.pbf +3 -0
- package/fonts/Open Sans Regular/22784-23039.pbf +3 -0
- package/fonts/Open Sans Regular/2304-2559.pbf +3 -0
- package/fonts/Open Sans Regular/23040-23295.pbf +3 -0
- package/fonts/Open Sans Regular/23296-23551.pbf +3 -0
- package/fonts/Open Sans Regular/23552-23807.pbf +3 -0
- package/fonts/Open Sans Regular/23808-24063.pbf +3 -0
- package/fonts/Open Sans Regular/24064-24319.pbf +3 -0
- package/fonts/Open Sans Regular/24320-24575.pbf +3 -0
- package/fonts/Open Sans Regular/24576-24831.pbf +3 -0
- package/fonts/Open Sans Regular/24832-25087.pbf +3 -0
- package/fonts/Open Sans Regular/25088-25343.pbf +3 -0
- package/fonts/Open Sans Regular/25344-25599.pbf +3 -0
- package/fonts/Open Sans Regular/256-511.pbf +0 -0
- package/fonts/Open Sans Regular/2560-2815.pbf +3 -0
- package/fonts/Open Sans Regular/25600-25855.pbf +3 -0
- package/fonts/Open Sans Regular/25856-26111.pbf +3 -0
- package/fonts/Open Sans Regular/26112-26367.pbf +3 -0
- package/fonts/Open Sans Regular/26368-26623.pbf +3 -0
- package/fonts/Open Sans Regular/26624-26879.pbf +3 -0
- package/fonts/Open Sans Regular/26880-27135.pbf +3 -0
- package/fonts/Open Sans Regular/27136-27391.pbf +3 -0
- package/fonts/Open Sans Regular/27392-27647.pbf +3 -0
- package/fonts/Open Sans Regular/27648-27903.pbf +3 -0
- package/fonts/Open Sans Regular/27904-28159.pbf +3 -0
- package/fonts/Open Sans Regular/2816-3071.pbf +3 -0
- package/fonts/Open Sans Regular/28160-28415.pbf +3 -0
- package/fonts/Open Sans Regular/28416-28671.pbf +3 -0
- package/fonts/Open Sans Regular/28672-28927.pbf +3 -0
- package/fonts/Open Sans Regular/28928-29183.pbf +3 -0
- package/fonts/Open Sans Regular/29184-29439.pbf +3 -0
- package/fonts/Open Sans Regular/29440-29695.pbf +3 -0
- package/fonts/Open Sans Regular/29696-29951.pbf +3 -0
- package/fonts/Open Sans Regular/29952-30207.pbf +3 -0
- package/fonts/Open Sans Regular/30208-30463.pbf +3 -0
- package/fonts/Open Sans Regular/30464-30719.pbf +3 -0
- package/fonts/Open Sans Regular/3072-3327.pbf +3 -0
- package/fonts/Open Sans Regular/30720-30975.pbf +3 -0
- package/fonts/Open Sans Regular/30976-31231.pbf +3 -0
- package/fonts/Open Sans Regular/31232-31487.pbf +3 -0
- package/fonts/Open Sans Regular/31488-31743.pbf +3 -0
- package/fonts/Open Sans Regular/31744-31999.pbf +3 -0
- package/fonts/Open Sans Regular/32000-32255.pbf +3 -0
- package/fonts/Open Sans Regular/32256-32511.pbf +3 -0
- package/fonts/Open Sans Regular/32512-32767.pbf +3 -0
- package/fonts/Open Sans Regular/32768-33023.pbf +3 -0
- package/fonts/Open Sans Regular/33024-33279.pbf +3 -0
- package/fonts/Open Sans Regular/3328-3583.pbf +3 -0
- package/fonts/Open Sans Regular/33280-33535.pbf +3 -0
- package/fonts/Open Sans Regular/33536-33791.pbf +3 -0
- package/fonts/Open Sans Regular/33792-34047.pbf +3 -0
- package/fonts/Open Sans Regular/34048-34303.pbf +3 -0
- package/fonts/Open Sans Regular/34304-34559.pbf +3 -0
- package/fonts/Open Sans Regular/34560-34815.pbf +3 -0
- package/fonts/Open Sans Regular/34816-35071.pbf +3 -0
- package/fonts/Open Sans Regular/35072-35327.pbf +3 -0
- package/fonts/Open Sans Regular/35328-35583.pbf +3 -0
- package/fonts/Open Sans Regular/35584-35839.pbf +3 -0
- package/fonts/Open Sans Regular/3584-3839.pbf +3 -0
- package/fonts/Open Sans Regular/35840-36095.pbf +3 -0
- package/fonts/Open Sans Regular/36096-36351.pbf +3 -0
- package/fonts/Open Sans Regular/36352-36607.pbf +3 -0
- package/fonts/Open Sans Regular/36608-36863.pbf +3 -0
- package/fonts/Open Sans Regular/36864-37119.pbf +3 -0
- package/fonts/Open Sans Regular/37120-37375.pbf +3 -0
- package/fonts/Open Sans Regular/37376-37631.pbf +3 -0
- package/fonts/Open Sans Regular/37632-37887.pbf +3 -0
- package/fonts/Open Sans Regular/37888-38143.pbf +3 -0
- package/fonts/Open Sans Regular/38144-38399.pbf +3 -0
- package/fonts/Open Sans Regular/3840-4095.pbf +3 -0
- package/fonts/Open Sans Regular/38400-38655.pbf +3 -0
- package/fonts/Open Sans Regular/38656-38911.pbf +3 -0
- package/fonts/Open Sans Regular/38912-39167.pbf +3 -0
- package/fonts/Open Sans Regular/39168-39423.pbf +3 -0
- package/fonts/Open Sans Regular/39424-39679.pbf +3 -0
- package/fonts/Open Sans Regular/39680-39935.pbf +3 -0
- package/fonts/Open Sans Regular/39936-40191.pbf +3 -0
- package/fonts/Open Sans Regular/40192-40447.pbf +3 -0
- package/fonts/Open Sans Regular/40448-40703.pbf +3 -0
- package/fonts/Open Sans Regular/40704-40959.pbf +3 -0
- package/fonts/Open Sans Regular/4096-4351.pbf +3 -0
- package/fonts/Open Sans Regular/40960-41215.pbf +3 -0
- package/fonts/Open Sans Regular/41216-41471.pbf +3 -0
- package/fonts/Open Sans Regular/41472-41727.pbf +3 -0
- package/fonts/Open Sans Regular/41728-41983.pbf +3 -0
- package/fonts/Open Sans Regular/41984-42239.pbf +3 -0
- package/fonts/Open Sans Regular/42240-42495.pbf +3 -0
- package/fonts/Open Sans Regular/42496-42751.pbf +3 -0
- package/fonts/Open Sans Regular/42752-43007.pbf +3 -0
- package/fonts/Open Sans Regular/43008-43263.pbf +3 -0
- package/fonts/Open Sans Regular/43264-43519.pbf +3 -0
- package/fonts/Open Sans Regular/4352-4607.pbf +3 -0
- package/fonts/Open Sans Regular/43520-43775.pbf +3 -0
- package/fonts/Open Sans Regular/43776-44031.pbf +3 -0
- package/fonts/Open Sans Regular/44032-44287.pbf +3 -0
- package/fonts/Open Sans Regular/44288-44543.pbf +3 -0
- package/fonts/Open Sans Regular/44544-44799.pbf +3 -0
- package/fonts/Open Sans Regular/44800-45055.pbf +3 -0
- package/fonts/Open Sans Regular/45056-45311.pbf +3 -0
- package/fonts/Open Sans Regular/45312-45567.pbf +3 -0
- package/fonts/Open Sans Regular/45568-45823.pbf +3 -0
- package/fonts/Open Sans Regular/45824-46079.pbf +3 -0
- package/fonts/Open Sans Regular/4608-4863.pbf +3 -0
- package/fonts/Open Sans Regular/46080-46335.pbf +3 -0
- package/fonts/Open Sans Regular/46336-46591.pbf +3 -0
- package/fonts/Open Sans Regular/46592-46847.pbf +3 -0
- package/fonts/Open Sans Regular/46848-47103.pbf +3 -0
- package/fonts/Open Sans Regular/47104-47359.pbf +3 -0
- package/fonts/Open Sans Regular/47360-47615.pbf +3 -0
- package/fonts/Open Sans Regular/47616-47871.pbf +3 -0
- package/fonts/Open Sans Regular/47872-48127.pbf +3 -0
- package/fonts/Open Sans Regular/48128-48383.pbf +3 -0
- package/fonts/Open Sans Regular/48384-48639.pbf +3 -0
- package/fonts/Open Sans Regular/4864-5119.pbf +3 -0
- package/fonts/Open Sans Regular/48640-48895.pbf +3 -0
- package/fonts/Open Sans Regular/48896-49151.pbf +3 -0
- package/fonts/Open Sans Regular/49152-49407.pbf +3 -0
- package/fonts/Open Sans Regular/49408-49663.pbf +3 -0
- package/fonts/Open Sans Regular/49664-49919.pbf +3 -0
- package/fonts/Open Sans Regular/49920-50175.pbf +3 -0
- package/fonts/Open Sans Regular/50176-50431.pbf +3 -0
- package/fonts/Open Sans Regular/50432-50687.pbf +3 -0
- package/fonts/Open Sans Regular/50688-50943.pbf +3 -0
- package/fonts/Open Sans Regular/50944-51199.pbf +3 -0
- package/fonts/Open Sans Regular/512-767.pbf +0 -0
- package/fonts/Open Sans Regular/5120-5375.pbf +3 -0
- package/fonts/Open Sans Regular/51200-51455.pbf +3 -0
- package/fonts/Open Sans Regular/51456-51711.pbf +3 -0
- package/fonts/Open Sans Regular/51712-51967.pbf +3 -0
- package/fonts/Open Sans Regular/51968-52223.pbf +3 -0
- package/fonts/Open Sans Regular/52224-52479.pbf +3 -0
- package/fonts/Open Sans Regular/52480-52735.pbf +3 -0
- package/fonts/Open Sans Regular/52736-52991.pbf +3 -0
- package/fonts/Open Sans Regular/52992-53247.pbf +3 -0
- package/fonts/Open Sans Regular/53248-53503.pbf +3 -0
- package/fonts/Open Sans Regular/53504-53759.pbf +3 -0
- package/fonts/Open Sans Regular/5376-5631.pbf +3 -0
- package/fonts/Open Sans Regular/53760-54015.pbf +3 -0
- package/fonts/Open Sans Regular/54016-54271.pbf +3 -0
- package/fonts/Open Sans Regular/54272-54527.pbf +3 -0
- package/fonts/Open Sans Regular/54528-54783.pbf +3 -0
- package/fonts/Open Sans Regular/54784-55039.pbf +3 -0
- package/fonts/Open Sans Regular/55040-55295.pbf +3 -0
- package/fonts/Open Sans Regular/55296-55551.pbf +3 -0
- package/fonts/Open Sans Regular/55552-55807.pbf +3 -0
- package/fonts/Open Sans Regular/55808-56063.pbf +3 -0
- package/fonts/Open Sans Regular/56064-56319.pbf +3 -0
- package/fonts/Open Sans Regular/5632-5887.pbf +3 -0
- package/fonts/Open Sans Regular/56320-56575.pbf +3 -0
- package/fonts/Open Sans Regular/56576-56831.pbf +3 -0
- package/fonts/Open Sans Regular/56832-57087.pbf +3 -0
- package/fonts/Open Sans Regular/57088-57343.pbf +3 -0
- package/fonts/Open Sans Regular/57344-57599.pbf +3 -0
- package/fonts/Open Sans Regular/57600-57855.pbf +3 -0
- package/fonts/Open Sans Regular/57856-58111.pbf +3 -0
- package/fonts/Open Sans Regular/58112-58367.pbf +3 -0
- package/fonts/Open Sans Regular/58368-58623.pbf +3 -0
- package/fonts/Open Sans Regular/58624-58879.pbf +3 -0
- package/fonts/Open Sans Regular/5888-6143.pbf +3 -0
- package/fonts/Open Sans Regular/58880-59135.pbf +3 -0
- package/fonts/Open Sans Regular/59136-59391.pbf +3 -0
- package/fonts/Open Sans Regular/59392-59647.pbf +3 -0
- package/fonts/Open Sans Regular/59648-59903.pbf +3 -0
- package/fonts/Open Sans Regular/59904-60159.pbf +3 -0
- package/fonts/Open Sans Regular/60160-60415.pbf +3 -0
- package/fonts/Open Sans Regular/60416-60671.pbf +3 -0
- package/fonts/Open Sans Regular/60672-60927.pbf +3 -0
- package/fonts/Open Sans Regular/60928-61183.pbf +3 -0
- package/fonts/Open Sans Regular/61184-61439.pbf +3 -0
- package/fonts/Open Sans Regular/6144-6399.pbf +3 -0
- package/fonts/Open Sans Regular/61440-61695.pbf +3 -0
- package/fonts/Open Sans Regular/61696-61951.pbf +3 -0
- package/fonts/Open Sans Regular/61952-62207.pbf +3 -0
- package/fonts/Open Sans Regular/62208-62463.pbf +3 -0
- package/fonts/Open Sans Regular/62464-62719.pbf +3 -0
- package/fonts/Open Sans Regular/62720-62975.pbf +3 -0
- package/fonts/Open Sans Regular/62976-63231.pbf +3 -0
- package/fonts/Open Sans Regular/63232-63487.pbf +3 -0
- package/fonts/Open Sans Regular/63488-63743.pbf +3 -0
- package/fonts/Open Sans Regular/63744-63999.pbf +3 -0
- package/fonts/Open Sans Regular/6400-6655.pbf +3 -0
- package/fonts/Open Sans Regular/64000-64255.pbf +3 -0
- package/fonts/Open Sans Regular/64256-64511.pbf +0 -0
- package/fonts/Open Sans Regular/64512-64767.pbf +3 -0
- package/fonts/Open Sans Regular/64768-65023.pbf +3 -0
- package/fonts/Open Sans Regular/65024-65279.pbf +0 -0
- package/fonts/Open Sans Regular/65280-65535.pbf +0 -0
- package/fonts/Open Sans Regular/6656-6911.pbf +3 -0
- package/fonts/Open Sans Regular/6912-7167.pbf +3 -0
- package/fonts/Open Sans Regular/7168-7423.pbf +3 -0
- package/fonts/Open Sans Regular/7424-7679.pbf +3 -0
- package/fonts/Open Sans Regular/768-1023.pbf +0 -0
- package/fonts/Open Sans Regular/7680-7935.pbf +0 -0
- package/fonts/Open Sans Regular/7936-8191.pbf +0 -0
- package/fonts/Open Sans Regular/8192-8447.pbf +0 -0
- package/fonts/Open Sans Regular/8448-8703.pbf +0 -0
- package/fonts/Open Sans Regular/8704-8959.pbf +0 -0
- package/fonts/Open Sans Regular/8960-9215.pbf +3 -0
- package/fonts/Open Sans Regular/9216-9471.pbf +3 -0
- package/fonts/Open Sans Regular/9472-9727.pbf +0 -0
- package/fonts/Open Sans Regular/9728-9983.pbf +3 -0
- package/fonts/Open Sans Regular/9984-10239.pbf +4 -0
- package/fonts/Open Sans Semibold/0-255.pbf +0 -0
- package/fonts/Open Sans Semibold/1024-1279.pbf +0 -0
- package/fonts/Open Sans Semibold/10240-10495.pbf +3 -0
- package/fonts/Open Sans Semibold/10496-10751.pbf +3 -0
- package/fonts/Open Sans Semibold/10752-11007.pbf +3 -0
- package/fonts/Open Sans Semibold/11008-11263.pbf +3 -0
- package/fonts/Open Sans Semibold/11264-11519.pbf +3 -0
- package/fonts/Open Sans Semibold/11520-11775.pbf +3 -0
- package/fonts/Open Sans Semibold/11776-12031.pbf +3 -0
- package/fonts/Open Sans Semibold/12032-12287.pbf +3 -0
- package/fonts/Open Sans Semibold/12288-12543.pbf +3 -0
- package/fonts/Open Sans Semibold/12544-12799.pbf +3 -0
- package/fonts/Open Sans Semibold/1280-1535.pbf +0 -0
- package/fonts/Open Sans Semibold/12800-13055.pbf +3 -0
- package/fonts/Open Sans Semibold/13056-13311.pbf +3 -0
- package/fonts/Open Sans Semibold/13312-13567.pbf +3 -0
- package/fonts/Open Sans Semibold/13568-13823.pbf +3 -0
- package/fonts/Open Sans Semibold/13824-14079.pbf +3 -0
- package/fonts/Open Sans Semibold/14080-14335.pbf +3 -0
- package/fonts/Open Sans Semibold/14336-14591.pbf +3 -0
- package/fonts/Open Sans Semibold/14592-14847.pbf +3 -0
- package/fonts/Open Sans Semibold/14848-15103.pbf +3 -0
- package/fonts/Open Sans Semibold/15104-15359.pbf +3 -0
- package/fonts/Open Sans Semibold/1536-1791.pbf +3 -0
- package/fonts/Open Sans Semibold/15360-15615.pbf +3 -0
- package/fonts/Open Sans Semibold/15616-15871.pbf +3 -0
- package/fonts/Open Sans Semibold/15872-16127.pbf +3 -0
- package/fonts/Open Sans Semibold/16128-16383.pbf +3 -0
- package/fonts/Open Sans Semibold/16384-16639.pbf +3 -0
- package/fonts/Open Sans Semibold/16640-16895.pbf +3 -0
- package/fonts/Open Sans Semibold/16896-17151.pbf +3 -0
- package/fonts/Open Sans Semibold/17152-17407.pbf +3 -0
- package/fonts/Open Sans Semibold/17408-17663.pbf +3 -0
- package/fonts/Open Sans Semibold/17664-17919.pbf +3 -0
- package/fonts/Open Sans Semibold/1792-2047.pbf +3 -0
- package/fonts/Open Sans Semibold/17920-18175.pbf +3 -0
- package/fonts/Open Sans Semibold/18176-18431.pbf +3 -0
- package/fonts/Open Sans Semibold/18432-18687.pbf +3 -0
- package/fonts/Open Sans Semibold/18688-18943.pbf +3 -0
- package/fonts/Open Sans Semibold/18944-19199.pbf +3 -0
- package/fonts/Open Sans Semibold/19200-19455.pbf +3 -0
- package/fonts/Open Sans Semibold/19456-19711.pbf +3 -0
- package/fonts/Open Sans Semibold/19712-19967.pbf +3 -0
- package/fonts/Open Sans Semibold/19968-20223.pbf +3 -0
- package/fonts/Open Sans Semibold/20224-20479.pbf +3 -0
- package/fonts/Open Sans Semibold/2048-2303.pbf +3 -0
- package/fonts/Open Sans Semibold/20480-20735.pbf +3 -0
- package/fonts/Open Sans Semibold/20736-20991.pbf +3 -0
- package/fonts/Open Sans Semibold/20992-21247.pbf +3 -0
- package/fonts/Open Sans Semibold/21248-21503.pbf +3 -0
- package/fonts/Open Sans Semibold/21504-21759.pbf +3 -0
- package/fonts/Open Sans Semibold/21760-22015.pbf +3 -0
- package/fonts/Open Sans Semibold/22016-22271.pbf +3 -0
- package/fonts/Open Sans Semibold/22272-22527.pbf +3 -0
- package/fonts/Open Sans Semibold/22528-22783.pbf +3 -0
- package/fonts/Open Sans Semibold/22784-23039.pbf +3 -0
- package/fonts/Open Sans Semibold/2304-2559.pbf +3 -0
- package/fonts/Open Sans Semibold/23040-23295.pbf +3 -0
- package/fonts/Open Sans Semibold/23296-23551.pbf +3 -0
- package/fonts/Open Sans Semibold/23552-23807.pbf +3 -0
- package/fonts/Open Sans Semibold/23808-24063.pbf +3 -0
- package/fonts/Open Sans Semibold/24064-24319.pbf +3 -0
- package/fonts/Open Sans Semibold/24320-24575.pbf +3 -0
- package/fonts/Open Sans Semibold/24576-24831.pbf +3 -0
- package/fonts/Open Sans Semibold/24832-25087.pbf +3 -0
- package/fonts/Open Sans Semibold/25088-25343.pbf +3 -0
- package/fonts/Open Sans Semibold/25344-25599.pbf +3 -0
- package/fonts/Open Sans Semibold/256-511.pbf +0 -0
- package/fonts/Open Sans Semibold/2560-2815.pbf +3 -0
- package/fonts/Open Sans Semibold/25600-25855.pbf +3 -0
- package/fonts/Open Sans Semibold/25856-26111.pbf +3 -0
- package/fonts/Open Sans Semibold/26112-26367.pbf +3 -0
- package/fonts/Open Sans Semibold/26368-26623.pbf +3 -0
- package/fonts/Open Sans Semibold/26624-26879.pbf +3 -0
- package/fonts/Open Sans Semibold/26880-27135.pbf +3 -0
- package/fonts/Open Sans Semibold/27136-27391.pbf +3 -0
- package/fonts/Open Sans Semibold/27392-27647.pbf +3 -0
- package/fonts/Open Sans Semibold/27648-27903.pbf +3 -0
- package/fonts/Open Sans Semibold/27904-28159.pbf +3 -0
- package/fonts/Open Sans Semibold/2816-3071.pbf +3 -0
- package/fonts/Open Sans Semibold/28160-28415.pbf +3 -0
- package/fonts/Open Sans Semibold/28416-28671.pbf +3 -0
- package/fonts/Open Sans Semibold/28672-28927.pbf +3 -0
- package/fonts/Open Sans Semibold/28928-29183.pbf +3 -0
- package/fonts/Open Sans Semibold/29184-29439.pbf +3 -0
- package/fonts/Open Sans Semibold/29440-29695.pbf +3 -0
- package/fonts/Open Sans Semibold/29696-29951.pbf +3 -0
- package/fonts/Open Sans Semibold/29952-30207.pbf +3 -0
- package/fonts/Open Sans Semibold/30208-30463.pbf +3 -0
- package/fonts/Open Sans Semibold/30464-30719.pbf +3 -0
- package/fonts/Open Sans Semibold/3072-3327.pbf +3 -0
- package/fonts/Open Sans Semibold/30720-30975.pbf +3 -0
- package/fonts/Open Sans Semibold/30976-31231.pbf +3 -0
- package/fonts/Open Sans Semibold/31232-31487.pbf +3 -0
- package/fonts/Open Sans Semibold/31488-31743.pbf +3 -0
- package/fonts/Open Sans Semibold/31744-31999.pbf +3 -0
- package/fonts/Open Sans Semibold/32000-32255.pbf +3 -0
- package/fonts/Open Sans Semibold/32256-32511.pbf +3 -0
- package/fonts/Open Sans Semibold/32512-32767.pbf +3 -0
- package/fonts/Open Sans Semibold/32768-33023.pbf +3 -0
- package/fonts/Open Sans Semibold/33024-33279.pbf +3 -0
- package/fonts/Open Sans Semibold/3328-3583.pbf +3 -0
- package/fonts/Open Sans Semibold/33280-33535.pbf +3 -0
- package/fonts/Open Sans Semibold/33536-33791.pbf +3 -0
- package/fonts/Open Sans Semibold/33792-34047.pbf +3 -0
- package/fonts/Open Sans Semibold/34048-34303.pbf +3 -0
- package/fonts/Open Sans Semibold/34304-34559.pbf +3 -0
- package/fonts/Open Sans Semibold/34560-34815.pbf +3 -0
- package/fonts/Open Sans Semibold/34816-35071.pbf +3 -0
- package/fonts/Open Sans Semibold/35072-35327.pbf +3 -0
- package/fonts/Open Sans Semibold/35328-35583.pbf +3 -0
- package/fonts/Open Sans Semibold/35584-35839.pbf +3 -0
- package/fonts/Open Sans Semibold/3584-3839.pbf +3 -0
- package/fonts/Open Sans Semibold/35840-36095.pbf +3 -0
- package/fonts/Open Sans Semibold/36096-36351.pbf +3 -0
- package/fonts/Open Sans Semibold/36352-36607.pbf +3 -0
- package/fonts/Open Sans Semibold/36608-36863.pbf +3 -0
- package/fonts/Open Sans Semibold/36864-37119.pbf +3 -0
- package/fonts/Open Sans Semibold/37120-37375.pbf +3 -0
- package/fonts/Open Sans Semibold/37376-37631.pbf +3 -0
- package/fonts/Open Sans Semibold/37632-37887.pbf +3 -0
- package/fonts/Open Sans Semibold/37888-38143.pbf +3 -0
- package/fonts/Open Sans Semibold/38144-38399.pbf +3 -0
- package/fonts/Open Sans Semibold/3840-4095.pbf +3 -0
- package/fonts/Open Sans Semibold/38400-38655.pbf +3 -0
- package/fonts/Open Sans Semibold/38656-38911.pbf +3 -0
- package/fonts/Open Sans Semibold/38912-39167.pbf +3 -0
- package/fonts/Open Sans Semibold/39168-39423.pbf +3 -0
- package/fonts/Open Sans Semibold/39424-39679.pbf +3 -0
- package/fonts/Open Sans Semibold/39680-39935.pbf +3 -0
- package/fonts/Open Sans Semibold/39936-40191.pbf +3 -0
- package/fonts/Open Sans Semibold/40192-40447.pbf +3 -0
- package/fonts/Open Sans Semibold/40448-40703.pbf +3 -0
- package/fonts/Open Sans Semibold/40704-40959.pbf +3 -0
- package/fonts/Open Sans Semibold/4096-4351.pbf +3 -0
- package/fonts/Open Sans Semibold/40960-41215.pbf +3 -0
- package/fonts/Open Sans Semibold/41216-41471.pbf +3 -0
- package/fonts/Open Sans Semibold/41472-41727.pbf +3 -0
- package/fonts/Open Sans Semibold/41728-41983.pbf +3 -0
- package/fonts/Open Sans Semibold/41984-42239.pbf +3 -0
- package/fonts/Open Sans Semibold/42240-42495.pbf +3 -0
- package/fonts/Open Sans Semibold/42496-42751.pbf +3 -0
- package/fonts/Open Sans Semibold/42752-43007.pbf +3 -0
- package/fonts/Open Sans Semibold/43008-43263.pbf +3 -0
- package/fonts/Open Sans Semibold/43264-43519.pbf +3 -0
- package/fonts/Open Sans Semibold/4352-4607.pbf +3 -0
- package/fonts/Open Sans Semibold/43520-43775.pbf +3 -0
- package/fonts/Open Sans Semibold/43776-44031.pbf +3 -0
- package/fonts/Open Sans Semibold/44032-44287.pbf +3 -0
- package/fonts/Open Sans Semibold/44288-44543.pbf +3 -0
- package/fonts/Open Sans Semibold/44544-44799.pbf +3 -0
- package/fonts/Open Sans Semibold/44800-45055.pbf +3 -0
- package/fonts/Open Sans Semibold/45056-45311.pbf +3 -0
- package/fonts/Open Sans Semibold/45312-45567.pbf +3 -0
- package/fonts/Open Sans Semibold/45568-45823.pbf +3 -0
- package/fonts/Open Sans Semibold/45824-46079.pbf +3 -0
- package/fonts/Open Sans Semibold/4608-4863.pbf +3 -0
- package/fonts/Open Sans Semibold/46080-46335.pbf +3 -0
- package/fonts/Open Sans Semibold/46336-46591.pbf +3 -0
- package/fonts/Open Sans Semibold/46592-46847.pbf +3 -0
- package/fonts/Open Sans Semibold/46848-47103.pbf +3 -0
- package/fonts/Open Sans Semibold/47104-47359.pbf +3 -0
- package/fonts/Open Sans Semibold/47360-47615.pbf +3 -0
- package/fonts/Open Sans Semibold/47616-47871.pbf +3 -0
- package/fonts/Open Sans Semibold/47872-48127.pbf +3 -0
- package/fonts/Open Sans Semibold/48128-48383.pbf +3 -0
- package/fonts/Open Sans Semibold/48384-48639.pbf +3 -0
- package/fonts/Open Sans Semibold/4864-5119.pbf +3 -0
- package/fonts/Open Sans Semibold/48640-48895.pbf +3 -0
- package/fonts/Open Sans Semibold/48896-49151.pbf +3 -0
- package/fonts/Open Sans Semibold/49152-49407.pbf +3 -0
- package/fonts/Open Sans Semibold/49408-49663.pbf +3 -0
- package/fonts/Open Sans Semibold/49664-49919.pbf +3 -0
- package/fonts/Open Sans Semibold/49920-50175.pbf +3 -0
- package/fonts/Open Sans Semibold/50176-50431.pbf +3 -0
- package/fonts/Open Sans Semibold/50432-50687.pbf +3 -0
- package/fonts/Open Sans Semibold/50688-50943.pbf +3 -0
- package/fonts/Open Sans Semibold/50944-51199.pbf +3 -0
- package/fonts/Open Sans Semibold/512-767.pbf +0 -0
- package/fonts/Open Sans Semibold/5120-5375.pbf +3 -0
- package/fonts/Open Sans Semibold/51200-51455.pbf +3 -0
- package/fonts/Open Sans Semibold/51456-51711.pbf +3 -0
- package/fonts/Open Sans Semibold/51712-51967.pbf +3 -0
- package/fonts/Open Sans Semibold/51968-52223.pbf +3 -0
- package/fonts/Open Sans Semibold/52224-52479.pbf +3 -0
- package/fonts/Open Sans Semibold/52480-52735.pbf +3 -0
- package/fonts/Open Sans Semibold/52736-52991.pbf +3 -0
- package/fonts/Open Sans Semibold/52992-53247.pbf +3 -0
- package/fonts/Open Sans Semibold/53248-53503.pbf +3 -0
- package/fonts/Open Sans Semibold/53504-53759.pbf +3 -0
- package/fonts/Open Sans Semibold/5376-5631.pbf +3 -0
- package/fonts/Open Sans Semibold/53760-54015.pbf +3 -0
- package/fonts/Open Sans Semibold/54016-54271.pbf +3 -0
- package/fonts/Open Sans Semibold/54272-54527.pbf +3 -0
- package/fonts/Open Sans Semibold/54528-54783.pbf +3 -0
- package/fonts/Open Sans Semibold/54784-55039.pbf +3 -0
- package/fonts/Open Sans Semibold/55040-55295.pbf +3 -0
- package/fonts/Open Sans Semibold/55296-55551.pbf +3 -0
- package/fonts/Open Sans Semibold/55552-55807.pbf +3 -0
- package/fonts/Open Sans Semibold/55808-56063.pbf +3 -0
- package/fonts/Open Sans Semibold/56064-56319.pbf +3 -0
- package/fonts/Open Sans Semibold/5632-5887.pbf +3 -0
- package/fonts/Open Sans Semibold/56320-56575.pbf +3 -0
- package/fonts/Open Sans Semibold/56576-56831.pbf +3 -0
- package/fonts/Open Sans Semibold/56832-57087.pbf +3 -0
- package/fonts/Open Sans Semibold/57088-57343.pbf +3 -0
- package/fonts/Open Sans Semibold/57344-57599.pbf +3 -0
- package/fonts/Open Sans Semibold/57600-57855.pbf +3 -0
- package/fonts/Open Sans Semibold/57856-58111.pbf +3 -0
- package/fonts/Open Sans Semibold/58112-58367.pbf +3 -0
- package/fonts/Open Sans Semibold/58368-58623.pbf +3 -0
- package/fonts/Open Sans Semibold/58624-58879.pbf +3 -0
- package/fonts/Open Sans Semibold/5888-6143.pbf +3 -0
- package/fonts/Open Sans Semibold/58880-59135.pbf +3 -0
- package/fonts/Open Sans Semibold/59136-59391.pbf +3 -0
- package/fonts/Open Sans Semibold/59392-59647.pbf +3 -0
- package/fonts/Open Sans Semibold/59648-59903.pbf +3 -0
- package/fonts/Open Sans Semibold/59904-60159.pbf +3 -0
- package/fonts/Open Sans Semibold/60160-60415.pbf +3 -0
- package/fonts/Open Sans Semibold/60416-60671.pbf +3 -0
- package/fonts/Open Sans Semibold/60672-60927.pbf +3 -0
- package/fonts/Open Sans Semibold/60928-61183.pbf +3 -0
- package/fonts/Open Sans Semibold/61184-61439.pbf +3 -0
- package/fonts/Open Sans Semibold/6144-6399.pbf +3 -0
- package/fonts/Open Sans Semibold/61440-61695.pbf +3 -0
- package/fonts/Open Sans Semibold/61696-61951.pbf +3 -0
- package/fonts/Open Sans Semibold/61952-62207.pbf +3 -0
- package/fonts/Open Sans Semibold/62208-62463.pbf +3 -0
- package/fonts/Open Sans Semibold/62464-62719.pbf +3 -0
- package/fonts/Open Sans Semibold/62720-62975.pbf +3 -0
- package/fonts/Open Sans Semibold/62976-63231.pbf +3 -0
- package/fonts/Open Sans Semibold/63232-63487.pbf +3 -0
- package/fonts/Open Sans Semibold/63488-63743.pbf +3 -0
- package/fonts/Open Sans Semibold/63744-63999.pbf +3 -0
- package/fonts/Open Sans Semibold/6400-6655.pbf +3 -0
- package/fonts/Open Sans Semibold/64000-64255.pbf +3 -0
- package/fonts/Open Sans Semibold/64256-64511.pbf +0 -0
- package/fonts/Open Sans Semibold/64512-64767.pbf +3 -0
- package/fonts/Open Sans Semibold/64768-65023.pbf +3 -0
- package/fonts/Open Sans Semibold/65024-65279.pbf +0 -0
- package/fonts/Open Sans Semibold/65280-65535.pbf +0 -0
- package/fonts/Open Sans Semibold/6656-6911.pbf +3 -0
- package/fonts/Open Sans Semibold/6912-7167.pbf +3 -0
- package/fonts/Open Sans Semibold/7168-7423.pbf +3 -0
- package/fonts/Open Sans Semibold/7424-7679.pbf +3 -0
- package/fonts/Open Sans Semibold/768-1023.pbf +0 -0
- package/fonts/Open Sans Semibold/7680-7935.pbf +0 -0
- package/fonts/Open Sans Semibold/7936-8191.pbf +0 -0
- package/fonts/Open Sans Semibold/8192-8447.pbf +0 -0
- package/fonts/Open Sans Semibold/8448-8703.pbf +0 -0
- package/fonts/Open Sans Semibold/8704-8959.pbf +0 -0
- package/fonts/Open Sans Semibold/8960-9215.pbf +3 -0
- package/fonts/Open Sans Semibold/9216-9471.pbf +3 -0
- package/fonts/Open Sans Semibold/9472-9727.pbf +0 -0
- package/fonts/Open Sans Semibold/9728-9983.pbf +3 -0
- package/fonts/Open Sans Semibold/9984-10239.pbf +4 -0
- package/package.json +20 -20
- package/public/resources/L.TileLayer.NoGap.js +243 -0
- package/public/resources/leaflet.css +657 -0
- package/public/resources/leaflet.js +6 -0
- package/public/resources/leaflet.js.map +1 -0
- package/public/resources/maplibre-gl-compat.css +1 -0
- package/public/resources/maplibre-gl-compat.js +45 -0
- package/public/resources/maplibre-gl-compat.js.map +1 -0
- package/public/resources/maplibre-gl-inspect-compat.min.js +1 -0
- package/public/resources/maplibre-gl-inspect.css +40 -0
- package/public/resources/maplibre-gl-inspect.min.js +1 -0
- package/public/resources/maplibre-gl.css +1 -0
- package/public/resources/maplibre-gl.js +44 -0
- package/public/resources/maplibre-gl.js.map +1 -0
- package/public/templates/data.tmpl +54 -15
- package/public/templates/index.tmpl +1 -1
- package/public/templates/viewer.tmpl +68 -14
- package/publish.js +18 -10
- package/src/main.js +34 -31
- package/src/serve_data.js +22 -22
- package/src/serve_font.js +12 -12
- package/src/serve_light.js +10 -0
- package/src/serve_rendered.js +142 -140
- package/src/serve_style.js +16 -16
- package/src/server.js +122 -121
- package/src/utils.js +13 -15
- package/styles/klokantech-basic/style.json +1083 -0
- package/styles/osm-bright/sprite.json +611 -0
- package/styles/osm-bright/sprite.png +0 -0
- package/styles/osm-bright/sprite@2x.json +611 -0
- package/styles/osm-bright/sprite@2x.png +0 -0
- package/styles/osm-bright/style.json +3445 -0
- package/test/metadata.js +30 -30
- package/test/setup.js +9 -5
- package/test/static.js +4 -4
- package/test/style.js +18 -18
- package/test/tiles_data.js +4 -4
- package/test/tiles_rendered.js +5 -5
- package/test_data.zip +0 -0
- package/public/resources/mapbox-gl-inspect.css +0 -40
- package/public/resources/mapbox-gl-inspect.min.js +0 -1
- package/public/resources/mapbox-gl.css +0 -1
- package/public/resources/mapbox-gl.js +0 -40
- package/public/resources/mapbox.css +0 -1
- package/public/resources/mapbox.js +0 -67
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* MapLibre GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v2.4.0/LICENSE.txt */
|
|
2
|
+
/* https://github.com/acalcutt/maplibre-gl-js/tree/2.x_ie_compat */
|
|
3
|
+
(function (global, factory) {
|
|
4
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
5
|
+
typeof define === 'function' && define.amd ? define(factory) :
|
|
6
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());
|
|
7
|
+
})(this, (function () { 'use strict';
|
|
8
|
+
|
|
9
|
+
/* eslint-disable */
|
|
10
|
+
|
|
11
|
+
var shared, worker, maplibregl;
|
|
12
|
+
// define gets called three times: one for each chunk. we rely on the order
|
|
13
|
+
// they're imported to know which is which
|
|
14
|
+
function define(_, chunk) {
|
|
15
|
+
if (!shared) {
|
|
16
|
+
shared = chunk;
|
|
17
|
+
} else if (!worker) {
|
|
18
|
+
worker = chunk;
|
|
19
|
+
} else {
|
|
20
|
+
var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);'
|
|
21
|
+
|
|
22
|
+
var sharedChunk = {};
|
|
23
|
+
shared(sharedChunk);
|
|
24
|
+
maplibregl = chunk(sharedChunk);
|
|
25
|
+
if (typeof window !== 'undefined') {
|
|
26
|
+
maplibregl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
define(["exports"],(function(t){"use strict";var e=r;function r(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}function n(t,r,n,i){var a=new e(t,r,n,i);return function(t){return a.solve(t)}}r.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)<e)return r;var a=this.sampleCurveDerivativeX(r);if(Math.abs(a)<1e-6)break;r-=i/a;}var o=0,s=1;for(r=t,n=0;n<20&&(i=this.sampleCurveX(r),!(Math.abs(i-t)<e));n++)t>i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var i=n(.25,.1,.25,1);function a(t,e,r){return Math.min(r,Math.max(e,t))}function o(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function s(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}var u=1;function l(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e));}));}function p(t,e){return -1!==t.indexOf(e,t.length-e.length)}function c(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function h(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function f(t){return Array.isArray(t)?t.map(f):"object"==typeof t&&t?c(t,f):t}var y={};function d(t){y[t]||("undefined"!=typeof console&&console.warn(t),y[t]=!0);}function m(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function v(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y);return e}function g(){return "undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function x(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r;}return e}var b=null;function w(t){if(null==b){var e=t.navigator?t.navigator.userAgent:null;b=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")));}return b}function _(t){return "undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}var A,k,S={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame:function(t){var e=requestAnimationFrame(t);return {cancel:function(){return cancelAnimationFrame(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=window.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return A||(A=document.createElement("a")),A.href=t,A.href},hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==k&&(k=matchMedia("(prefers-reduced-motion: reduce)")),k.matches)}},I=M;function M(t,e){this.x=t,this.y=e;}function z(t){var e=this.constructor;return this.then((function(r){return e.resolve(t()).then((function(){return r}))}),(function(r){return e.resolve(t()).then((function(){return e.reject(r)}))}))}function P(t){return new this((function(e,r){if(!t||void 0===t.length)return r(new TypeError(typeof t+" "+t+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var n=Array.prototype.slice.call(t);if(0===n.length)return e([]);var i=n.length;function a(t,r){if(r&&("object"==typeof r||"function"==typeof r)){var o=r.then;if("function"==typeof o)return void o.call(r,(function(e){a(t,e);}),(function(r){n[t]={status:"rejected",reason:r},0==--i&&e(n);}))}n[t]={status:"fulfilled",value:r},0==--i&&e(n);}for(var o=0;o<n.length;o++)a(o,n[o]);}))}M.prototype={clone:function(){return new M(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},M.convert=function(t){return t instanceof M?t:Array.isArray(t)?new M(t[0],t[1]):t};var B=setTimeout,C="undefined"!=typeof setImmediate?setImmediate:null;function E(t){return Boolean(t&&void 0!==t.length)}function V(){}function T(t){if(!(this instanceof T))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],R(t,this);}function F(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,T._immediateFn((function(){var r=1===t._state?e.onFulfilled:e.onRejected;if(null!==r){var n;try{n=r(t._value);}catch(t){return void L(e.promise,t)}O(e.promise,n);}else (1===t._state?O:L)(e.promise,t._value);}))):t._deferreds.push(e);}function O(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var r=e.then;if(e instanceof T)return t._state=3,t._value=e,void D(t);if("function"==typeof r)return void R((n=r,i=e,function(){n.apply(i,arguments);}),t)}t._state=1,t._value=e,D(t);}catch(e){L(t,e);}var n,i;}function L(t,e){t._state=2,t._value=e,D(t);}function D(t){2===t._state&&0===t._deferreds.length&&T._immediateFn((function(){t._handled||T._unhandledRejectionFn(t._value);}));for(var e=0,r=t._deferreds.length;e<r;e++)F(t,t._deferreds[e]);t._deferreds=null;}function j(t,e,r){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=r;}function R(t,e){var r=!1;try{t((function(t){r||(r=!0,O(e,t));}),(function(t){r||(r=!0,L(e,t));}));}catch(t){if(r)return;r=!0,L(e,t);}}T.prototype.catch=function(t){return this.then(null,t)},T.prototype.then=function(t,e){var r=new this.constructor(V);return F(this,new j(t,e,r)),r},T.prototype.finally=z,T.all=function(t){return new T((function(e,r){if(!E(t))return r(new TypeError("Promise.all accepts an array"));var n=Array.prototype.slice.call(t);if(0===n.length)return e([]);var i=n.length;function a(t,o){try{if(o&&("object"==typeof o||"function"==typeof o)){var s=o.then;if("function"==typeof s)return void s.call(o,(function(e){a(t,e);}),r)}n[t]=o,0==--i&&e(n);}catch(t){r(t);}}for(var o=0;o<n.length;o++)a(o,n[o]);}))},T.allSettled=P,T.resolve=function(t){return t&&"object"==typeof t&&t.constructor===T?t:new T((function(e){e(t);}))},T.reject=function(t){return new T((function(e,r){r(t);}))},T.race=function(t){return new T((function(e,r){if(!E(t))return r(new TypeError("Promise.race accepts an array"));for(var n=0,i=t.length;n<i;n++)T.resolve(t[n]).then(e,r);}))},T._immediateFn="function"==typeof C&&function(t){C(t);}||function(t){B(t,0);},T._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t);};var U,q=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();"function"!=typeof q.Promise?q.Promise=T:(q.Promise.prototype.finally||(q.Promise.prototype.finally=z),q.Promise.allSettled||(q.Promise.allSettled=P)),self.fetch||(self.fetch=function(t,e){return e=e||{},new Promise((function(r,n){var i=new XMLHttpRequest,a=[],o=[],s={},u=function(){return {ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:u,headers:{keys:function(){return a},entries:function(){return o},get:function(t){return s[t.toLowerCase()]},has:function(t){return t.toLowerCase()in s}}}};for(var l in i.open(e.method||"get",t,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(t,e,r){a.push(e=e.toLowerCase()),o.push([e,r]),s[e]=s[e]?s[e]+","+r:r;})),r(u());},i.onerror=n,i.withCredentials="include"==e.credentials,e.headers)i.setRequestHeader(l,e.headers[l]);i.send(e.body||null);}))}),U=function(){function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n);}}function r(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function i(t,e){return i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}function a(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,e){return !e||"object"!=typeof e&&"function"!=typeof e?a(t):e}function s(t,e,r){return s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=n(t)););return t}(t,e);if(i){var a=Object.getOwnPropertyDescriptor(i,e);return a.get?a.get.call(r):a.value}},s(t,e,r||t)}var u=function(){function e(){t(this,e),Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0});}return r(e,[{key:"addEventListener",value:function(t,e,r){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:e,options:r});}},{key:"removeEventListener",value:function(t,e){if(t in this.listeners)for(var r=this.listeners[t],n=0,i=r.length;n<i;n++)if(r[n].callback===e)return void r.splice(n,1)}},{key:"dispatchEvent",value:function(t){if(t.type in this.listeners){for(var e=this.listeners[t.type].slice(),r=0,n=e.length;r<n;r++){var i=e[r];try{i.callback.call(this,t);}catch(t){Promise.resolve().then((function(){throw t}));}i.options&&i.options.once&&this.removeEventListener(t.type,i.callback);}return !t.defaultPrevented}}}]),e}(),l=function(e){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e);}(h,e);var l,p,c=(l=h,p=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return !1}}(),function(){var t,e=n(l);if(p){var r=n(this).constructor;t=Reflect.construct(e,arguments,r);}else t=e.apply(this,arguments);return o(this,t)});function h(){var e;return t(this,h),(e=c.call(this)).listeners||u.call(a(e)),Object.defineProperty(a(e),"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(a(e),"onabort",{value:null,writable:!0,configurable:!0}),e}return r(h,[{key:"toString",value:function(){return "[object AbortSignal]"}},{key:"dispatchEvent",value:function(t){"abort"===t.type&&(this.aborted=!0,"function"==typeof this.onabort&&this.onabort.call(this,t)),s(n(h.prototype),"dispatchEvent",this).call(this,t);}}]),h}(u),p=function(){function e(){t(this,e),Object.defineProperty(this,"signal",{value:new l,writable:!0,configurable:!0});}return r(e,[{key:"abort",value:function(){var t;try{t=new Event("abort");}catch(e){"undefined"!=typeof document?document.createEvent?(t=document.createEvent("Event")).initEvent("abort",!1,!1):(t=document.createEventObject()).type="abort":t={type:"abort",bubbles:!1,cancelable:!1};}this.signal.dispatchEvent(t);}},{key:"toString",value:function(){return "[object AbortController]"}}]),e}();function c(t){return t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):"function"==typeof t.Request&&!t.Request.prototype.hasOwnProperty("signal")||!t.AbortController}"undefined"!=typeof Symbol&&Symbol.toStringTag&&(p.prototype[Symbol.toStringTag]="AbortController",l.prototype[Symbol.toStringTag]="AbortSignal"),function(t){if(c(t))if(t.fetch){var e=function(t){"function"==typeof t&&(t={fetch:t});var e=t.fetch,r=t.Request,n=void 0===r?e.Request:r,i=t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,a=void 0!==i&&i;if(!c({fetch:e,Request:n,AbortController:t.AbortController,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return {fetch:e,Request:o};var o=n;(o&&!o.prototype.hasOwnProperty("signal")||a)&&((o=function(t,e){var r;e&&e.signal&&(r=e.signal,delete e.signal);var i=new n(t,e);return r&&Object.defineProperty(i,"signal",{writable:!1,enumerable:!1,configurable:!0,value:r}),i}).prototype=n.prototype);var s=e;return {fetch:function(t,e){var r=o&&o.prototype.isPrototypeOf(t)?t.signal:e?e.signal:void 0;if(r){var n;try{n=new DOMException("Aborted","AbortError");}catch(t){(n=new Error("Aborted")).name="AbortError";}if(r.aborted)return Promise.reject(n);var i=new Promise((function(t,e){r.addEventListener("abort",(function(){return e(n)}),{once:!0});}));return e&&e.signal&&delete e.signal,Promise.race([i,s(t,e)])}return s(t,e)},Request:o}}(t),r=e.Request;t.fetch=e.fetch,t.Request=r,Object.defineProperty(t,"AbortController",{writable:!0,enumerable:!1,configurable:!0,value:p}),Object.defineProperty(t,"AbortSignal",{writable:!0,enumerable:!1,configurable:!0,value:l});}else console.warn("fetch() is not available, cannot install abortcontroller-polyfill");}("undefined"!=typeof self?self:global);},"function"==typeof define&&define.amd?define(U):U();var N,Z,K={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},G="mapbox-tiles",J=500,X=50;function Y(){"undefined"==typeof caches||N||(N=caches.open(G));}var H,W,$=1/0,Q={supported:!1,testSupport:function(t){!tt&&W&&(et?rt(t):H=t);}},tt=!1,et=!1;function rt(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,W),t.isContextLost())return;Q.supported=!0;}catch(t){}t.deleteTexture(e),tt=!0;}"undefined"!=typeof document&&((W=document.createElement("img")).onload=function(){H&&rt(H),H=null,et=!0;},W.onerror=function(){tt=!0,H=null;},W.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var nt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(nt);var it=function(t){function e(e,r,n,i){t.call(this,"AJAXError: "+r+" ("+e+"): "+n),this.status=e,this.statusText=r,this.url=n,this.body=i;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),at=g()?function(){return self.worker&&self.worker.referrer}:function(){return ("blob:"===window.location.protocol?window.parent:window).location.href};function ot(t,e){var r=new AbortController,n=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:at(),signal:r.signal}),i=!1,a=!1;"json"===t.type&&n.headers.set("Accept","application/json");return function(r,o,s){if(!a){var u=Date.now();fetch(n).then((function(r){return r.ok?function(r,o,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){a||(o&&s&&function(t,e,r){if(Y(),N){var n={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=x(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===Z)try{new Response(new ReadableStream),Z=!0;}catch(t){Z=!1;}Z?e(t.body):t.blob().then(e);}(e,(function(e){var r=new Response(e,n);Y(),N&&N.then((function(e){return e.put((i=(n=t.url).indexOf("?"))<0?n:n.slice(0,i),r);var n,i;})).catch((function(t){return d(t.message)}));})));}}(n,o,s),i=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")));})).catch((function(t){a||e(new Error(t.message));}));}(r,null,u):r.blob().then((function(n){return e(new it(r.status,r.statusText,t.url,n))}))})).catch((function(t){20!==t.code&&e(new Error(t.message));}));}}(),{cancel:function(){a=!0,i||r.abort();}}}var st,ut,lt=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!g()){var r=t.url.substring(0,t.url.indexOf("://"));return (K.REGISTERED_PROTOCOLS[r]||ot)(t,e)}}if(!(/^file:/.test(n=t.url)||/^file:/.test(at())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return ot(t,e);if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var n;return function(t,e){var r=new XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return "json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText));},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response);}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"));}else {var i=new Blob([r.response],{type:r.getResponseHeader("Content-Type")});e(new it(r.status,r.statusText,t.url,i));}},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},pt=function(t,e){return lt(s(t,{type:"arrayBuffer"}),e)},ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";st=[],ut=0;var ht=function(t,e){if(Q.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),ut>=K.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0;}};return st.push(r),r}ut++;var n=!1,i=function(){if(!n)for(n=!0,ut--;st.length&&ut<K.MAX_PARALLEL_IMAGE_REQUESTS;){var t=st.shift();t.cancelled||(t.cancel=ht(t.requestParameters,t.callback).cancel);}},a=pt(t,(function(t,r,n,a){i(),t?e(t):r&&function(t,e){"function"==typeof createImageBitmap?function(t,e){var r=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(r).then((function(t){e(null,t);})).catch((function(t){e(new Error("Could not load image because of "+t.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));}));}(t,e):function(t,e){var r=new Image;r.onload=function(){e(null,r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((function(){r.src=ct;}));},r.onerror=function(){return e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var n=new Blob([new Uint8Array(t)],{type:"image/png"});r.src=t.byteLength?URL.createObjectURL(n):ct;}(t,e);}(r,(function(t,r){null!=t?e(t):null!=r&&e(null,r,{cacheControl:n,expires:a});}));}));return {cancel:function(){a.cancel(),i();}}};function ft(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function yt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}var dt=function(t,e){void 0===e&&(e={}),s(this,e),this.type=t;},mt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",s({error:e},r));}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(dt),vt=function(){};vt.prototype.on=function(t,e){return this._listeners=this._listeners||{},ft(t,e,this._listeners),this},vt.prototype.off=function(t,e){return yt(t,e,this._listeners),yt(t,e,this._oneTimeListeners),this},vt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},ft(t,e,this._oneTimeListeners),this},vt.prototype.fire=function(t,e){"string"==typeof t&&(t=new dt(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var u=o[a];yt(r,u,this._oneTimeListeners),u.call(this,t);}var l=this._eventedParent;l&&(s(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t));}else t instanceof mt&&console.error(t.error);return this},vt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},vt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var gt={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1},elevationOffset:{type:"number",default:450}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},xt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);};function bt(t){var e=t.value;return e?[new xt(t.key,e,"constants have been deprecated as of v8")]:[]}function wt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o];}return t}function _t(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function At(t){if(Array.isArray(t))return t.map(At);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=At(t[r]);return e}return _t(t)}var kt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),St=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1];}};St.prototype.concat=function(t){return new St(this,t)},St.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},St.prototype.has=function(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)};var It={kind:"null"},Mt={kind:"number"},zt={kind:"string"},Pt={kind:"boolean"},Bt={kind:"color"},Ct={kind:"object"},Et={kind:"value"},Vt={kind:"collator"},Tt={kind:"formatted"},Ft={kind:"padding"},Ot={kind:"resolvedImage"};function Lt(t,e){return {kind:"array",itemType:t,N:e}}function Dt(t){if("array"===t.kind){var e=Dt(t.itemType);return "number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var jt=[It,Mt,zt,Pt,Bt,Tt,Ct,Lt(Et),Ft,Ot];function Rt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Rt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=jt;r<n.length;r+=1)if(!Rt(n[r],e))return null}return "Expected "+Dt(t)+" but found "+Dt(e)+" instead."}function Ut(t,e){return e.some((function(e){return e.kind===t.kind}))}function qt(t,e){return e.some((function(e){return "null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t}))}var Nt,Zt={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Kt(t){return (t=Math.round(t))<0?0:t>255?255:t}function Gt(t){return Kt("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Jt(t){return (e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function Xt(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{Nt={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in Zt)return Zt[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf("("),i=r.indexOf(")");if(-1!==n&&i+1===r.length){var a=r.substr(0,n),o=r.substr(n+1,i-(n+1)).split(","),s=1;switch(a){case"rgba":if(4!==o.length)return null;s=Jt(o.pop());case"rgb":return 3!==o.length?null:[Gt(o[0]),Gt(o[1]),Gt(o[2]),s];case"hsla":if(4!==o.length)return null;s=Jt(o.pop());case"hsl":if(3!==o.length)return null;var u=(parseFloat(o[0])%360+360)%360/360,l=Jt(o[1]),p=Jt(o[2]),c=p<=.5?p*(l+1):p+l-p*l,h=2*p-c;return [Kt(255*Xt(h,c,u+1/3)),Kt(255*Xt(h,c,u)),Kt(255*Xt(h,c,u-1/3)),s];default:return null}}return null};}catch(t){}var Yt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n;};Yt.parse=function(t){if(t){if(t instanceof Yt)return t;if("string"==typeof t){var e=Nt(t);if(e)return new Yt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Yt.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return "rgba("+Math.round(t[0])+","+Math.round(e)+","+Math.round(r)+","+n+")"},Yt.prototype.toArray=function(){var t=this,e=t.a;return 0===e?[0,0,0,0]:[255*t.r/e,255*t.g/e,255*t.b/e,e]},Yt.black=new Yt(0,0,0,1),Yt.white=new Yt(1,1,1,1),Yt.transparent=new Yt(0,0,0,0),Yt.red=new Yt(1,0,0,1);var Ht=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"});};Ht.prototype.compare=function(t,e){return this.collator.compare(t,e)},Ht.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Wt=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;},$t=function(t){this.sections=t;};$t.fromString=function(t){return new $t([new Wt(t,null,null,null,null)])},$t.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},$t.factory=function(t){return t instanceof $t?t:$t.fromString(t)},$t.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")};var Qt=function(t){this.values=t.slice();};Qt.parse=function(t){if(t instanceof Qt)return t;if("number"==typeof t)return new Qt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(var e=0,r=t;e<r.length;e+=1)if("number"!=typeof r[e])return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new Qt(t)}},Qt.prototype.toString=function(){return JSON.stringify(this.values)};var te=function(t){this.name=t.name,this.available=t.available;};function ee(t,e,r,n){return "number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function re(t){if(null===t)return !0;if("string"==typeof t)return !0;if("boolean"==typeof t)return !0;if("number"==typeof t)return !0;if(t instanceof Yt)return !0;if(t instanceof Ht)return !0;if(t instanceof $t)return !0;if(t instanceof Qt)return !0;if(t instanceof te)return !0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!re(r[e]))return !1;return !0}if("object"==typeof t){for(var n in t)if(!re(t[n]))return !1;return !0}return !1}function ne(t){if(null===t)return It;if("string"==typeof t)return zt;if("boolean"==typeof t)return Pt;if("number"==typeof t)return Mt;if(t instanceof Yt)return Bt;if(t instanceof Ht)return Vt;if(t instanceof $t)return Tt;if(t instanceof Qt)return Ft;if(t instanceof te)return Ot;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=ne(i[n]);if(e){if(e===a)continue;e=Et;break}e=a;}return Lt(e||Et,r)}return Ct}function ie(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Yt||t instanceof $t||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}te.prototype.toString=function(){return this.name},te.fromString=function(t){return t?new te({name:t,available:!1}):null};var ae=function(t,e){this.type=t,this.value=e;};ae.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!re(t[1]))return e.error("invalid value");var r=t[1],n=ne(r),i=e.expectedType;return "array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new ae(n,r)},ae.prototype.evaluate=function(){return this.value},ae.prototype.eachChild=function(){},ae.prototype.outputDefined=function(){return !0};var oe=function(t){this.name="ExpressionEvaluationError",this.message=t;};oe.prototype.toJSON=function(){return this.message};var se={string:zt,number:Mt,boolean:Pt,object:Ct},ue=function(t,e){this.type=t,this.args=e;};ue.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,i=t[0];if("array"===i){var a,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in se)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=se[s],n++;}else a=Et;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++;}r=Lt(a,o);}else {if(!se[i])throw new Error("Types doesn't contain name = "+i);r=se[i];}for(var u=[];n<t.length;n++){var l=e.parse(t[n],n,Et);if(!l)return null;u.push(l);}return new ue(r,u)},ue.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Rt(this.type,ne(r)))return r;if(e===this.args.length-1)throw new oe("Expected value to be of type "+Dt(this.type)+", but found "+Dt(ne(r))+" instead.")}throw new Error},ue.prototype.eachChild=function(t){this.args.forEach(t);},ue.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))};var le={"to-boolean":Pt,"to-color":Bt,"to-number":Mt,"to-string":zt},pe=function(t,e){this.type=t,this.args=e;};pe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(!le[r])throw new Error("Can't parse "+r+" as it is not part of the known types");if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=le[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Et);if(!o)return null;i.push(o);}return new pe(n,i)},pe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof Yt)return e;if("string"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":ee(e[0],e[1],e[2],e[3])))return new Yt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new oe(r||"Could not parse color from value '"+("string"==typeof e?e:JSON.stringify(e))+"'")}if("padding"===this.type.kind){for(var o,s=0,u=this.args;s<u.length;s+=1){o=u[s].evaluate(t);var l=Qt.parse(o);if(l)return l}throw new oe("Could not parse padding from value '"+("string"==typeof o?o:JSON.stringify(o))+"'")}if("number"===this.type.kind){for(var p=null,c=0,h=this.args;c<h.length;c+=1){if(null===(p=h[c].evaluate(t)))return 0;var f=Number(p);if(!isNaN(f))return f}throw new oe("Could not convert "+JSON.stringify(p)+" to number.")}return "formatted"===this.type.kind?$t.fromString(ie(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?te.fromString(ie(this.args[0].evaluate(t))):ie(this.args[0].evaluate(t))},pe.prototype.eachChild=function(t){this.args.forEach(t);},pe.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))};var ce=["Unknown","Point","LineString","Polygon"],he=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;};he.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},he.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?ce[this.feature.type]:this.feature.type:null},he.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null},he.prototype.canonicalID=function(){return this.canonical},he.prototype.properties=function(){return this.feature&&this.feature.properties||{}},he.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Yt.parse(t)),e};var fe=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;};fe.prototype.evaluate=function(t){return this._evaluate(t,this.args)},fe.prototype.eachChild=function(t){this.args.forEach(t);},fe.prototype.outputDefined=function(){return !1},fe.parse=function(t,e){var r,n=t[0],i=fe.definitions[n];if(!i)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return !Array.isArray(r)||r.length===t.length-1})),u=null,l=0,p=s;l<p.length;l+=1){var c=p[l],h=c[0],f=c[1];u=new Oe(e.registry,e.path,null,e.scope);for(var y=[],d=!1,m=1;m<t.length;m++){var v=t[m],g=Array.isArray(h)?h[m-1]:h.type,x=u.parse(v,1+y.length,g);if(!x){d=!0;break}y.push(x);}if(!d)if(Array.isArray(h)&&h.length!==y.length)u.error("Expected "+h.length+" arguments, but found "+y.length+" instead.");else {for(var b=0;b<y.length;b++){var w=Array.isArray(h)?h[b]:h.type,_=y[b];u.concat(b+1).checkSubtype(w,_.type);}if(0===u.errors.length)return new fe(n,a,f,y)}}if(1===s.length)(r=e.errors).push.apply(r,u.errors);else {for(var A=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(Dt).join(", ")+")":"("+Dt(e.type)+"...)"})).join(" | "),k=[],S=1;S<t.length;S++){var I=e.parse(t[S],1+k.length);if(!I)return null;k.push(Dt(I.type));}e.error("Expected arguments of type "+A+", but found ("+k.join(", ")+") instead.");}return null},fe.register=function(t,e){for(var r in fe.definitions=e,e)t[r]=fe;};var ye=function(t,e,r){this.type=Vt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;};ye.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Pt);if(!n)return null;var i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Pt);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,zt))?null:new ye(n,i,a)},ye.prototype.evaluate=function(t){return new Ht(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ye.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);},ye.prototype.outputDefined=function(){return !1};var de=8192;function me(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function ve(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ge(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*de),Math.round(n*i*de)]}function xe(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function be(t,e){for(var r,n,i,a,o,s,u,l=!1,p=0,c=e.length;p<c;p++)for(var h=e[p],f=0,y=h.length;f<y-1;f++){if((a=(r=t)[0]-(n=h[f])[0])*(u=r[1]-(i=h[f+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*u<=0)return !1;xe(t,h[f],h[f+1])&&(l=!l);}return l}function we(t,e){for(var r=0;r<e.length;r++)if(be(t,e[r]))return !0;return !1}function _e(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Ae(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(0!=(c=[(p=a[o+1])[0]-(l=a[o])[0],p[1]-l[1]])[0]*(h=[(u=e)[0]-(s=t)[0],u[1]-s[1]])[1]-c[1]*h[0]&&_e(s,u,l,p)&&_e(l,p,s,u))return !0;var s,u,l,p,c,h;return !1}function ke(t,e){for(var r=0;r<t.length;++r)if(!be(t[r],e))return !1;for(var n=0;n<t.length-1;++n)if(Ae(t[n],t[n+1],e))return !1;return !0}function Se(t,e){for(var r=0;r<e.length;r++)if(ke(t,e[r]))return !0;return !1}function Ie(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=ge(t[i][o],r);me(e,s),a.push(s);}n.push(a);}return n}function Me(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Ie(t[i],e,r);n.push(a);}return n}function ze(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a;}me(e,t);}function Pe(t,e,r,n){for(var i=Math.pow(2,n.z)*de,a=[n.x*de,n.y*de],o=[],s=0,u=t;s<u.length;s+=1)for(var l=0,p=u[s];l<p.length;l+=1){var c=p[l],h=[c.x+a[0],c.y+a[1]];ze(h,e,r,i),o.push(h);}return o}function Be(t,e,r,n){for(var i,a=Math.pow(2,n.z)*de,o=[n.x*de,n.y*de],s=[],u=0,l=t;u<l.length;u+=1){for(var p=[],c=0,h=l[u];c<h.length;c+=1){var f=h[c],y=[f.x+o[0],f.y+o[1]];me(e,y),p.push(y);}s.push(p);}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var d=0,m=s;d<m.length;d+=1)for(var v=0,g=m[d];v<g.length;v+=1)ze(g[v],e,r,a);}return s}var Ce=function(t,e){this.type=Pt,this.geojson=t,this.geometries=e;};function Ee(t){if(t instanceof fe){if("get"===t.name&&1===t.args.length)return !1;if("feature-state"===t.name)return !1;if("has"===t.name&&1===t.args.length)return !1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof Ce)return !1;var e=!0;return t.eachChild((function(t){e&&!Ee(t)&&(e=!1);})),e}function Ve(t){if(t instanceof fe&&"feature-state"===t.name)return !1;var e=!0;return t.eachChild((function(t){e&&!Ve(t)&&(e=!1);})),e}function Te(t,e){if(t instanceof fe&&e.indexOf(t.name)>=0)return !1;var r=!0;return t.eachChild((function(t){r&&!Te(t,e)&&(r=!1);})),r}Ce.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(re(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if("Polygon"===i||"MultiPolygon"===i)return new Ce(r,r.features[n].geometry)}else if("Feature"===r.type){var a=r.geometry.type;if("Polygon"===a||"MultiPolygon"===a)return new Ce(r,r.geometry)}else if("Polygon"===r.type||"MultiPolygon"===r.type)return new Ce(r,r)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")},Ce.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ie(e.coordinates,n,i),o=Pe(t.geometry(),r,n,i);if(!ve(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!be(u[s],a))return !1}if("MultiPolygon"===e.type){var l=Me(e.coordinates,n,i),p=Pe(t.geometry(),r,n,i);if(!ve(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!we(h[c],l))return !1}return !0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ie(e.coordinates,n,i),o=Be(t.geometry(),r,n,i);if(!ve(r,n))return !1;for(var s=0,u=o;s<u.length;s+=1)if(!ke(u[s],a))return !1}if("MultiPolygon"===e.type){var l=Me(e.coordinates,n,i),p=Be(t.geometry(),r,n,i);if(!ve(r,n))return !1;for(var c=0,h=p;c<h.length;c+=1)if(!Se(h[c],l))return !1}return !0}(t,this.geometries)}return !1},Ce.prototype.eachChild=function(){},Ce.prototype.outputDefined=function(){return !0};var Fe=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e;};Fe.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new Fe(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},Fe.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Fe.prototype.eachChild=function(){},Fe.prototype.outputDefined=function(){return !1};var Oe=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new St),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return "["+t+"]"})).join(""),this.scope=n,this.errors=i,this.expectedType=r;};function Le(t){if(t instanceof Fe)return Le(t.boundExpression);if(t instanceof fe&&"error"===t.name)return !1;if(t instanceof ye)return !1;if(t instanceof Ce)return !1;var e=t instanceof pe||t instanceof ue,r=!0;return t.eachChild((function(t){r=e?r&&Le(t):r&&t instanceof ae;})),!!r&&Ee(t)&&Te(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function De(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;)if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1])return o;i=o+1;}else {if(!(r>e))throw new oe("Input is not a number.");a=o-1;}return 0}Oe.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Oe.prototype._parse=function(t,e){function r(t,e,r){return "assert"===r?new ue(e,[t]):"coerce"===r?new pe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind)if("padding"!==o.kind||"value"!==s.kind&&"number"!==s.kind&&"array"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert");}if(!(a instanceof ae)&&"resolvedImage"!==a.type.kind&&Le(a)){var u=new he;try{a=new ae(a.type,a.evaluate(u));}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof t+" instead.")},Oe.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Oe(this.registry,n,e||null,i,this.errors)},Oe.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return "["+t+"]"})).join("");this.errors.push(new kt(n,t));},Oe.prototype.checkSubtype=function(t,e){var r=Rt(t,e);return r&&this.error(r),r};var je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o);}};function Re(t,e,r){return t*(1-r)+e*r}je.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,Mt);if(!r)return null;var n=[],i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],u=a,l=a+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',u);var p=e.parse(s,l,i);if(!p)return null;i=i||p.type,n.push([o,p]);}return new je(i,r,n)},je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[De(e,n)].evaluate(t)},je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},je.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))};var Ue=Object.freeze({__proto__:null,number:Re,color:function(t,e,r){return new Yt(Re(t.r,e.r,r),Re(t.g,e.g,r),Re(t.b,e.b,r),Re(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Re(t,e[n],r)}))},padding:function(t,e,r){var n=t.values,i=e.values;return new Qt([Re(n[0],i[0],r),Re(n[1],i[1],r),Re(n[2],i[2],r),Re(n[3],i[3],r)])}}),qe=.95047,Ne=1.08883,Ze=4/29,Ke=6/29,Ge=3*Ke*Ke,Je=Math.PI/180,Xe=180/Math.PI;function Ye(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ge+Ze}function He(t){return t>Ke?t*t*t:Ge*(t-Ze)}function We(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function $e(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qe(t){var e=$e(t.r),r=$e(t.g),n=$e(t.b),i=Ye((.4124564*e+.3575761*r+.1804375*n)/qe),a=Ye((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-Ye((.0193339*e+.119192*r+.9503041*n)/Ne)),alpha:t.a}}function tr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*He(e),r=qe*He(r),n=Ne*He(n),new Yt(We(3.2404542*r-1.5371385*e-.4985314*n),We(-.969266*r+1.8760108*e+.041556*n),We(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function er(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var rr={forward:Qe,reverse:tr,interpolate:function(t,e,r){return {l:Re(t.l,e.l,r),a:Re(t.a,e.a,r),b:Re(t.b,e.b,r),alpha:Re(t.alpha,e.alpha,r)}}},nr={forward:function(t){var e=Qe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Xe;return {h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Je,r=t.c;return tr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:er(t.h,e.h,r),c:Re(t.c,e.c,r),l:Re(t.l,e.l,r),alpha:Re(t.alpha,e.alpha,r)}}},ir=Object.freeze({__proto__:null,lab:rr,hcl:nr}),ar=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],u=s[1];this.labels.push(s[0]),this.outputs.push(u);}};function or(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}ar.interpolationFactor=function(t,r,n,i){var a=0;if("exponential"===t.name)a=or(r,t.base,n,i);else if("linear"===t.name)a=or(r,1,n,i);else if("cubic-bezier"===t.name){var o=t.controlPoints;a=new e(o[0],o[1],o[2],o[3]).solve(or(r,1,n,i));}return a},ar.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o};}else {if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return "number"!=typeof t||t<0||t>1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s};}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Mt)))return null;var u=[],l=null;"interpolate-hcl"===r||"interpolate-lab"===r?l=Bt:e.expectedType&&"value"!==e.expectedType.kind&&(l=e.expectedType);for(var p=0;p<a.length;p+=2){var c=a[p],h=a[p+1],f=p+3,y=p+4;if("number"!=typeof c)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f);if(u.length&&u[u.length-1][0]>=c)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',f);var d=e.parse(h,y,l);if(!d)return null;l=l||d.type,u.push([c,d]);}return "number"===l.kind||"color"===l.kind||"padding"===l.kind||"array"===l.kind&&"number"===l.itemType.kind&&"number"==typeof l.N?new ar(l,r,n,i,u):e.error("Type "+Dt(l)+" is not interpolatable.")},ar.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=De(e,n),o=ar.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),u=r[a+1].evaluate(t);return "interpolate"===this.operator?Ue[this.type.kind.toLowerCase()](s,u,o):"interpolate-hcl"===this.operator?nr.reverse(nr.interpolate(nr.forward(s),nr.forward(u),o)):rr.reverse(rr.interpolate(rr.forward(s),rr.forward(u),o))},ar.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e]);},ar.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))};var sr=function(t,e){this.type=t,this.args=e;};sr.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:"omit"});if(!s)return null;r=r||s.type,i.push(s);}if(!r)throw new Error("No output type");var u=n&&i.some((function(t){return Rt(n,t.type)}));return new sr(u?Et:r,i)},sr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof te&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},sr.prototype.eachChild=function(t){this.args.forEach(t);},sr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))};var ur=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;};ur.prototype.evaluate=function(t){return this.result.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result);},ur.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if("string"!=typeof i)return e.error("Expected string, but found "+typeof i+" instead.",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a]);}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ur(r,o):null},ur.prototype.outputDefined=function(){return this.result.outputDefined()};var lr=function(t,e,r){this.type=t,this.index=e,this.input=r;};lr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Mt),n=e.parse(t[2],2,Lt(e.expectedType||Et));return r&&n?new lr(n.type.itemType,r,n):null},lr.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new oe("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new oe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new oe("Array index must be an integer, but found "+e+" instead.");return r[e]},lr.prototype.eachChild=function(t){t(this.index),t(this.input);},lr.prototype.outputDefined=function(){return !1};var pr=function(t,e){this.type=Pt,this.needle=t,this.haystack=e;};pr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Et),n=e.parse(t[2],2,Et);return r&&n?Ut(r.type,[Pt,zt,Mt,It,Et])?new pr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+Dt(r.type)+" instead"):null},pr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!qt(e,["boolean","string","number","null"]))throw new oe("Expected first argument to be of type boolean, string, number or null, but found "+Dt(ne(e))+" instead.");if(!qt(r,["string","array"]))throw new oe("Expected second argument to be of type array or string, but found "+Dt(ne(r))+" instead.");return r.indexOf(e)>=0},pr.prototype.eachChild=function(t){t(this.needle),t(this.haystack);},pr.prototype.outputDefined=function(){return !0};var cr=function(t,e,r){this.type=Mt,this.needle=t,this.haystack=e,this.fromIndex=r;};cr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Et),n=e.parse(t[2],2,Et);if(!r||!n)return null;if(!Ut(r.type,[Pt,zt,Mt,It,Et]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+Dt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Mt);return i?new cr(r,n,i):null}return new cr(r,n)},cr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!qt(e,["boolean","string","number","null"]))throw new oe("Expected first argument to be of type boolean, string, number or null, but found "+Dt(ne(e))+" instead.");if(!qt(r,["string","array"]))throw new oe("Expected second argument to be of type array or string, but found "+Dt(ne(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},cr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);},cr.prototype.outputDefined=function(){return !1};var hr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;};hr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],u=t[o+1];Array.isArray(s)||(s=[s]);var l=e.concat(o);if(0===s.length)return l.error("Expected at least one branch label.");for(var p=0,c=s;p<c.length;p+=1){var h=c[p];if("number"!=typeof h&&"string"!=typeof h)return l.error("Branch labels must be numbers or strings.");if("number"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return l.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return l.error("Numeric branch labels must be integer values.");if(r){if(l.checkSubtype(r,ne(h)))return null}else r=ne(h);if(void 0!==i[String(h)])return l.error("Branch labels must be unique.");i[String(h)]=a.length;}var f=e.parse(u,o,n);if(!f)return null;n=n||f.type,a.push(f);}var y=e.parse(t[1],1,Et);if(!y)return null;var d=e.parse(t[t.length-1],t.length-1,n);return d?"value"!==y.type.kind&&e.concat(1).checkSubtype(r,y.type)?null:new hr(r,n,y,i,a,d):null},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return (ne(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},hr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);},hr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()};var fr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r;};fr.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Pt);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type;}var s=e.parse(t[t.length-1],t.length-1,r);if(!s)return null;if(!r)throw new Error("Can't infer output type");return new fr(r,n,s)},fr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},fr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i);}t(this.otherwise);},fr.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()};var yr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;};function dr(t,e){return "=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function mr(t,e,r,n){return 0===n.compare(e,r)}function vr(t,e,r){var n="=="!==t&&"!="!==t;return function(){function i(t,e,r){this.type=Pt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind;}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],a=e.parse(t[1],1,Et);if(!a)return null;if(!dr(r,a.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+Dt(a.type)+"'.");var o=e.parse(t[2],2,Et);if(!o)return null;if(!dr(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+Dt(o.type)+"'.");if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+Dt(a.type)+"' and '"+Dt(o.type)+"'.");n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ue(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ue(a.type,[o])));var s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,Vt)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=ne(a),u=ne(o);if(s.kind!==u.kind||"string"!==s.kind&&"number"!==s.kind)throw new oe('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+u.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var l=ne(a),p=ne(o);if("string"!==l.kind||"string"!==p.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);},i.prototype.outputDefined=function(){return !0},i}()}yr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Et),n=e.parse(t[2],2,Mt);if(!r||!n)return null;if(!Ut(r.type,[Lt(Et),zt,Et]))return e.error("Expected first argument to be of type array or string, but found "+Dt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Mt);return i?new yr(r.type,r,n,i):null}return new yr(r.type,r,n)},yr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!qt(e,["string","array"]))throw new oe("Expected first argument to be of type array or string, but found "+Dt(ne(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},yr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);},yr.prototype.outputDefined=function(){return !1};var gr=vr("==",(function(t,e,r){return e===r}),mr),xr=vr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !mr(0,e,r,n)})),br=vr("<",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),wr=vr(">",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),_r=vr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ar=vr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),kr=function(t,e,r,n,i){this.type=zt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;};kr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Mt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,zt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,zt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Mt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Mt))?null:new kr(r,i,a,o,s)},kr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},kr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);},kr.prototype.outputDefined=function(){return !1};var Sr=function(t){this.type=Tt,this.sections=t;};Sr.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Mt)))return null;var u=null;if(o["text-font"]&&!(u=e.parse(o["text-font"],1,Lt(zt))))return null;var l=null;if(o["text-color"]&&!(l=e.parse(o["text-color"],1,Bt)))return null;var p=n[n.length-1];p.scale=s,p.font=u,p.textColor=l;}else {var c=e.parse(t[a],1,Et);if(!c)return null;var h=c.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:c,scale:null,font:null,textColor:null});}}return new Sr(n)},Sr.prototype.evaluate=function(t){return new $t(this.sections.map((function(e){var r=e.content.evaluate(t);return ne(r)===Ot?new Wt("",r,null,null,null):new Wt(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},Sr.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor);}},Sr.prototype.outputDefined=function(){return !1};var Ir=function(t){this.type=Ot,this.input=t;};Ir.parse=function(t,e){if(2!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,zt);return r?new Ir(r):e.error("No image name provided.")},Ir.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=te.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},Ir.prototype.eachChild=function(t){t(this.input);},Ir.prototype.outputDefined=function(){return !1};var Mr=function(t){this.type=Mt,this.input=t;};Mr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+Dt(r.type)+" instead."):new Mr(r):null},Mr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new oe("Expected value to be of type string or array, but found "+Dt(ne(e))+" instead.")},Mr.prototype.eachChild=function(t){t(this.input);},Mr.prototype.outputDefined=function(){return !1};var zr={"==":gr,"!=":xr,">":wr,"<":br,">=":Ar,"<=":_r,array:ue,at:lr,boolean:ue,case:fr,coalesce:sr,collator:ye,format:Sr,image:Ir,in:pr,"index-of":cr,interpolate:ar,"interpolate-hcl":ar,"interpolate-lab":ar,length:Mr,let:ur,literal:ae,match:hr,number:ue,"number-format":kr,object:ue,slice:yr,step:je,string:ue,"to-boolean":pe,"to-color":pe,"to-number":pe,"to-string":pe,var:Fe,within:Ce};function Pr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ee(r,n,i,o);if(s)throw new oe(s);return new Yt(r/255*o,n/255*o,i/255*o,o)}function Br(t,e){return t in e}function Cr(t,e){var r=e[t];return void 0===r?null:r}function Er(t){return {type:t}}function Vr(t){return {result:"success",value:t}}function Tr(t){return {result:"error",value:t}}function Fr(t){return "data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Or(t){return !!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Lr(t){return !!t.expression&&t.expression.interpolated}function Dr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function jr(t){return "object"==typeof t&&null!==t&&!Array.isArray(t)}function Rr(t){return t}function Ur(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||!(o||void 0!==t.property),u=t.type||(Lr(e)?"exponential":"interval");if(a||"padding"===e.type){var l=a?Yt.parse:Qt.parse;(t=wt({},t)).stops&&(t.stops=t.stops.map((function(t){return [t[0],l(t[1])]}))),t.default=l(t.default?t.default:e.default);}if(t.colorSpace&&"rgb"!==t.colorSpace&&!ir[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=Kr;else if("interval"===u)r=Zr;else if("categorical"===u){r=Nr,n=Object.create(null);for(var p=0,c=t.stops;p<c.length;p+=1){var h=c[p];n[h[0]]=h[1];}i=typeof t.stops[0][0];}else {if("identity"!==u)throw new Error('Unknown function type "'+u+'"');r=Gr;}if(o){for(var f={},y=[],d=0;d<t.stops.length;d++){var m=t.stops[d],v=m[0].zoom;void 0===f[v]&&(f[v]={zoom:v,type:t.type,property:t.property,default:t.default,stops:[]},y.push(v)),f[v].stops.push([m[0].value,m[1]]);}for(var g=[],x=0,b=y;x<b.length;x+=1){var w=b[x];g.push([f[w].zoom,Ur(f[w],e)]);}var _={name:"linear"};return {kind:"composite",interpolationType:_,interpolationFactor:ar.interpolationFactor.bind(void 0,_),zoomStops:g.map((function(t){return t[0]})),evaluate:function(r,n){var i=r.zoom;return Kr({stops:g,base:t.base},e,i).evaluate(i,n)}}}if(s){var A="exponential"===u?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return {kind:"camera",interpolationType:A,interpolationFactor:ar.interpolationFactor.bind(void 0,A),zoomStops:t.stops.map((function(t){return t[0]})),evaluate:function(a){return r(t,e,a.zoom,n,i)}}}return {kind:"source",evaluate:function(a,o){var s=o&&o.properties?o.properties[t.property]:void 0;return void 0===s?qr(t.default,e.default):r(t,e,s,n,i)}}}function qr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Nr(t,e,r,n,i){return qr(typeof r===i?n[r]:void 0,t.default,e.default)}function Zr(t,e,r){if("number"!==Dr(r))return qr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=De(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Kr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Dr(r))return qr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=De(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],l=Ue[e.type]||Rr;if(t.colorSpace&&"rgb"!==t.colorSpace){var p=ir[t.colorSpace];l=function(t,e){return p.reverse(p.interpolate(p.forward(t),p.forward(e),o))};}return "function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return l(r,n,o)}}:l(s,u,o)}function Gr(t,e,r){switch(e.type){case"color":r=Yt.parse(r);break;case"formatted":r=$t.fromString(r.toString());break;case"resolvedImage":r=te.fromString(r.toString());break;case"padding":r=Qt.parse(r);break;default:Dr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0);}return qr(r,t.default,e.default)}fe.register(zr,{error:[{kind:"error"},[zt],function(t,e){throw new oe(e[0].evaluate(t))}],typeof:[zt,[Et],function(t,e){return Dt(ne(e[0].evaluate(t)))}],"to-rgba":[Lt(Mt,4),[Bt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Bt,[Mt,Mt,Mt],Pr],rgba:[Bt,[Mt,Mt,Mt,Mt],Pr],has:{type:Pt,overloads:[[[zt],function(t,e){return Br(e[0].evaluate(t),t.properties())}],[[zt,Ct],function(t,e){var r=e[1];return Br(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:Et,overloads:[[[zt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[zt,Ct],function(t,e){var r=e[1];return Cr(e[0].evaluate(t),r.evaluate(t))}]]},"feature-state":[Et,[zt],function(t,e){return Cr(e[0].evaluate(t),t.featureState||{})}],properties:[Ct,[],function(t){return t.properties()}],"geometry-type":[zt,[],function(t){return t.geometryType()}],id:[Et,[],function(t){return t.id()}],zoom:[Mt,[],function(t){return t.globals.zoom}],"heatmap-density":[Mt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Mt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Et,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Mt,Er(Mt),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],"*":[Mt,Er(Mt),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],"-":{type:Mt,overloads:[[[Mt,Mt],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Mt],function(t,e){return -e[0].evaluate(t)}]]},"/":[Mt,[Mt,Mt],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],"%":[Mt,[Mt,Mt],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Mt,[],function(){return Math.LN2}],pi:[Mt,[],function(){return Math.PI}],e:[Mt,[],function(){return Math.E}],"^":[Mt,[Mt,Mt],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Mt,[Mt],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Mt,[Mt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Mt,[Mt],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Mt,[Mt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Mt,[Mt],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Mt,[Mt],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Mt,[Mt],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Mt,[Mt],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Mt,[Mt],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Mt,[Mt],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Mt,Er(Mt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Mt,Er(Mt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Mt,[Mt],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Mt,[Mt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Mt,[Mt],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Mt,[Mt],function(t,e){return Math.ceil(e[0].evaluate(t))}],"filter-==":[Pt,[zt,Et],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Pt,[Et],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Pt,[zt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Pt,[zt,Et],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],"filter-id-<":[Pt,[Et],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],"filter->":[Pt,[zt,Et],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Pt,[Et],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Pt,[zt,Et],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Pt,[Et],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Pt,[zt,Et],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Pt,[Et],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Pt,[Et],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Pt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Pt,[Lt(zt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Pt,[Lt(Et)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Pt,[zt,Lt(Et)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Pt,[zt,Lt(Et)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Pt,overloads:[[[Pt,Pt],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Er(Pt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return !1;return !0}]]},any:{type:Pt,overloads:[[[Pt,Pt],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Er(Pt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return !0;return !1}]]},"!":[Pt,[Pt],function(t,e){return !e[0].evaluate(t)}],"is-supported-script":[Pt,[zt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return !r||r(e[0].evaluate(t))}],upcase:[zt,[zt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[zt,[zt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[zt,Er(Et),function(t,e){return e.map((function(e){return ie(e.evaluate(t))})).join("")}],"resolved-locale":[zt,[Vt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Jr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new he,this._defaultValue=e?function(t){return "color"===t.type&&jr(t.default)?new Yt(0,0,0,0):"color"===t.type?Yt.parse(t.default)||null:"padding"===t.type?Qt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null;};function Xr(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in zr}function Yr(t,e){var r=new Oe(zr,[],e?function(t){var e={color:Bt,string:zt,number:Mt,enum:zt,boolean:Pt,formatted:Tt,padding:Ft,resolvedImage:Ot};return "array"===t.type?Lt(e[t.value]||Et,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Vr(new Jr(n,e)):Tr(r.errors)}Jr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Jr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new oe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Hr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Ve(e.expression);};Hr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Hr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Wr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Ve(e.expression),this.interpolationType=n;};function $r(t,e){var r=Yr(t,e);if("error"===r.result)return r;var n=r.value.expression,i=Ee(n);if(!i&&!Fr(e))return Tr([new kt("","data expressions not supported")]);var a=Te(n,["zoom"]);if(!a&&!Or(e))return Tr([new kt("","zoom expressions not supported")]);var o=tn(n);return o||a?o instanceof kt?Tr([o]):o instanceof ar&&!Lr(e)?Tr([new kt("",'"interpolate" expressions cannot be used with this property')]):Vr(o?new Wr(i?"camera":"composite",r.value,o.labels,o instanceof ar?o.interpolation:void 0):new Hr(i?"constant":"source",r.value)):Tr([new kt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}Wr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Wr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Wr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?ar.interpolationFactor(this.interpolationType,t,e,r):0};var Qr=function(t,e){this._parameters=t,this._specification=e,wt(this,Ur(this._parameters,this._specification));};function tn(t){var e=null;if(t instanceof ur)e=tn(t.result);else if(t instanceof sr)for(var r=0,n=t.args;r<n.length&&!(e=tn(n[r]));r+=1);else (t instanceof je||t instanceof ar)&&t.input instanceof fe&&"zoom"===t.input.name&&(e=t);return e instanceof kt||t.eachChild((function(t){var r=tn(t);r instanceof kt?e=r:!e&&r?e=new kt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&r&&e!==r&&(e=new kt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'));})),e}function en(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],u=Dr(r);if("object"!==u)return [new xt(e,r,"object expected, "+u+" found")];for(var l in r){var p=l.split(".")[0],c=n[p]||n["*"],h=void 0;if(i[p])h=i[p];else if(n[p])h=Bn;else if(i["*"])h=i["*"];else {if(!n["*"]){s.push(new xt(e,r[l],'unknown property "'+l+'"'));continue}h=Bn;}s=s.concat(h({key:(e?e+".":e)+l,value:r[l],valueSpec:c,style:a,styleSpec:o,object:r,objectKey:l},r));}for(var f in n)i[f]||n[f].required&&void 0===n[f].default&&void 0===r[f]&&s.push(new xt(e,r,'missing required property "'+f+'"'));return s}function rn(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||Bn;if("array"!==Dr(e))return [new xt(a,e,"array expected, "+Dr(e)+" found")];if(r.length&&e.length!==r.length)return [new xt(a,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return [new xt(a,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),"object"===Dr(r.value)&&(s=r.value);for(var u=[],l=0;l<e.length;l++)u=u.concat(o({array:e,arrayIndex:l,value:e[l],valueSpec:s,style:n,styleSpec:i,key:a+"["+l+"]"}));return u}function nn(t){var e=t.key,r=t.value,n=t.valueSpec,i=Dr(r);return "number"===i&&r!=r&&(i="NaN"),"number"!==i?[new xt(e,r,"number expected, "+i+" found")]:"minimum"in n&&r<n.minimum?[new xt(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new xt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function an(t){var e,r,n,i=t.valueSpec,a=_t(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,u=!s,l="array"===Dr(t.value.stops)&&"array"===Dr(t.value.stops[0])&&"object"===Dr(t.value.stops[0][0]),p=en({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return [new xt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(rn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:c})),"array"===Dr(r)&&0===r.length&&e.push(new xt(t.key,r,"array must have at least one stop")),e},default:function(t){return Bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return "identity"===a&&s&&p.push(new xt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||p.push(new xt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Lr(t.valueSpec)&&p.push(new xt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(u&&!Fr(t.valueSpec)?p.push(new xt(t.key,t.value,"property functions not supported")):s&&!Or(t.valueSpec)&&p.push(new xt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!l||void 0!==t.value.property||p.push(new xt(t.key,t.value,'"property" property is required')),p;function c(t){var e=[],a=t.value,s=t.key;if("array"!==Dr(a))return [new xt(s,a,"array expected, "+Dr(a)+" found")];if(2!==a.length)return [new xt(s,a,"array length 2 expected, length "+a.length+" found")];if(l){if("object"!==Dr(a[0]))return [new xt(s,a,"object expected, "+Dr(a[0])+" found")];if(void 0===a[0].zoom)return [new xt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return [new xt(s,a,"object stop key must have value")];if(n&&n>_t(a[0].zoom))return [new xt(s,a[0].zoom,"stop zoom values must appear in ascending order")];_t(a[0].zoom)!==n&&(n=_t(a[0].zoom),r=void 0,o={}),e=e.concat(en({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:nn,value:h}}));}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Xr(At(a[1]))?e.concat([new xt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Dr(t.value),u=_t(t.value),l=null!==t.value?t.value:n;if(e){if(s!==e)return [new xt(t.key,l,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return [new xt(t.key,l,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var p="number expected, "+s+" found";return Fr(i)&&void 0===a&&(p+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new xt(t.key,l,p)]}return "categorical"!==a||"number"!==s||isFinite(u)&&Math.floor(u)===u?"categorical"!==a&&"number"===s&&void 0!==r&&u<r?[new xt(t.key,l,"stop domain values must appear in ascending order")]:(r=u,"categorical"===a&&u in o?[new xt(t.key,l,"stop domain values must be unique")]:(o[u]=!0,[])):[new xt(t.key,l,"integer expected, found "+u)]}}function on(t){var e=("property"===t.expressionContext?$r:Yr)(At(t.value),t.valueSpec);if("error"===e.result)return e.value.map((function(e){return new xt(""+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return [new xt(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!Ve(r))return [new xt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!Ve(r))return [new xt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Te(r,["zoom","feature-state"]))return [new xt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!Ee(r))return [new xt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return []}function sn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(_t(r))&&i.push(new xt(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(_t(r))&&i.push(new xt(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),i}function un(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return !1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!un(n)&&"boolean"!=typeof n)return !1}return !0;default:return !0}}Qr.deserialize=function(t){return new Qr(t._parameters,t._specification)},Qr.serialize=function(t){return {_parameters:t._parameters,_specification:t._specification}};var ln={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function pn(t){if(null==t)return {filter:function(){return !0},needGeometry:!1};un(t)||(t=fn(t));var e=Yr(t,ln);if("error"===e.result)throw new Error(e.value.map((function(t){return t.key+": "+t.message})).join(", "));return {filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:hn(t)}}function cn(t,e){return t<e?-1:t>e?1:0}function hn(t){if(!Array.isArray(t))return !1;if("within"===t[0])return !0;for(var e=1;e<t.length;e++)if(hn(t[e]))return !0;return !1}function fn(t){if(!t)return !0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?yn(t[1],t[2],"=="):"!="===r?vn(yn(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?yn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(fn))):"all"===r?["all"].concat(t.slice(1).map(fn)):"none"===r?["all"].concat(t.slice(1).map(fn).map(vn)):"in"===r?dn(t[1],t.slice(2)):"!in"===r?vn(dn(t[1],t.slice(2))):"has"===r?mn(t[1]):"!has"===r?vn(mn(t[1])):"within"!==r||t}function yn(t,e,r){switch(t){case"$type":return ["filter-type-"+r,e];case"$id":return ["filter-id-"+r,e];default:return ["filter-"+r,t,e]}}function dn(t,e){if(0===e.length)return !1;switch(t){case"$type":return ["filter-type-in",["literal",e]];case"$id":return ["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(cn)]]:["filter-in-small",t,["literal",e]]}}function mn(t){switch(t){case"$type":return !0;case"$id":return ["filter-has-id"];default:return ["filter-has",t]}}function vn(t){return ["!",t]}function gn(t){return un(At(t.value))?on(wt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):xn(t)}function xn(t){var e=t.value,r=t.key;if("array"!==Dr(e))return [new xt(r,e,"array expected, "+Dr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return [new xt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(sn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),_t(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===_t(e[1])&&a.push(new xt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new xt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Dr(e[1]))&&a.push(new xt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o<e.length;o++)n=Dr(e[o]),"$type"===_t(e[1])?a=a.concat(sn({key:r+"["+o+"]",value:e[o],valueSpec:i.geometry_type,style:t.style,styleSpec:t.styleSpec})):"string"!==n&&"number"!==n&&"boolean"!==n&&a.push(new xt(r+"["+o+"]",e[o],"string, number, or boolean expected, "+n+" found"));break;case"any":case"all":case"none":for(var s=1;s<e.length;s++)a=a.concat(xn({key:r+"["+s+"]",value:e[s],style:t.style,styleSpec:t.styleSpec}));break;case"has":case"!has":n=Dr(e[1]),2!==e.length?a.push(new xt(r,e,'filter array for "'+e[0]+'" operator must have 2 elements')):"string"!==n&&a.push(new xt(r+"[1]",e[1],"string expected, "+n+" found"));break;case"within":n=Dr(e[1]),2!==e.length?a.push(new xt(r,e,'filter array for "'+e[0]+'" operator must have 2 elements')):"object"!==n&&a.push(new xt(r+"[1]",e[1],"object expected, "+n+" found"));}return a}function bn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+"_"+t.layerType];if(!s)return [];var u=o.match(/^(.*)-transition$/);if("paint"===e&&u&&s[u[1]]&&s[u[1]].transition)return Bn({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var l,p=t.valueSpec||s[o];if(!p)return [new xt(r,a,'unknown property "'+o+'"')];if("string"===Dr(a)&&Fr(p)&&!p.tokens&&(l=/^{([^}]+)}$/.exec(a)))return [new xt(r,a,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(l[1])+" }`.")];var c=[];return "symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&c.push(new xt(r,a,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&jr(At(a))&&"identity"===_t(a.type)&&c.push(new xt(r,a,'"text-font" does not support identity functions'))),c.concat(Bn({key:t.key,value:a,valueSpec:p,style:n,styleSpec:i,expressionContext:"property",propertyType:e,propertyKey:o}))}function wn(t){return bn(t,"paint")}function _n(t){return bn(t,"layout")}function An(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new xt(n,r,'either "type" or "ref" is required'));var o,s=_t(r.type),u=_t(r.ref);if(r.id)for(var l=_t(r.id),p=0;p<t.arrayIndex;p++){var c=i.layers[p];_t(c.id)===l&&e.push(new xt(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+c.id.__line__));}if("ref"in r)["type","source","source-layer","filter","layout"].forEach((function(t){t in r&&e.push(new xt(n,r[t],'"'+t+'" is prohibited for ref layers'));})),i.layers.forEach((function(t){_t(t.id)===u&&(o=t);})),o?o.ref?e.push(new xt(n,r.ref,"ref cannot reference another ref layer")):s=_t(o.type):e.push(new xt(n,r.ref,'ref layer "'+u+'" not found'));else if("background"!==s)if(r.source){var h=i.sources&&i.sources[r.source],f=h&&_t(h.type);h?"vector"===f&&"raster"===s?e.push(new xt(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===f&&"raster"!==s?e.push(new xt(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==f||r["source-layer"]?"raster-dem"===f&&"hillshade"!==s?e.push(new xt(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===f&&h.lineMetrics||e.push(new xt(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new xt(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new xt(n,r.source,'source "'+r.source+'" not found'));}else e.push(new xt(n,r,'missing required property "source"'));return e=e.concat(en({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return []},type:function(){return Bn({key:n+".type",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:gn,layout:function(t){return en({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return _n(wt({layerType:s},t))}}})},paint:function(t){return en({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return wn(wt({layerType:s},t))}}})}}})),e}function kn(t){var e=t.value,r=t.key,n=Dr(e);return "string"!==n?[new xt(r,e,"string expected, "+n+" found")]:[]}var Sn={promoteId:function(t){var e=t.key,r=t.value;if("string"===Dr(r))return kn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,kn({key:e+"."+i,value:r[i]}));return n}};function In(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new xt(r,e,'"type" is required')];var a,o=_t(e.type);switch(o){case"vector":case"raster":case"raster-dem":return en({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n,objectElementValidators:Sn});case"geojson":if(a=en({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:Sn}),e.cluster)for(var s in e.clusterProperties){var u=e.clusterProperties[s],l=u[0],p="string"==typeof l?[l,["accumulated"],["get",s]]:l;a.push.apply(a,on({key:r+"."+s+".map",value:u[1],expressionContext:"cluster-map"})),a.push.apply(a,on({key:r+"."+s+".reduce",value:p,expressionContext:"cluster-reduce"}));}return a;case"video":return en({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return en({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return [new xt(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return sn({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,styleSpec:n})}}function Mn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Dr(e);if(void 0===e)return a;if("object"!==o)return a.concat([new xt("light",e,"object expected, "+o+" found")]);for(var s in e){var u=s.match(/^(.*)-transition$/);a=a.concat(u&&n[u[1]]&&n[u[1]].transition?Bn({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?Bn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new xt(s,e[s],'unknown property "'+s+'"')]);}return a}function zn(t){var e=t.value,r=t.styleSpec,n=r.terrain,i=t.style,a=[],o=Dr(e);if(void 0===e)return a;if("object"!==o)return a.concat([new xt("terrain",e,"object expected, "+o+" found")]);for(var s in e)a=a.concat(n[s]?Bn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new xt(s,e[s],'unknown property "'+s+'"')]);return a}var Pn={"*":function(){return []},array:rn,boolean:function(t){var e=t.value,r=t.key,n=Dr(e);return "boolean"!==n?[new xt(r,e,"boolean expected, "+n+" found")]:[]},number:nn,color:function(t){var e=t.key,r=t.value,n=Dr(r);return "string"!==n?[new xt(e,r,"color expected, "+n+" found")]:null===Nt(r)?[new xt(e,r,'color expected, "'+r+'" found')]:[]},constants:bt,enum:sn,filter:gn,function:an,layer:An,object:en,source:In,light:Mn,terrain:zn,string:kn,formatted:function(t){return 0===kn(t).length?[]:on(t)},resolvedImage:function(t){return 0===kn(t).length?[]:on(t)},padding:function(t){var e=t.key,r=t.value;if("array"===Dr(r)){if(r.length<1||r.length>4)return [new xt(e,r,"padding requires 1 to 4 values; "+r.length+" values found")];for(var n={type:"number"},i=[],a=0;a<r.length;a++)i=i.concat(Bn({key:e+"["+a+"]",value:r[a],valueSpec:n}));return i}return nn({key:e,value:r,valueSpec:{}})}};function Bn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&jr(_t(e))?an(t):r.expression&&Xr(At(e))?on(t):r.type&&Pn[r.type]?Pn[r.type](t):en(wt({},t,{valueSpec:r.type?n[r.type]:r}))}function Cn(t){var e=t.value,r=t.key,n=kn(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new xt(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new xt(r,e,'"glyphs" url must include a "{range}" token'))),n}function En(t,e){void 0===e&&(e=gt);var r=[];return r=r.concat(Bn({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Cn,"*":function(){return []}}})),t.constants&&(r=r.concat(bt({key:"constants",value:t.constants,style:t,styleSpec:e}))),Vn(r)}function Vn(t){return [].concat(t).sort((function(t,e){return t.line-e.line}))}function Tn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Vn(t.apply(this,e))}}En.source=Tn(In),En.light=Tn(Mn),En.terrain=Tn(zn),En.layer=Tn(An),En.filter=Tn(gn),En.paintProperty=Tn(wn),En.layoutProperty=Tn(_n);var Fn=En,On=Fn.light,Ln=Fn.paintProperty,Dn=Fn.layoutProperty;function jn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1)t.fire(new mt(new Error(i[n].message))),r=!0;return r}var Rn=function(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s));}var u=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly;}else {this.d=e+2*r;for(var l=0;l<this.d*this.d;l++)n.push([]);this.keys=[],this.bboxes=[];}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var p=r/e*t;this.min=-p,this.max=t+p;};Rn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i);},Rn.prototype._insertReadonly=function(){throw new Error("Cannot insert into a GridIndex created from an ArrayBuffer.")},Rn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a);},Rn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Rn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var u=this.cells[i];if(null!==u)for(var l=this.keys,p=this.bboxes,c=0;c<u.length;c++){var h=u[c];if(void 0===o[h]){var f=4*h;(s?s(p[f+0],p[f+1],p[f+2],p[f+3]):t<=p[f+2]&&e<=p[f+3]&&r>=p[f+0]&&n>=p[f+1])?(o[h]=!0,a.push(l[h])):o[h]=!1;}}},Rn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var u=this._convertToCellCoord(t),l=this._convertToCellCoord(e),p=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=u;h<=p;h++)for(var f=l;f<=c;f++){var y=this.d*f+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(f),this._convertFromCellCoord(h+1),this._convertFromCellCoord(f+1)))&&i.call(this,t,e,r,n,y,a,o,s))return}},Rn.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Rn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Rn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length;}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer},Rn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Rn.deserialize=function(t){return new Rn(t.buffer)};var Un={};function qn(t,e,r){if(void 0===r&&(r={}),Un[t])throw new Error(t+" is already registered.");Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),Un[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]};}for(var Nn in qn("Object",Object),qn("TransferableGridIndex",Rn),qn("Color",Yt),qn("Error",Error),qn("AJAXError",it),qn("ResolvedImage",te),qn("StylePropertyFunction",Qr),qn("StyleExpression",Jr,{omit:["_evaluator"]}),qn("ZoomDependentExpression",Wr),qn("ZoomConstantExpression",Hr),qn("CompoundExpression",fe,{omit:["_evaluate"]}),zr)zr[Nn]._classRegistryKey||qn("Expression_"+Nn,zr[Nn]);function Zn(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}function Kn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob)return t;if(Zn(t))return e&&e.push(t),t;if(_(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof ImageData)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1)n.push(Kn(a[i],e));return n}if("object"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error("can't serialize object of unregistered class");if(!Un[s])throw new Error(s+" is not registered.");var u=o.serialize?o.serialize(t,e):{};if(o.serialize){if(e&&u===e[e.length-1])throw new Error("statically serialized object won't survive transfer of $name property")}else {for(var l in t)if(t.hasOwnProperty(l)&&!(Un[s].omit.indexOf(l)>=0)){var p=t[l];u[l]=Un[s].shallow.indexOf(l)>=0?p:Kn(p,e);}t instanceof Error&&(u.message=t.message);}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return "Object"!==s&&(u.$name=s),u}throw new Error("can't serialize object of type "+typeof t)}function Gn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||Zn(t)||_(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Gn);if("object"==typeof t){var e=t.$name||"Object";if(!Un[e])throw new Error("can't deserialize unregistered class "+e);var r=Un[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if("$name"!==o){var s=t[o];n[o]=Un[e].shallow.indexOf(o)>=0?s:Gn(s);}}return n}throw new Error("can't deserialize object of type "+typeof t)}var Jn=function(){this.first=!0;};Jn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Xn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function Yn(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return !0;return !1}function Hn(t){return !(746!==t&&747!==t&&(t<4352||!(Xn["Bopomofo Extended"](t)||Xn.Bopomofo(t)||Xn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Xn["CJK Compatibility Ideographs"](t)||Xn["CJK Compatibility"](t)||Xn["CJK Radicals Supplement"](t)||Xn["CJK Strokes"](t)||!(!Xn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Xn["CJK Unified Ideographs Extension A"](t)||Xn["CJK Unified Ideographs"](t)||Xn["Enclosed CJK Letters and Months"](t)||Xn["Hangul Compatibility Jamo"](t)||Xn["Hangul Jamo Extended-A"](t)||Xn["Hangul Jamo Extended-B"](t)||Xn["Hangul Jamo"](t)||Xn["Hangul Syllables"](t)||Xn.Hiragana(t)||Xn["Ideographic Description Characters"](t)||Xn.Kanbun(t)||Xn["Kangxi Radicals"](t)||Xn["Katakana Phonetic Extensions"](t)||Xn.Katakana(t)&&12540!==t||!(!Xn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Xn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Xn["Unified Canadian Aboriginal Syllabics"](t)||Xn["Unified Canadian Aboriginal Syllabics Extended"](t)||Xn["Vertical Forms"](t)||Xn["Yijing Hexagram Symbols"](t)||Xn["Yi Syllables"](t)||Xn["Yi Radicals"](t))))}function Wn(t){return !(Hn(t)||function(t){return !!(Xn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Xn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Xn["Letterlike Symbols"](t)||Xn["Number Forms"](t)||Xn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Xn["Control Pictures"](t)&&9251!==t||Xn["Optical Character Recognition"](t)||Xn["Enclosed Alphanumerics"](t)||Xn["Geometric Shapes"](t)||Xn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Xn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Xn["CJK Symbols and Punctuation"](t)||Xn.Katakana(t)||Xn["Private Use Area"](t)||Xn["CJK Compatibility Forms"](t)||Xn["Small Form Variants"](t)||Xn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function $n(t){return t>=1424&&t<=2303||Xn["Arabic Presentation Forms-A"](t)||Xn["Arabic Presentation Forms-B"](t)}function Qn(t,e){return !(!e&&$n(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Xn.Khmer(t))}function ti(t){for(var e=0,r=t;e<r.length;e+=1)if($n(r[e].charCodeAt(0)))return !0;return !1}var ei="deferred",ri="loading",ni="loaded",ii=null,ai="unavailable",oi=null,si=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(ai="error"),ii&&ii(t);};function ui(){li.fire(new dt("pluginStateChange",{pluginStatus:ai,pluginURL:oi}));}var li=new vt,pi=function(){return ai},ci=function(){if(ai!==ei||!oi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");ai=ri,ui(),oi&&pt({url:oi},(function(t){t?si(t):(ai=ni,ui());}));},hi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ai===ni||null!=hi.applyArabicShaping},isLoading:function(){return ai===ri},setState:function(t){if(!g())throw new Error("Cannot set the state of the rtl-text-plugin when not in the web-worker context");ai=t.pluginStatus,oi=t.pluginURL;},isParsed:function(){if(!g())throw new Error("rtl-text-plugin is only parsed on the worker-threads");return null!=hi.applyArabicShaping&&null!=hi.processBidirectionalText&&null!=hi.processStyledBidirectionalText},getPluginURL:function(){if(!g())throw new Error("rtl-text-plugin url can only be queried from the worker threads");return oi}},fi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Jn,this.transition={});};fi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Qn(n[r].charCodeAt(0),e))return !1;return !0}(t,hi.isLoaded())},fi.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},fi.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var yi=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(jr(t))return new Qr(t,e);if(Xr(t)){var r=$r(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return "color"===e.type&&"string"==typeof t?n=Yt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)||(n=Qt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification);};yi.prototype.isDataDriven=function(){return "source"===this.expression.kind||"composite"===this.expression.kind},yi.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var di=function(t){this.property=t,this.value=new yi(t,void 0);};di.prototype.transitioned=function(t,e){return new vi(this.property,this.value,e,s({},t.transition,this.transition),t.now)},di.prototype.untransitioned=function(){return new vi(this.property,this.value,null,{},0)};var mi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);};mi.prototype.getValue=function(t){return f(this._values[t].value.value)},mi.prototype.setValue=function(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new di(this._values[t].property)),this._values[t].value=new yi(this._values[t].property,null===e?void 0:f(e));},mi.prototype.getTransition=function(t){return f(this._values[t].transition)},mi.prototype.setTransition=function(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new di(this._values[t].property)),this._values[t].transition=f(e)||void 0;},mi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+"-transition"]=a);}return t},mi.prototype.transitioned=function(t,e){for(var r=new gi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a]);}return r},mi.prototype.untransitioned=function(){for(var t=new gi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned();}return t};var vi=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);};vi.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var gi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);};gi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new wi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n},gi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return !0;return !1};var xi=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);};xi.prototype.getValue=function(t){return f(this._values[t].value)},xi.prototype.setValue=function(t,e){this._values[t]=new yi(this._values[t].property,null===e?void 0:f(e));},xi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);}return t},xi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new wi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n};var bi=function(t,e,r){this.property=t,this.value=e,this.parameters=r;};bi.prototype.isConstant=function(){return "constant"===this.value.kind},bi.prototype.constantOr=function(t){return "constant"===this.value.kind?this.value.value:t},bi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var wi=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);};wi.prototype.get=function(t){return this._values[t]};var _i=function(t){this.specification=t;};_i.prototype.possiblyEvaluate=function(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)},_i.prototype.interpolate=function(t,e,r){var n=Ue[this.specification.type];return n?n(t,e,r):t};var Ai=function(t,e){this.specification=t,this.overrides=e;};Ai.prototype.possiblyEvaluate=function(t,e,r,n){return new bi(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},Ai.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new bi(this,{kind:"constant",value:void 0},t.parameters);var n=Ue[this.specification.type];return n?new bi(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},Ai.prototype.evaluate=function(t,e,r,n,i,a){return "constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var ki=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new bi(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new bi(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new bi(this,{kind:"constant",value:s},e)}return new bi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if("source"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return "composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Ai),Si=function(t){this.specification=t;};Si.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new fi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new fi(Math.floor(e.zoom),e)),t.expression.evaluate(new fi(Math.floor(e.zoom+1),e)),e)}},Si.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Si.prototype.interpolate=function(t){return t};var Ii=function(t){this.specification=t;};Ii.prototype.possiblyEvaluate=function(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)},Ii.prototype.interpolate=function(){return !1};var Mi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new yi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new di(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}};qn("DataDrivenProperty",Ai),qn("DataConstantProperty",_i),qn("CrossFadedDataDrivenProperty",ki),qn("CrossFadedProperty",Si),qn("ColorRampProperty",Ii);var zi="-transition",Pi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return !0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new xi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new mi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new wi(r.paint);}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return "visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(Dn,"layers."+this.id+".layout."+t,t,e,r)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);},e.prototype.getPaintProperty=function(t){return p(t,zi)?this._transitionablePaint.getTransition(t.slice(0,-zi.length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Ln,"layers."+this.id+".paint."+t,t,e,r))return !1;if(p(t,zi))return this._transitionablePaint.setTransition(t.slice(0,-zi.length),e||void 0),!1;var n=this._transitionablePaint._values[t],i="cross-faded-data-driven"===n.property.specification["property-type"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return !1},e.prototype.isHidden=function(t){return !!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),h(t,(function(t,e){return !(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&jn(this,t.call(Fn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:gt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return !1},e.prototype.isTileClipped=function(){return !1},e.prototype.hasOffscreenPass=function(){return !1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof bi&&Fr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return !0}return !1},e}(vt),Bi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ci=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;},Ei=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0);};function Vi(t,e){void 0===e&&(e=1);var r=0,n=0;return {members:t.map((function(t){var i=Bi[t.type].BYTES_PER_ELEMENT,a=r=Ti(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:Ti(r,Math.max(n,e)),alignment:e}}function Ti(t,e){return Math.ceil(t/e)*e}Ei.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Ei.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Ei.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());},Ei.prototype.clear=function(){this.length=0;},Ei.prototype.resize=function(t){this.reserve(t),this.length=t;},Ei.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}},Ei.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Fi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Ei);Fi.prototype.bytesPerElement=4,qn("StructArrayLayout2i4",Fi);var Oi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Ei);Oi.prototype.bytesPerElement=8,qn("StructArrayLayout4i8",Oi);var Li=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Ei);Li.prototype.bytesPerElement=12,qn("StructArrayLayout2i4i12",Li);var Di=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,u=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,t},e}(Ei);Di.prototype.bytesPerElement=8,qn("StructArrayLayout2i4ub8",Di);var ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Ei);ji.prototype.bytesPerElement=8,qn("StructArrayLayout2f8",ji);var Ri=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l){var p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,o,s,u,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p){var c=10*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=i,this.uint16[c+4]=a,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=u,this.uint16[c+8]=l,this.uint16[c+9]=p,t},e}(Ei);Ri.prototype.bytesPerElement=20,qn("StructArrayLayout10ui20",Ri);var Ui=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,u,l,p,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=u,this.int16[f+8]=l,this.int16[f+9]=p,this.int16[f+10]=c,this.int16[f+11]=h,t},e}(Ei);Ui.prototype.bytesPerElement=24,qn("StructArrayLayout4i4ui4i24",Ui);var qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Ei);qi.prototype.bytesPerElement=12,qn("StructArrayLayout3f12",qi);var Ni=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(Ei);Ni.prototype.bytesPerElement=4,qn("StructArrayLayout1ul4",Ni);var Zi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,i,a,o,s,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l){var p=10*t,c=5*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.int16[p+4]=a,this.int16[p+5]=o,this.uint32[c+3]=s,this.uint16[p+8]=u,this.uint16[p+9]=l,t},e}(Ei);Zi.prototype.bytesPerElement=20,qn("StructArrayLayout6i1ul2ui20",Zi);var Ki=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Ei);Ki.prototype.bytesPerElement=12,qn("StructArrayLayout2i2i2i12",Ki);var Gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Ei);Gi.prototype.bytesPerElement=16,qn("StructArrayLayout2f1f2i16",Gi);var Ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Ei);Ji.prototype.bytesPerElement=12,qn("StructArrayLayout2ub2f12",Ji);var Xi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Ei);Xi.prototype.bytesPerElement=6,qn("StructArrayLayout3ui6",Xi);var Yi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v){var g=24*t,x=12*t,b=48*t;return this.int16[g+0]=e,this.int16[g+1]=r,this.uint16[g+2]=n,this.uint16[g+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[g+10]=u,this.uint16[g+11]=l,this.uint16[g+12]=p,this.float32[x+7]=c,this.float32[x+8]=h,this.uint8[b+36]=f,this.uint8[b+37]=y,this.uint8[b+38]=d,this.uint32[x+10]=m,this.int16[g+22]=v,t},e}(Ei);Yi.prototype.bytesPerElement=48,qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Yi);var Hi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,k,S,I,M){var z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,k,S,I,M)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,k,S,I,M,z){var P=34*t,B=17*t;return this.int16[P+0]=e,this.int16[P+1]=r,this.int16[P+2]=n,this.int16[P+3]=i,this.int16[P+4]=a,this.int16[P+5]=o,this.int16[P+6]=s,this.int16[P+7]=u,this.uint16[P+8]=l,this.uint16[P+9]=p,this.uint16[P+10]=c,this.uint16[P+11]=h,this.uint16[P+12]=f,this.uint16[P+13]=y,this.uint16[P+14]=d,this.uint16[P+15]=m,this.uint16[P+16]=v,this.uint16[P+17]=g,this.uint16[P+18]=x,this.uint16[P+19]=b,this.uint16[P+20]=w,this.uint16[P+21]=_,this.uint16[P+22]=A,this.uint32[B+12]=k,this.float32[B+13]=S,this.float32[B+14]=I,this.float32[B+15]=M,this.float32[B+16]=z,t},e}(Ei);Hi.prototype.bytesPerElement=68,qn("StructArrayLayout8i15ui1ul4f68",Hi);var Wi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(Ei);Wi.prototype.bytesPerElement=4,qn("StructArrayLayout1f4",Wi);var $i=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Ei);$i.prototype.bytesPerElement=6,qn("StructArrayLayout3i6",$i);var Qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(Ei);Qi.prototype.bytesPerElement=8,qn("StructArrayLayout1ul2ui8",Qi);var ta=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Ei);ta.prototype.bytesPerElement=4,qn("StructArrayLayout2ui4",ta);var ea=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(Ei);ea.prototype.bytesPerElement=2,qn("StructArrayLayout1ui2",ea);var ra=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Ei);ra.prototype.bytesPerElement=16,qn("StructArrayLayout4f16",ra);var na=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new I(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ci);na.prototype.size=20;var ia=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new na(this,t)},e}(Zi);qn("CollisionBoxArray",ia);var aa=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t;},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t;},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t;},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ci);aa.prototype.size=48;var oa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new aa(this,t)},e}(Yi);qn("PlacedSymbolArray",oa);var sa=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t;},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ci);sa.prototype.size=68;var ua=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new sa(this,t)},e}(Hi);qn("SymbolInstanceArray",ua);var la=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Wi);qn("GlyphOffsetArray",la);var pa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}($i);qn("SymbolLineVertexArray",pa);var ca=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ci);ca.prototype.size=8;var ha=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ca(this,t)},e}(Qi);qn("FeatureIndexArray",ha);var fa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fi),ya=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Oi),da=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fi),ma=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fi),va=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Li),ga=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Di),xa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(ji),ba=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Ri),wa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Ui),_a=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(qi),Aa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Ni),ka=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Ki),Sa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Gi),Ia=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Ji),Ma=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Xi),za=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Xi),Pa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(ta),Ba=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(ea),Ca=Vi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ea=function(t){void 0===t&&(t=[]),this.segments=t;};function Va(t,e){return 256*(t=a(Math.floor(t),0,255))+a(Math.floor(e),0,255)}Ea.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Ea.MAX_VERTEX_ARRAY_LENGTH&&d("Max vertices per segment is "+Ea.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Ea.prototype.get=function(){return this.segments},Ea.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy();}},Ea.simpleSegment=function(t,e,r,n){return new Ea([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Ea.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,qn("SegmentVector",Ea);var Ta=Vi([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]),Fa={exports:{}},Oa={exports:{}};Oa.exports=function(t,e){var r,n,i,a,o,s,u,l;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,l=0;l<n;)u=255&t.charCodeAt(l)|(255&t.charCodeAt(++l))<<8|(255&t.charCodeAt(++l))<<16|(255&t.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=u=(65535&(u=(u=(65535&u)*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(u=0,r){case 3:u^=(255&t.charCodeAt(l+2))<<16;case 2:u^=(255&t.charCodeAt(l+1))<<8;case 1:i^=u=(65535&(u=(u=(65535&(u^=255&t.charCodeAt(l)))*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var La={exports:{}};La.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var Da=Oa.exports,ja=La.exports;Fa.exports=Da,Fa.exports.murmur3=Da,Fa.exports.murmur2=ja;var Ra=function(){this.ids=[],this.positions=[],this.indexed=!1;};function Ua(t){var e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:Fa.exports(String(t))}function qa(t,e,r,n){for(;r<n;){for(var i=t[r+n>>1],a=r-1,o=n+1;;){do{a++;}while(t[a]<i);do{o--;}while(t[o]>i);if(a>=o)break;Na(t,a,o),Na(e,3*a,3*o),Na(e,3*a+1,3*o+1),Na(e,3*a+2,3*o+2);}o-r<n-o?(qa(t,e,r,o),r=o+1):(qa(t,e,o+1,n),n=o);}}function Na(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}Ra.prototype.add=function(t,e,r,n){this.ids.push(Ua(t)),this.positions.push(e,r,n);},Ra.prototype.getPositions=function(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");for(var e=Ua(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1;}for(var a=[];this.ids[r]===e;)a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return a},Ra.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return qa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},Ra.deserialize=function(t){var e=new Ra;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e},qn("FeaturePositionMap",Ra);var Za=function(t,e){this.gl=t.gl,this.location=e;},Ka=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));},e}(Za),Ga=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t));},e}(Za),Ja=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));},e}(Za),Xa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));},e}(Za),Ya=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]));},e}(Za),Ha=function(t){function e(e,r){t.call(this,e,r),this.current=Yt.transparent;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a));},e}(Za),Wa=new Float32Array(16),$a=function(t){function e(e,r){t.call(this,e,r),this.current=Wa;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Za);function Qa(t){return [Va(255*t.r,255*t.g),Va(255*t.b,255*t.a)]}var to=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return "u_"+t})),this.type=r;};to.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value));},to.prototype.getBinding=function(t,e,r){return "color"===this.type?new Ha(t,e):new Ga(t,e)};var eo=function(t,e){this.uniformNames=e.map((function(t){return "u_"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;};eo.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;},eo.prototype.setUniform=function(t,e,r,n){var i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i);},eo.prototype.getBinding=function(t,e,r){return "u_pattern"===r.substr(0,9)?new Ya(t,e):new Ga(t,e)};var ro=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}})),this.paintVertexArray=new n;};ro.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new fi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);},ro.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);},ro.prototype._setPaintValue=function(t,e,r){if("color"===this.type)for(var n=Qa(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else {for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r));}},ro.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},ro.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();};var no=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return "u_"+t+"_t"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}})),this.paintVertexArray=new a;};no.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new fi(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new fi(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o);},no.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);},no.prototype._setPaintValue=function(t,e,r,n){if("color"===this.type)for(var i=Qa(r),a=Qa(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else {for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n));}},no.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},no.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();},no.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=a(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n);},no.prototype.getBinding=function(t,e,r){return new Ga(t,e)};var io=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i;};io.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r);},io.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i);},io.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio);}},io.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,Ta.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,Ta.members,this.expression.isStateDependent));},io.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy();};var ao=function(t,e,r){this.binders={},this._buffers=[];var n=[];for(var i in t.paint._values)if(r(i)){var a=t.paint.get(i);if(a instanceof bi&&Fr(a.property.specification)){var o=so(i,t.type),s=a.value,u=a.property.specification.type,l=a.property.useIntegerZoom,p=a.property.specification["property-type"],c="cross-faded"===p||"cross-faded-data-driven"===p;if("constant"===s.kind)this.binders[i]=c?new eo(s.value,o):new to(s.value,o,u),n.push("/u_"+i);else if("source"===s.kind||c){var h=uo(i,u,"source");this.binders[i]=c?new io(s,u,l,e,h,t.id):new ro(s,o,u,h),n.push("/a_"+i);}else {var f=uo(i,u,"composite");this.binders[i]=new no(s,o,u,l,e,f),n.push("/z_"+i);}}}this.cacheKey=n.sort().join("");};ao.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof ro||e instanceof no?e.maxValue:0},ao.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof ro||o instanceof no||o instanceof io)&&o.populatePaintArray(t,e,r,n,i);}},ao.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof eo&&n.setConstantPatternPositions(t,e);}},ao.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,u=e.getPositions(o);s<u.length;s+=1){var l=u[s],p=r.feature(l.index);for(var c in this.binders){var h=this.binders[c];if((h instanceof ro||h instanceof no||h instanceof io)&&!0===h.expression.isStateDependent){var f=n.paint.get(c);h.expression=f.value,h.updatePaintArray(l.start,l.end,p,t[o],i),a=!0;}}}return a},ao.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof to||r instanceof eo)&&t.push.apply(t,r.uniformNames.map((function(t){return "#define HAS_UNIFORM_"+t})));}return t},ao.prototype.getBinderAttributes=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof ro||r instanceof no)for(var n=0;n<r.paintVertexAttributes.length;n++)t.push(r.paintVertexAttributes[n].name);else if(r instanceof io)for(var i=0;i<Ta.members.length;i++)t.push(Ta.members[i].name);}return t},ao.prototype.getBinderUniforms=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof to||r instanceof eo||r instanceof no)for(var n=0,i=r.uniformNames;n<i.length;n+=1)t.push(i[n]);}return t},ao.prototype.getPaintVertexBuffers=function(){return this._buffers},ao.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof to||i instanceof eo||i instanceof no)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var u=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:u});}}}return r},ao.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,u=o.property;this.binders[u].setUniform(o.binding,n,r.get(u),s);}},ao.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof io){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n);}else (r instanceof ro||r instanceof no)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer);}},ao.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof ro||r instanceof no||r instanceof io)&&r.upload(t);}this.updatePaintBuffers();},ao.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof ro||e instanceof no||e instanceof io)&&e.destroy();}};var oo=function(t,e,r){void 0===r&&(r=function(){return !0}),this.programConfigurations={};for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.programConfigurations[a.id]=new ao(a,e,r);}this.needsUpload=!1,this._featureMap=new Ra,this._bufferOffset=0;};function so(t,e){return {"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function uo(t,e,r){var n={color:{source:ji,composite:ra},number:{source:Wi,composite:ji}},i=function(t){return {"line-pattern":{source:ba,composite:ba},"fill-pattern":{source:ba,composite:ba},"fill-extrusion-pattern":{source:ba,composite:ba}}[t]}(t);return i&&i[r]||n[e][r]}oo.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;},oo.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload;}},oo.prototype.get=function(t){return this.programConfigurations[t]},oo.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}},oo.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy();},qn("ConstantBinder",to),qn("CrossFadedConstantBinder",eo),qn("SourceExpressionBinder",ro),qn("CrossFadedCompositeBinder",io),qn("CompositeExpressionBinder",no),qn("ProgramConfiguration",ao,{omit:["_buffers"]}),qn("ProgramConfigurationSet",oo);var lo=8192,po=Math.pow(2,14)-1,co=-po-1;function ho(t){for(var e=lo/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],o=0;o<i.length;o++){var s=i[o],u=Math.round(s.x*e),l=Math.round(s.y*e);s.x=a(u,co,po),s.y=a(l,co,po),(u<s.x||u>s.x+1||l<s.y||l>s.y+1)&&d("Geometry exceeds allowed extent, reduce your vector tile buffer size");}return r}function fo(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?ho(t):[]}}function yo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}var mo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new da,this.indexArray=new za,this.segments=new Ea,this.programConfigurations=new oo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function vo(t,e){for(var r=0;r<t.length;r++)if(Io(e,t[r]))return !0;for(var n=0;n<e.length;n++)if(Io(t,e[n]))return !0;return !!wo(t,e)}function go(t,e,r){return !!Io(t,e)||!!Ao(e,t,r)}function xo(t,e){if(1===t.length)return So(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Io(t,n[i]))return !0;for(var a=0;a<t.length;a++)if(So(e,t[a]))return !0;for(var o=0;o<e.length;o++)if(wo(t,e[o]))return !0;return !1}function bo(t,e,r){if(t.length>1){if(wo(t,e))return !0;for(var n=0;n<e.length;n++)if(Ao(e[n],t,r))return !0}for(var i=0;i<t.length;i++)if(Ao(t[i],e,r))return !0;return !1}function wo(t,e){if(0===t.length||0===e.length)return !1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(_o(n,i,e[a],e[a+1]))return !0;return !1}function _o(t,e,r,n){return m(t,r,n)!==m(e,r,n)&&m(t,e,r)!==m(t,e,n)}function Ao(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(ko(t,e[i-1],e[i])<n)return !0;return !1}function ko(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function So(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,u=(r=t[o]).length-1;s<r.length;u=s++)(n=r[s]).y>e.y!=(i=r[u]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Io(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r);}return r}function Mo(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return !1;var a=m(t,e,r[0]);return a!==m(t,e,r[1])||a!==m(t,e,r[2])||a!==m(t,e,r[3])}function zo(t,e,r){var n=e.paint.get(t).value;return "constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Po(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Bo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var a=I.convert(e)._mult(i);"viewport"===r&&a._rotate(-n);for(var o=[],s=0;s<t.length;s++)o.push(t[s].sub(a));return o}mo.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null,o=!1;"circle"===n.type&&(o=!(a=n.layout.get("circle-sort-key")).isConstant());for(var s=0,u=t;s<u.length;s+=1){var l=u[s],p=l.feature,c=l.id,h=l.index,f=l.sourceLayerIndex,y=this.layers[0]._featureFilter.needGeometry,d=fo(p,y);if(this.layers[0]._featureFilter.filter(new fi(this.zoom),d,r)){var m=o?a.evaluate(d,{},r):void 0,v={id:c,properties:p.properties,type:p.type,sourceLayerIndex:f,index:h,geometry:y?d.geometry:ho(p),patterns:{},sortKey:m};i.push(v);}}o&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,x=i;g<x.length;g+=1){var b=x[g],w=b.geometry,_=b.index,A=b.sourceLayerIndex,k=t[_].feature;this.addFeature(b,w,_,r),e.featureIndex.insert(k,w,_,A,this.index);}},mo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},mo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},mo.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},mo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},mo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},mo.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var u=s[o],l=u.x,p=u.y;if(!(l<0||l>=lo||p<0||p>=lo)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=c.vertexLength;yo(this.layoutVertexArray,l,p,-1,-1),yo(this.layoutVertexArray,l,p,1,-1),yo(this.layoutVertexArray,l,p,1,1),yo(this.layoutVertexArray,l,p,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),c.vertexLength+=4,c.primitiveLength+=2;}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);},qn("CircleBucket",mo,{omit:["layers"]});var Co=new Mi({"circle-sort-key":new Ai(gt.layout_circle["circle-sort-key"])}),Eo={paint:new Mi({"circle-radius":new Ai(gt.paint_circle["circle-radius"]),"circle-color":new Ai(gt.paint_circle["circle-color"]),"circle-blur":new Ai(gt.paint_circle["circle-blur"]),"circle-opacity":new Ai(gt.paint_circle["circle-opacity"]),"circle-translate":new _i(gt.paint_circle["circle-translate"]),"circle-translate-anchor":new _i(gt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new _i(gt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new _i(gt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Ai(gt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Ai(gt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Ai(gt.paint_circle["circle-stroke-opacity"])}),layout:Co},Vo=1e-6,To="undefined"!=typeof Float32Array?Float32Array:Array;function Fo(){var t=new To(9);return To!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Oo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Lo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],d=e[12],m=e[13],v=e[14],g=e[15],x=r[0],b=r[1],w=r[2],_=r[3];return t[0]=x*n+b*s+w*c+_*d,t[1]=x*i+b*u+w*h+_*m,t[2]=x*a+b*l+w*f+_*v,t[3]=x*o+b*p+w*y+_*g,t[4]=(x=r[4])*n+(b=r[5])*s+(w=r[6])*c+(_=r[7])*d,t[5]=x*i+b*u+w*h+_*m,t[6]=x*a+b*l+w*f+_*v,t[7]=x*o+b*p+w*y+_*g,t[8]=(x=r[8])*n+(b=r[9])*s+(w=r[10])*c+(_=r[11])*d,t[9]=x*i+b*u+w*h+_*m,t[10]=x*a+b*l+w*f+_*v,t[11]=x*o+b*p+w*y+_*g,t[12]=(x=r[12])*n+(b=r[13])*s+(w=r[14])*c+(_=r[15])*d,t[13]=x*i+b*u+w*h+_*m,t[14]=x*a+b*l+w*f+_*v,t[15]=x*o+b*p+w*y+_*g,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var Do,jo=Lo;function Ro(){var t=new To(3);return To!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Uo(t,e,r){var n=new To(3);return n[0]=t,n[1]=e,n[2]=r,n}function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}function No(){var t=new To(4);return To!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}Ro(),Do=new To(4),To!=Float32Array&&(Do[0]=0,Do[1]=0,Do[2]=0,Do[3]=0),Ro(),Uo(1,0,0),Uo(0,1,0),No(),No(),Fo(),function(){var t;t=new To(2),To!=Float32Array&&(t[0]=0,t[1]=0);}();var Zo=function(t){function e(e){t.call(this,e,Eo);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new mo(t)},e.prototype.queryRadius=function(t){var e=t;return zo("circle-radius",this,e)+zo("circle-stroke-width",this,e)+Po(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var u=Bo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),l=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),p="map"===this.paint.get("circle-pitch-alignment"),c=p?u:function(t,e){return t.map((function(t){return Ko(t,e)}))}(u,s),h=p?l*o:l,f=0,y=n;f<y.length;f+=1)for(var d=0,m=y[f];d<m.length;d+=1){var v=m[d],g=p?v:Ko(v,s),x=h,b=qo([],[v.x,v.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=a.cameraToCenterDistance/b[3]),go(c,g,x))return !0}return !1},e}(Pi);function Ko(t,e){var r=qo([],[t.x,t.y,0,1],e);return new I(r[0]/r[3],r[1]/r[3])}var Go=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(mo);qn("HeatmapBucket",Go,{omit:["layers"]});var Jo={paint:new Mi({"heatmap-radius":new Ai(gt.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Ai(gt.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new _i(gt.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Ii(gt.paint_heatmap["heatmap-color"]),"heatmap-opacity":new _i(gt.paint_heatmap["heatmap-opacity"])})};function Xo(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError("mismatched image size. expected: "+n.length+" but got: "+i*a*r)}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function Yo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=Xo({},{width:n,height:i},r);Ho(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data;}}function Ho(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");var o=t.data,s=e.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(var u=0;u<i.height;u++)for(var l=((r.y+u)*t.width+r.x)*a,p=((n.y+u)*e.width+n.x)*a,c=0;c<i.width*a;c++)s[p+c]=o[l+c];return e}var Wo=function(t,e){Xo(this,t,1,e);};Wo.prototype.resize=function(t){Yo(this,t,1);},Wo.prototype.clone=function(){return new Wo({width:this.width,height:this.height},new Uint8Array(this.data))},Wo.copy=function(t,e,r,n,i){Ho(t,e,r,n,i,1);};var $o=function(t,e){Xo(this,t,4,e);};function Qo(t){var e={},r=t.resolution||256,n=t.clips?t.clips.length:1,i=t.image||new $o({width:r,height:n});if(Math.log(r)/Math.LN2%1!=0)throw new Error("width is not a power of 2 - "+r);var a=function(r,n,a){e[t.evaluationKey]=a;var o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a);};if(t.clips)for(var o=0,s=0;o<n;++o,s+=4*r)for(var u=0,l=0;u<r;u++,l+=4){var p=u/(r-1),c=t.clips[o];a(s,l,c.start*(1-p)+c.end*p);}else for(var h=0,f=0;h<r;h++,f+=4)a(0,f,h/(r-1));return i}$o.prototype.resize=function(t){Yo(this,t,4);},$o.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t;},$o.prototype.clone=function(){return new $o({width:this.width,height:this.height},new Uint8Array(this.data))},$o.copy=function(t,e,r,n,i){Ho(t,e,r,n,i,4);},qn("AlphaImage",Wo),qn("RGBAImage",$o);var ts=function(t){function e(e){t.call(this,e,Jo),this._updateColorRamp();}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Go(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp();},e.prototype._updateColorRamp=function(){this.colorRamp=Qo({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null;},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Pi),es={paint:new Mi({"hillshade-illumination-direction":new _i(gt.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new _i(gt.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new _i(gt.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new _i(gt.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new _i(gt.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new _i(gt.paint_hillshade["hillshade-accent-color"])})},rs=function(t){function e(e){t.call(this,e,es);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Pi),ns=Vi([{name:"a_pos",components:2,type:"Int16"}],4).members,is={exports:{}};function as(t,e,r){r=r||2;var n,i,a,o,s,u,l,p=e&&e.length,c=p?e[0]*r:t.length,h=os(t,0,c,r,!0),f=[];if(!h||h.next===h.prev)return f;if(p&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=os(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(vs(o));for(s.sort(fs),i=0;i<s.length;i++)r=ys(s[i],r);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var y=r;y<c;y+=r)(s=t[y])<n&&(n=s),(u=t[y+1])<i&&(i=u),s>a&&(a=s),u>o&&(o=u);l=0!==(l=Math.max(a-n,o-i))?32767/l:0;}return us(h,f,r,n,i,l,0),f}function os(t,e,r,n,i){var a,o;if(i===Bs(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Ms(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Ms(a,t[a],t[a+1],o);return o&&ws(o,o.next)&&(zs(o),o=o.next),o}function ss(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!ws(n,n.next)&&0!==bs(n.prev,n,n.next))n=n.next;else {if(zs(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function us(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,u,l=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<l&&(s++,n=n.nextZ);e++);for(u=l;s>0||u>0&&n;)0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,l*=2;}while(o>1)}(i);}(t,n,i,a);for(var s,u,l=t;t.prev!==t.next;)if(s=t.prev,u=t.next,a?ps(t,n,i,a):ls(t))e.push(s.i/r|0),e.push(t.i/r|0),e.push(u.i/r|0),zs(t),t=u.next,l=u.next;else if((t=u)===l){o?1===o?us(t=cs(ss(t),e,r),e,r,n,i,a,2):2===o&&hs(t,e,r,n,i,a):us(ss(t),e,r,n,i,a,1);break}}}function ls(t){var e=t.prev,r=t,n=t.next;if(bs(e,r,n)>=0)return !1;for(var i=e.x,a=r.x,o=n.x,s=e.y,u=r.y,l=n.y,p=i<a?i<o?i:o:a<o?a:o,c=s<u?s<l?s:l:u<l?u:l,h=i>a?i>o?i:o:a>o?a:o,f=s>u?s>l?s:l:u>l?u:l,y=n.next;y!==e;){if(y.x>=p&&y.x<=h&&y.y>=c&&y.y<=f&&gs(i,s,a,u,o,l,y.x,y.y)&&bs(y.prev,y,y.next)>=0)return !1;y=y.next;}return !0}function ps(t,e,r,n){var i=t.prev,a=t,o=t.next;if(bs(i,a,o)>=0)return !1;for(var s=i.x,u=a.x,l=o.x,p=i.y,c=a.y,h=o.y,f=s<u?s<l?s:l:u<l?u:l,y=p<c?p<h?p:h:c<h?c:h,d=s>u?s>l?s:l:u>l?u:l,m=p>c?p>h?p:h:c>h?c:h,v=ms(f,y,e,r,n),g=ms(d,m,e,r,n),x=t.prevZ,b=t.nextZ;x&&x.z>=v&&b&&b.z<=g;){if(x.x>=f&&x.x<=d&&x.y>=y&&x.y<=m&&x!==i&&x!==o&&gs(s,p,u,c,l,h,x.x,x.y)&&bs(x.prev,x,x.next)>=0)return !1;if(x=x.prevZ,b.x>=f&&b.x<=d&&b.y>=y&&b.y<=m&&b!==i&&b!==o&&gs(s,p,u,c,l,h,b.x,b.y)&&bs(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;x&&x.z>=v;){if(x.x>=f&&x.x<=d&&x.y>=y&&x.y<=m&&x!==i&&x!==o&&gs(s,p,u,c,l,h,x.x,x.y)&&bs(x.prev,x,x.next)>=0)return !1;x=x.prevZ;}for(;b&&b.z<=g;){if(b.x>=f&&b.x<=d&&b.y>=y&&b.y<=m&&b!==i&&b!==o&&gs(s,p,u,c,l,h,b.x,b.y)&&bs(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function cs(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!ws(i,a)&&_s(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(a.i/r|0),zs(n),zs(n.next),n=t=a),n=n.next;}while(n!==t);return ss(n)}function hs(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&xs(o,s)){var u=Is(o,s);return o=ss(o,o.next),u=ss(u,u.next),us(o,e,r,n,i,a,0),void us(u,e,r,n,i,a,0)}s=s.next;}o=o.next;}while(o!==t)}function fs(t,e){return t.x-e.x}function ys(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x<n.next.x?n:n.next,s===i))return r}n=n.next;}while(n!==e);if(!r)return null;var u,l=r,p=r.x,c=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=p&&i!==n.x&&gs(a<c?i:o,a,p,c,a<c?o:i,a,n.x,n.y)&&(u=Math.abs(a-n.y)/(i-n.x),Ss(n,t)&&(u<h||u===h&&(n.x>r.x||n.x===r.x&&ds(r,n)))&&(r=n,h=u)),n=n.next;}while(n!==l);return r}(t,e);if(!r)return e;var n=Is(r,t);return ss(n,n.next),ss(r,r.next)}function ds(t,e){return bs(t.prev,t,e.prev)<0&&bs(e.next,t,t.next)<0}function ms(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function vs(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;}while(e!==t);return r}function gs(t,e,r,n,i,a,o,s){return (i-o)*(e-s)>=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function xs(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&_s(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(bs(t.prev,t,e.prev)||bs(t,e.prev,e))||ws(t,e)&&bs(t.prev,t,t.next)>0&&bs(e.prev,e,e.next)>0)}function bs(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ws(t,e){return t.x===e.x&&t.y===e.y}function _s(t,e,r,n){var i=ks(bs(t,e,r)),a=ks(bs(t,e,n)),o=ks(bs(r,n,t)),s=ks(bs(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ks(t){return t>0?1:t<0?-1:0}function Ss(t,e){return bs(t.prev,t,t.next)<0?bs(t,e,t.next)>=0&&bs(t,t.prev,e)>=0:bs(t,e,t.prev)<0||bs(t,t.next,e)<0}function Is(t,e){var r=new Ps(t.i,t.x,t.y),n=new Ps(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ms(t,e,r,n){var i=new Ps(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function zs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function Ps(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function Bs(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function Cs(t,e,r,n,i){Es(t,e,r||0,n||t.length-1,i||Ts);}function Es(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),u=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*u*(a-u)/a)*(o-a/2<0?-1:1);Es(t,e,Math.max(r,Math.floor(e-o*u/a+l)),Math.min(n,Math.floor(e+(a-o)*u/a+l)),i);}var p=t[e],c=r,h=n;for(Vs(t,r,e),i(t[n],p)>0&&Vs(t,r,n);c<h;){for(Vs(t,c,h),c++,h--;i(t[c],p)<0;)c++;for(;i(t[h],p)>0;)h--;}0===i(t[r],p)?Vs(t,r,h):Vs(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1);}}function Vs(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function Ts(t,e){return t<e?-1:t>e?1:0}function Fs(t,e){var r=t.length;if(r<=1)return [t];for(var n,i,a=[],o=0;o<r;o++){var s=v(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]));}if(n&&a.push(n),e>1)for(var u=0;u<a.length;u++)a[u].length<=e||(Cs(a[u],e,1,a[u].length-1,Os),a[u]=a[u].slice(0,e));return a}function Os(t,e){return e.area-t.area}function Ls(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+"-pattern");s.isConstant()||(i=!0);var u=s.constantOr(null);u&&(i=!0,n[u.to]=!0,n[u.from]=!0);}return i}function Ds(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var u=s[o],l=u.paint.get(t+"-pattern").value;if("constant"!==l.kind){var p=l.evaluate({zoom:n-1},r,{},i.availableImages),c=l.evaluate({zoom:n},r,{},i.availableImages),h=l.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,h=h&&h.name?h.name:h,a[p=p&&p.name?p.name:p]=!0,a[c]=!0,a[h]=!0,r.patterns[u.id]={min:p,mid:c,max:h};}}return r}is.exports=as,is.exports.default=as,as.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Bs(t,0,i?e[0]*r:t.length,r));if(i)for(var o=0,s=e.length;o<s;o++)a-=Math.abs(Bs(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var u=0;for(o=0;o<n.length;o+=3){var l=n[o]*r,p=n[o+1]*r,c=n[o+2]*r;u+=Math.abs((t[l]-t[c])*(t[p+1]-t[l+1])-(t[l]-t[p])*(t[c+1]-t[l+1]));}return 0===a&&0===u?0:Math.abs((u-a)/a)},as.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&r.holes.push(n+=t[i-1].length);}return r};var js=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ma,this.indexArray=new za,this.indexArray2=new Pa,this.programConfigurations=new oo(t.layers,t.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};js.prototype.populate=function(t,e,r){this.hasPattern=Ls("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[],o=0,s=t;o<s.length;o+=1){var u=s[o],l=u.feature,p=u.id,c=u.index,h=u.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,y=fo(l,f);if(this.layers[0]._featureFilter.filter(new fi(this.zoom),y,r)){var d=i?n.evaluate(y,{},r,e.availableImages):void 0,m={id:p,properties:l.properties,type:l.type,sourceLayerIndex:h,index:c,geometry:f?y.geometry:ho(l),patterns:{},sortKey:d};a.push(m);}}i&&a.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,g=a;v<g.length;v+=1){var x=g[v],b=x.geometry,w=x.index,_=x.sourceLayerIndex;if(this.hasPattern){var A=Ds("fill",this.layers,x,this.zoom,e);this.patternFeatures.push(A);}else this.addFeature(x,b,w,r,{});e.featureIndex.insert(t[w].feature,b,w,_,this.index);}},js.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},js.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},js.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},js.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},js.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ns),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;},js.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());},js.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Fs(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1)u+=p[l].length;for(var c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray),h=c.vertexLength,f=[],y=[],d=0,m=s;d<m.length;d+=1){var v=m[d];if(0!==v.length){v!==s[0]&&y.push(f.length/2);var g=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=g.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),f.push(v[0].x),f.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),f.push(v[b].x),f.push(v[b].y);g.vertexLength+=v.length,g.primitiveLength+=v.length;}}for(var w=is.exports(f,y),_=0;_<w.length;_+=3)this.indexArray.emplaceBack(h+w[_],h+w[_+1],h+w[_+2]);c.vertexLength+=u,c.primitiveLength+=w.length/3;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},qn("FillBucket",js,{omit:["layers","patternFeatures"]});var Rs=new Mi({"fill-sort-key":new Ai(gt.layout_fill["fill-sort-key"])}),Us={paint:new Mi({"fill-antialias":new _i(gt.paint_fill["fill-antialias"]),"fill-opacity":new Ai(gt.paint_fill["fill-opacity"]),"fill-color":new Ai(gt.paint_fill["fill-color"]),"fill-outline-color":new Ai(gt.paint_fill["fill-outline-color"]),"fill-translate":new _i(gt.paint_fill["fill-translate"]),"fill-translate-anchor":new _i(gt.paint_fill["fill-translate-anchor"]),"fill-pattern":new ki(gt.paint_fill["fill-pattern"])}),layout:Rs},qs=function(t){function e(e){t.call(this,e,Us);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values["fill-outline-color"];"constant"===n.value.kind&&void 0===n.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"]);},e.prototype.createBucket=function(t){return new js(t)},e.prototype.queryRadius=function(){return Po(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return xo(Bo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),n)},e.prototype.isTileClipped=function(){return !0},e}(Pi),Ns=Vi([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),Zs=Vi([{name:"a_centroid",components:2,type:"Int16"}],4),Ks=Ns.members,Gs={},Js=I,Xs=Ys;function Ys(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(Hs,this,e);}function Hs(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i;}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos);}function Ws(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y);return n}Ys.types=["Unknown","Point","LineString","Polygon"],Ys.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(i<=0){var u=t.readVarint();n=7&u,i=u>>3;}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new Js(a,o));else {if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone());}}return e&&s.push(e),s},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,u=1/0,l=-1/0;t.pos<e;){if(n<=0){var p=t.readVarint();r=7&p,n=p>>3;}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<u&&(u=a),a>l&&(l=a);else if(7!==r)throw new Error("unknown command "+r)}return [o,u,s,l]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,u=this.loadGeometry(),l=Ys.types[this.type];function p(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90];}}switch(this.type){case 1:var c=[];for(n=0;n<u.length;n++)c[n]=u[n][0];p(u=c);break;case 2:for(n=0;n<u.length;n++)p(u[n]);break;case 3:for(u=function(t){var e=t.length;if(e<=1)return [t];for(var r,n,i=[],a=0;a<e;a++){var o=Ws(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]));}return r&&i.push(r),i}(u),n=0;n<u.length;n++)for(i=0;i<u[n].length;i++)p(u[n][i]);}1===u.length?u=u[0]:l="Multi"+l;var h={type:"Feature",geometry:{type:l,coordinates:u},properties:this.properties};return "id"in this&&(h.id=this.id),h};var $s=Xs,Qs=tu;function tu(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(eu,this,e),this.length=this._features.length;}function eu(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}tu.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new $s(this._pbf,e,this.extent,this._keys,this._values)};var ru=Qs;function nu(t,e,r){if(3===t){var n=new ru(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}Gs.VectorTile=function(t,e){this.layers=t.readFields(nu,{},e);},Gs.VectorTileFeature=Xs,Gs.VectorTileLayer=Qs;var iu=Gs.VectorTileFeature.types,au=Math.pow(2,13);function ou(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*au)+o,i*au*2,a*au*2,Math.round(s));}var su=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new va,this.centroidVertexArray=new fa,this.indexArray=new za,this.programConfigurations=new oo(t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function uu(t,e){return t.x===e.x&&(t.x<0||t.x>lo)||t.y===e.y&&(t.y<0||t.y>lo)}su.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ls("fill-extrusion",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,u=a.index,l=a.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,c=fo(o,p);if(this.layers[0]._featureFilter.filter(new fi(this.zoom),c,r)){var h={id:s,sourceLayerIndex:l,index:u,geometry:p?c.geometry:ho(o),properties:o.properties,type:o.type,patterns:{}};this.hasPattern?this.features.push(Ds("fill-extrusion",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,u,r,{}),e.featureIndex.insert(o,h.geometry,u,l,this.index,!0);}}},su.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},su.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},su.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length},su.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},su.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ks),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,Zs.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},su.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());},su.prototype.addFeature=function(t,e,r,n,i){for(var a={x:0,y:0,vertexCount:0},o=0,s=Fs(e,500);o<s.length;o+=1){for(var u=s[o],l=0,p=0,c=u;p<c.length;p+=1)l+=c[p].length;for(var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),f=0,y=u;f<y.length;f+=1){var d=y[f];if(0!==d.length&&!((V=d).every((function(t){return t.x<0}))||V.every((function(t){return t.x>lo}))||V.every((function(t){return t.y<0}))||V.every((function(t){return t.y>lo}))))for(var m=0,v=0;v<d.length;v++){var g=d[v];if(v>=1){var x=d[v-1];if(!uu(g,x)){h.vertexLength+4>Ea.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var b=g.sub(x)._perp()._unit(),w=x.dist(g);m+w>32768&&(m=0),ou(this.layoutVertexArray,g.x,g.y,b.x,b.y,0,0,m),ou(this.layoutVertexArray,g.x,g.y,b.x,b.y,0,1,m),a.x+=2*g.x,a.y+=2*g.y,a.vertexCount+=2,ou(this.layoutVertexArray,x.x,x.y,b.x,b.y,0,0,m+=w),ou(this.layoutVertexArray,x.x,x.y,b.x,b.y,0,1,m),a.x+=2*x.x,a.y+=2*x.y,a.vertexCount+=2;var _=h.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),h.vertexLength+=4,h.primitiveLength+=2;}}}}if(h.vertexLength+l>Ea.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===iu[t.type]){for(var A=[],k=[],S=h.vertexLength,I=0,M=u;I<M.length;I+=1){var z=M[I];if(0!==z.length){z!==u[0]&&k.push(A.length/2);for(var P=0;P<z.length;P++){var B=z[P];ou(this.layoutVertexArray,B.x,B.y,0,0,1,1,0),a.x+=B.x,a.y+=B.y,a.vertexCount+=1,A.push(B.x),A.push(B.y);}}}for(var C=is.exports(A,k),E=0;E<C.length;E+=3)this.indexArray.emplaceBack(S+C[E],S+C[E+2],S+C[E+1]);h.primitiveLength+=C.length/3,h.vertexLength+=l;}}for(var V,T=0;T<a.vertexCount;T++)this.centroidVertexArray.emplaceBack(Math.floor(a.x/a.vertexCount),Math.floor(a.y/a.vertexCount));this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},qn("FillExtrusionBucket",su,{omit:["layers","features"]});var lu={paint:new Mi({"fill-extrusion-opacity":new _i(gt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Ai(gt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new _i(gt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new _i(gt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ki(gt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Ai(gt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Ai(gt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new _i(gt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},pu=function(t){function e(e){t.call(this,e,lu);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new su(t)},e.prototype.queryRadius=function(){return Po(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return !0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){var u=Bo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,o),l=this.paint.get("fill-extrusion-height").evaluate(e,r),p=this.paint.get("fill-extrusion-base").evaluate(e,r),c=function(t,e,r,n){for(var i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=[s.x,s.y,0,1];qo(u,u,e),i.push(new I(u[0]/u[3],u[1]/u[3]));}return i}(u,s),h=function(t,e,r,n){for(var i=[],a=[],o=n[8]*e,s=n[9]*e,u=n[10]*e,l=n[11]*e,p=n[8]*r,c=n[9]*r,h=n[10]*r,f=n[11]*r,y=0,d=t;y<d.length;y+=1){for(var m=[],v=[],g=0,x=d[y];g<x.length;g+=1){var b=x[g],w=b.x,_=b.y,A=n[0]*w+n[4]*_+n[12],k=n[1]*w+n[5]*_+n[13],S=n[2]*w+n[6]*_+n[14],M=n[3]*w+n[7]*_+n[15],z=S+u,P=M+l,B=A+p,C=k+c,E=S+h,V=M+f,T=new I((A+o)/P,(k+s)/P);T.z=z/P,m.push(T);var F=new I(B/V,C/V);F.z=E/V,v.push(F);}i.push(m),a.push(v);}return [i,a]}(n,p,l,s);return function(t,e,r){var n=1/0;xo(r,e)&&(n=hu(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var u=a[s],l=[u,a[s+1],o[s+1],o[s],u];vo(r,l)&&(n=Math.min(n,hu(r,l)));}return n!==1/0&&n}(h[0],h[1],c)},e}(Pi);function cu(t,e){return t.x*e.x+t.y*e.y}function hu(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),u=a.sub(i),l=o.sub(i),p=cu(s,s),c=cu(s,u),h=cu(u,u),f=cu(l,s),y=cu(l,u),d=p*h-c*c,m=(h*f-c*y)/d,v=(p*y-c*f)/d,g=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(g))return g}return 1/0}for(var x=1/0,b=0,w=e;b<w.length;b+=1)x=Math.min(x,w[b].z);return x}var fu=Vi([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,yu=Vi([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]).members,du=Gs.VectorTileFeature.types,mu=Math.cos(Math.PI/180*37.5),vu=Math.pow(2,14)/.5,gu=function(t){var e=this;this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((function(t){e.gradients[t.id]={};})),this.layoutVertexArray=new ga,this.layoutVertexArray2=new xa,this.indexArray=new za,this.programConfigurations=new oo(t.layers,t.zoom),this.segments=new Ea,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};gu.prototype.populate=function(t,e,r){this.hasPattern=Ls("line",this.layers,e);for(var n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[],o=0,s=t;o<s.length;o+=1){var u=s[o],l=u.feature,p=u.id,c=u.index,h=u.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,y=fo(l,f);if(this.layers[0]._featureFilter.filter(new fi(this.zoom),y,r)){var d=i?n.evaluate(y,{},r):void 0,m={id:p,properties:l.properties,type:l.type,sourceLayerIndex:h,index:c,geometry:f?y.geometry:ho(l),patterns:{},sortKey:d};a.push(m);}}i&&a.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,g=a;v<g.length;v+=1){var x=g[v],b=x.geometry,w=x.index,_=x.sourceLayerIndex;if(this.hasPattern){var A=Ds("line",this.layers,x,this.zoom,e);this.patternFeatures.push(A);}else this.addFeature(x,b,w,r,{});e.featureIndex.insert(t[w].feature,b,w,_,this.index);}},gu.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},gu.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},gu.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},gu.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},gu.prototype.upload=function(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,yu)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,fu),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},gu.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},gu.prototype.lineFeatureClips=function(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}},gu.prototype.addFeature=function(t,e,r,n,i){var a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),u=a.get("line-miter-limit"),l=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(var p=0,c=e;p<c.length;p+=1)this.addLine(c[p],t,o,s,u,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},gu.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance);}for(var s="Polygon"===du[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var l=0;l<u-1&&t[l].equals(t[l+1]);)l++;if(!(u<(s?3:2))){"bevel"===r&&(i=1.05);var p,c,h,f,y,d=this.overscaling<=16?122880/(512*this.overscaling):0,m=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray);this.e1=this.e2=-1,s&&(y=t[l].sub(p=t[u-2])._unit()._perp());for(var v=l;v<u;v++)if(!(h=v===u-1?s?t[l+1]:void 0:t[v+1])||!t[v].equals(h)){y&&(f=y),p&&(c=p),p=t[v],y=h?h.sub(p)._unit()._perp():f;var g=(f=f||y).add(y);0===g.x&&0===g.y||g._unit();var x=f.x*y.x+f.y*y.y,b=g.x*y.x+g.y*y.y,w=0!==b?1/b:1/0,_=2*Math.sqrt(2-2*b),A=b<mu&&c&&h,k=f.x*y.y-f.y*y.x>0;if(A&&v>l){var S=p.dist(c);if(S>2*d){var I=p.sub(p.sub(c)._mult(d/S)._round());this.updateDistance(c,I),this.addCurrentVertex(I,f,0,0,m),c=I;}}var M=c&&h,z=M?r:s?"butt":n;if(M&&"round"===z&&(w<a?z="miter":w<=2&&(z="fakeround")),"miter"===z&&w>i&&(z="bevel"),"bevel"===z&&(w>2&&(z="flipbevel"),w<i&&(z="miter")),c&&this.updateDistance(c,p),"miter"===z)g._mult(w),this.addCurrentVertex(p,g,0,0,m);else if("flipbevel"===z){if(w>100)g=y.mult(-1);else {var P=w*f.add(y).mag()/f.sub(y).mag();g._perp()._mult(P*(k?-1:1));}this.addCurrentVertex(p,g,0,0,m),this.addCurrentVertex(p,g.mult(-1),0,0,m);}else if("bevel"===z||"fakeround"===z){var B=-Math.sqrt(w*w-1),C=k?B:0,E=k?0:B;if(c&&this.addCurrentVertex(p,f,C,E,m),"fakeround"===z)for(var V=Math.round(180*_/Math.PI/20),T=1;T<V;T++){var F=T/V;if(.5!==F){var O=F-.5;F+=F*O*(F-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*O*O+(.848013+x*(.215638*x-1.06021)));}var L=y.sub(f)._mult(F)._add(f)._unit()._mult(k?-1:1);this.addHalfVertex(p,L.x,L.y,!1,k,0,m);}h&&this.addCurrentVertex(p,y,-C,-E,m);}else if("butt"===z)this.addCurrentVertex(p,g,0,0,m);else if("square"===z){var D=c?1:-1;this.addCurrentVertex(p,g,D,D,m);}else "round"===z&&(c&&(this.addCurrentVertex(p,f,0,0,m),this.addCurrentVertex(p,f,1,1,m,!0)),h&&(this.addCurrentVertex(p,y,-1,-1,m,!0),this.addCurrentVertex(p,y,0,0,m)));if(A&&v<u-1){var j=p.dist(h);if(j>2*d){var R=p.add(h.sub(p)._mult(d/j)._round());this.updateDistance(p,R),this.addCurrentVertex(R,y,0,0,m),p=R;}}}}},gu.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>vu/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));},gu.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*(this.lineClips?this.scaledDistance*(vu-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u;},gu.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;},gu.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance();},qn("LineBucket",gu,{omit:["layers","patternFeatures"]});var xu=new Mi({"line-cap":new _i(gt.layout_line["line-cap"]),"line-join":new Ai(gt.layout_line["line-join"]),"line-miter-limit":new _i(gt.layout_line["line-miter-limit"]),"line-round-limit":new _i(gt.layout_line["line-round-limit"]),"line-sort-key":new Ai(gt.layout_line["line-sort-key"])}),bu={paint:new Mi({"line-opacity":new Ai(gt.paint_line["line-opacity"]),"line-color":new Ai(gt.paint_line["line-color"]),"line-translate":new _i(gt.paint_line["line-translate"]),"line-translate-anchor":new _i(gt.paint_line["line-translate-anchor"]),"line-width":new Ai(gt.paint_line["line-width"]),"line-gap-width":new Ai(gt.paint_line["line-gap-width"]),"line-offset":new Ai(gt.paint_line["line-offset"]),"line-blur":new Ai(gt.paint_line["line-blur"]),"line-dasharray":new Si(gt.paint_line["line-dasharray"]),"line-pattern":new ki(gt.paint_line["line-pattern"]),"line-gradient":new Ii(gt.paint_line["line-gradient"])}),layout:xu},wu=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new fi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=s({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Ai),_u=new wu(bu.paint.properties["line-width"].specification);_u.useIntegerZoom=!0;var Au=function(t){function e(e){t.call(this,e,bu),this.gradientVersion=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&(this.stepInterpolant=this._transitionablePaint._values["line-gradient"].value.expression._styleExpression.expression instanceof je,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER);},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=_u.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e);},e.prototype.createBucket=function(t){return new gu(t)},e.prototype.queryRadius=function(t){var e=t,r=ku(zo("line-width",this,e),zo("line-gap-width",this,e)),n=zo("line-offset",this,e);return r/2+Math.abs(n)+Po(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){var s=Bo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),u=o/2*ku(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),l=this.paint.get("line-offset").evaluate(e,r);return l&&(n=function(t,e){for(var r=[],n=0;n<t.length;n++){for(var i=t[n],a=[],o=0;o<i.length;o++){var s=i[o-1],u=i[o],l=i[o+1],p=0===o?new I(0,0):u.sub(s)._unit()._perp(),c=o===i.length-1?new I(0,0):l.sub(u)._unit()._perp(),h=p._add(c)._unit(),f=h.x*c.x+h.y*c.y;0!==f&&h._mult(1/f),a.push(h._mult(e)._add(u));}r.push(a);}return r}(n,l*o)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(Io(t,i[a]))return !0;if(bo(t,i,r))return !0}return !1}(s,n,u)},e.prototype.isTileClipped=function(){return !0},e}(Pi);function ku(t,e){return e>0?e+2*t:t}var Su=Vi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Iu=Vi([{name:"a_projected_pos",components:3,type:"Float32"}],4);Vi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);var Mu=Vi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);Vi([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);var zu=Vi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Pu=Vi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Bu(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return "uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),hi.applyArabicShaping&&(t=hi.applyArabicShaping(t)),t}(t.text,e,r);})),t}Vi([{name:"triangle",components:3,type:"Uint16"}]),Vi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Vi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Vi([{type:"Float32",name:"offsetX"}]),Vi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Cu={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},Eu=24,Vu=Ou,Tu=function(t,e,r,n,i){var a,o,s=8*i-n-1,u=(1<<s)-1,l=u>>1,p=-7,c=r?i-1:0,h=r?-1:1,f=t[e+c];for(c+=h,a=f&(1<<-p)-1,f>>=-p,p+=s;p>0;a=256*a+t[e+c],c+=h,p-=8);for(o=a&(1<<-p)-1,a>>=-p,p+=n;p>0;o=256*o+t[e+c],c+=h,p-=8);if(0===a)a=1-l;else {if(a===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=l;}return (f?-1:1)*o*Math.pow(2,a-n)},Fu=function(t,e,r,n,i,a){var o,s,u,l=8*a-i-1,p=(1<<l)-1,c=p>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,y=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=p):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(o++,u/=2),o+c>=p?(s=0,o=p):o+c>=1?(s=(e*u-1)*Math.pow(2,i),o+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;t[r+f]=255&s,f+=y,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;t[r+f]=255&o,f+=y,o/=256,l-=8);t[r+f-y]|=128*d;};function Ou(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}Ou.Varint=0,Ou.Fixed64=1,Ou.Bytes=2,Ou.Fixed32=5;var Lu=4294967296,Du=1/Lu,ju="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Ru(t){return t.type===Ou.Bytes?t.readVarint()+t.pos:t.pos+1}function Uu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function qu(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function Nu(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r]);}function Zu(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r]);}function Ku(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r]);}function Gu(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r]);}function Ju(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r]);}function Xu(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r]);}function Yu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r]);}function Hu(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r]);}function Wu(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r]);}function $u(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function Qu(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function tl(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function el(t,e,r){1===t&&r.readMessage(rl,e);}function rl(t,e,r){if(3===t){var n=r.readMessage(nl,{}),i=n.width,a=n.height,o=n.left,s=n.top,u=n.advance;e.push({id:n.id,bitmap:new Wo({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:u}});}}function nl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}function il(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w);}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,u=0,l=0,p=t;l<p.length;l+=1)for(var c=p[l],h=o.length-1;h>=0;h--){var f=o[h];if(!(c.w>f.w||c.h>f.h)){if(c.x=f.x,c.y=f.y,u=Math.max(u,c.y+c.h),s=Math.max(s,c.x+c.w),c.w===f.w&&c.h===f.h){var y=o.pop();h<o.length&&(o[h]=y);}else c.h===f.h?(f.x+=c.w,f.w-=c.w):c.w===f.w?(f.y+=c.h,f.h-=c.h):(o.push({x:f.x+c.w,y:f.y,w:f.w-c.w,h:c.h}),f.y+=c.h,f.h-=c.h);break}}return {w:s,h:u,fill:e/(s*u)||0}}Ou.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=$u(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=tl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=$u(this.buf,this.pos)+$u(this.buf,this.pos+4)*Lu;return this.pos+=8,t},readSFixed64:function(){var t=$u(this.buf,this.pos)+tl(this.buf,this.pos+4)*Lu;return this.pos+=8,t},readFloat:function(){var t=Tu(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Tu(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Uu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Uu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Uu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Uu(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Uu(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Uu(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&ju?function(t,e,r){return ju.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i<r;){var a,o,s,u=t[i],l=null,p=u>239?4:u>223?3:u>191?2:1;if(i+p>r)break;1===p?u<128&&(l=u):2===p?128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)<=127&&(l=null):3===p?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((l=(15&u)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):4===p&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),null===l?(l=65533,p=1):l>65535&&(l-=65536,n+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),n+=String.fromCharCode(l),i+=p;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Ou.Bytes)return t.push(this.readVarint(e));var r=Ru(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==Ou.Bytes)return t.push(this.readSVarint());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==Ou.Bytes)return t.push(this.readBoolean());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==Ou.Bytes)return t.push(this.readFloat());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==Ou.Bytes)return t.push(this.readDouble());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==Ou.Bytes)return t.push(this.readFixed32());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==Ou.Bytes)return t.push(this.readSFixed32());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==Ou.Bytes)return t.push(this.readFixed64());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==Ou.Bytes)return t.push(this.readSFixed64());var e=Ru(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===Ou.Varint)for(;this.buf[this.pos++]>127;);else if(e===Ou.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Ou.Fixed32)this.pos+=4;else {if(e!==Ou.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e;}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),Qu(this.buf,t,this.pos),this.pos+=4;},writeSFixed32:function(t){this.realloc(4),Qu(this.buf,t,this.pos),this.pos+=4;},writeFixed64:function(t){this.realloc(8),Qu(this.buf,-1&t,this.pos),Qu(this.buf,Math.floor(t*Du),this.pos+4),this.pos+=8;},writeSFixed64:function(t){this.realloc(8),Qu(this.buf,-1&t,this.pos),Qu(this.buf,Math.floor(t*Du),this.pos+4),this.pos+=8;},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&qu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Fu(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Fu(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r];},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&qu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,Ou.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Nu,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Zu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Ju,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Ku,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Gu,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Xu,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Yu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Hu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Wu,e);},writeBytesField:function(t,e){this.writeTag(t,Ou.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,Ou.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,Ou.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,Ou.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,Ou.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,Ou.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,Ou.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,Ou.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,Ou.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,Ou.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var al=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n;},ol={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ol.tl.get=function(){return [this.paddedRect.x+1,this.paddedRect.y+1]},ol.br.get=function(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},ol.tlbr.get=function(){return this.tl.concat(this.br)},ol.displaySize.get=function(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(al.prototype,ol);var sl,ul=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=il(i),o=new $o({width:a.w||1,height:a.h||1});for(var s in t){var u=t[s],l=r[s].paddedRect;$o.copy(u.data,o,{x:0,y:0},{x:l.x+1,y:l.y+1},u.data);}for(var p in e){var c=e[p],h=n[p].paddedRect,f=h.x+1,y=h.y+1,d=c.data.width,m=c.data.height;$o.copy(c.data,o,{x:0,y:0},{x:f,y:y},c.data),$o.copy(c.data,o,{x:0,y:m-1},{x:f,y:y-1},{width:d,height:1}),$o.copy(c.data,o,{x:0,y:0},{x:f,y:y+m},{width:d,height:1}),$o.copy(c.data,o,{x:d-1,y:0},{x:f-1,y:y},{width:1,height:m}),$o.copy(c.data,o,{x:0,y:0},{x:f+d,y:y},{width:1,height:m});}this.image=o,this.iconPositions=r,this.patternPositions=n;};ul.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new al(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}},ul.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);},ul.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]});}},qn("ImagePosition",al),qn("ImageAtlas",ul),t.WritingMode=void 0,(sl=t.WritingMode||(t.WritingMode={}))[sl.none=0]="none",sl[sl.horizontal=1]="horizontal",sl[sl.vertical=2]="vertical",sl[sl.horizontalOnly=3]="horizontalOnly";var ll=-17,pl=function(){this.scale=1,this.fontStack="",this.imageName=null;};pl.forText=function(t,e){var r=new pl;return r.scale=t||1,r.fontStack=e,r},pl.forImage=function(t){var e=new pl;return e.imageName=t,e};var cl=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;};function hl(e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m){var v,g=cl.fromFeature(e,a);h===t.WritingMode.vertical&&g.verticalizePunctuation();var x=hi.processBidirectionalText,b=hi.processStyledBidirectionalText;if(x&&1===g.sections.length){v=[];for(var w=0,_=x(g.toString(),bl(g,p,o,r,i,y,d));w<_.length;w+=1){var A=_[w],k=new cl;k.text=A,k.sections=g.sections;for(var S=0;S<A.length;S++)k.sectionIndex.push(0);v.push(k);}}else if(b){v=[];for(var I=0,M=b(g.text,g.sectionIndex,bl(g,p,o,r,i,y,d));I<M.length;I+=1){var z=M[I],P=new cl;P.text=z[0],P.sectionIndex=z[1],P.sections=g.sections,v.push(P);}}else v=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s;}return i<n.length&&r.push(t.substring(i,n.length)),r}(g,bl(g,p,o,r,i,y,d));var B=[],C={positionedLines:B,text:g.toString(),top:c[1],bottom:c[1],left:c[0],right:c[0],writingMode:h,iconsInText:!1,verticalizable:!1};return function(e,r,n,i,a,o,s,u,l,p,c,h){for(var f=0,y=ll,d=0,m=0,v="right"===u?1:"left"===u?0:.5,g=0,x=0,b=a;x<b.length;x+=1){var w=b[x];w.trim();var _=w.getMaxScale(),A=(_-1)*Eu,k={positionedGlyphs:[],lineOffset:0};e.positionedLines[g]=k;var S=k.positionedGlyphs,I=0;if(w.length()){for(var M=0;M<w.length();M++){var z=w.getSection(M),P=w.getSectionIndex(M),B=w.getCharCode(M),C=0,E=null,V=null,T=null,F=Eu,O=!(l===t.WritingMode.horizontal||!c&&!Hn(B)||c&&(fl[B]||(K=B,Xn.Arabic(K)||Xn["Arabic Supplement"](K)||Xn["Arabic Extended-A"](K)||Xn["Arabic Presentation Forms-A"](K)||Xn["Arabic Presentation Forms-B"](K))));if(z.imageName){var L=i[z.imageName];if(!L)continue;T=z.imageName,e.iconsInText=e.iconsInText||!0,V=L.paddedRect;var D=L.displaySize;z.scale=z.scale*Eu/h,C=A+(Eu-D[1]*z.scale),F=(E={width:D[0],height:D[1],left:1,top:-3,advance:O?D[1]:D[0]}).advance;var j=O?D[0]*z.scale-Eu*_:D[1]*z.scale-Eu*_;j>0&&j>I&&(I=j);}else {var R=n[z.fontStack],U=R&&R[B];if(U&&U.rect)V=U.rect,E=U.metrics;else {var q=r[z.fontStack],N=q&&q[B];if(!N)continue;E=N.metrics;}C=(_-z.scale)*Eu;}O?(e.verticalizable=!0,S.push({glyph:B,imageName:T,x:f,y:y+C,vertical:O,scale:z.scale,fontStack:z.fontStack,sectionIndex:P,metrics:E,rect:V}),f+=F*z.scale+p):(S.push({glyph:B,imageName:T,x:f,y:y+C,vertical:O,scale:z.scale,fontStack:z.fontStack,sectionIndex:P,metrics:E,rect:V}),f+=E.advance*z.scale+p);}0!==S.length&&(d=Math.max(f-p,d),_l(S,0,S.length-1,v,I)),f=0;var Z=o*_+I;k.lineOffset=Math.max(I,A),y+=Z,m=Math.max(Z,m),++g;}else y+=o,++g;}var K,G=y-ll,J=wl(s),X=J.horizontalAlign,Y=J.verticalAlign;((function(t,e,r,n,i,a,o,s,u){var l,p=(e-r)*i;l=a!==o?-s*n-ll:(-n*u+.5)*o;for(var c=0,h=t;c<h.length;c+=1)for(var f=0,y=h[c].positionedGlyphs;f<y.length;f+=1){var d=y[f];d.x+=p,d.y+=l;}}))(e.positionedLines,v,X,Y,d,m,o,G,a.length),e.top+=-Y*G,e.bottom=e.top+G,e.left+=-X*d,e.right=e.left+d;}(C,r,n,i,v,s,u,l,h,p,f,m),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return !1;return !0}(B)&&C}cl.fromFeature=function(t,e){for(var r=new cl,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e);}return r},cl.prototype.length=function(){return this.text.length},cl.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},cl.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},cl.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},cl.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Wn(n)&&!Cu[t[r+1]]||i&&Wn(i)&&!Cu[t[r-1]]||!Cu[t[r]]?t[r]:Cu[t[r]];}return e}(this.text);},cl.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&fl[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&fl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r);},cl.prototype.substring=function(t,e){var r=new cl;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},cl.prototype.toString=function(){return this.text},cl.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},cl.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(pl.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r);},cl.prototype.addImageSection=function(t){var e=t.image?t.image.name:"";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(pl.forImage(e)),this.sectionIndex.push(this.sections.length-1)):d("Reached maximum number of images 6401");}else d("Can't add FormattedSection with an empty image.");},cl.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var fl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},yl={};function dl(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Eu/a+i:0}var s=r[e.fontStack],u=s&&s[t];return u?u.metrics.advance*e.scale+i:0}function ml(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function vl(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function gl(t,e,r,n,i,a){for(var o=null,s=ml(e,r,i,a),u=0,l=n;u<l.length;u+=1){var p=l[u],c=ml(e-p.x,r,i,a)+p.badness;c<=s&&(o=p,s=c);}return {index:t,x:e,priorBreak:o,badness:s}}function xl(t){return t?xl(t.priorBreak).concat(t.index):[]}function bl(t,e,r,n,i,a,o){if("point"!==a)return [];if(!t)return [];for(var s,u=[],l=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var u=t.getSection(s);o+=dl(t.getCharCode(s),u,n,i,e,a);}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),p=t.text.indexOf("")>=0,c=0,h=0;h<t.length();h++){var f=t.getSection(h),y=t.getCharCode(h);if(fl[y]||(c+=dl(y,f,n,i,e,o)),h<t.length()-1){var d=!((s=y)<11904||!(Xn["Bopomofo Extended"](s)||Xn.Bopomofo(s)||Xn["CJK Compatibility Forms"](s)||Xn["CJK Compatibility Ideographs"](s)||Xn["CJK Compatibility"](s)||Xn["CJK Radicals Supplement"](s)||Xn["CJK Strokes"](s)||Xn["CJK Symbols and Punctuation"](s)||Xn["CJK Unified Ideographs Extension A"](s)||Xn["CJK Unified Ideographs"](s)||Xn["Enclosed CJK Letters and Months"](s)||Xn["Halfwidth and Fullwidth Forms"](s)||Xn.Hiragana(s)||Xn["Ideographic Description Characters"](s)||Xn["Kangxi Radicals"](s)||Xn["Katakana Phonetic Extensions"](s)||Xn.Katakana(s)||Xn["Vertical Forms"](s)||Xn["Yi Radicals"](s)||Xn["Yi Syllables"](s)));(yl[y]||d||f.imageName)&&u.push(gl(h+1,c,l,u,vl(y,t.getCharCode(h+1),d&&p),!1));}}return xl(gl(t.length(),c,l,u,0,!0))}function wl(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0;}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0;}return {horizontalAlign:e,verticalAlign:r}}function _l(t,e,r,n,i){if(n||i)for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=i;}function Al(t,e,r,n,i,a){var o,s=t.image;if(s.content){var u=s.content,l=s.pixelRatio||1;o=[u[0]/l,u[1]/l,s.displaySize[0]-u[2]/l,s.displaySize[1]-u[3]/l];}var p,c,h,f,y=e.left*a,d=e.right*a;"width"===r||"both"===r?(f=i[0]+y-n[3],c=i[0]+d+n[1]):c=(f=i[0]+(y+d-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return "height"===r||"both"===r?(p=i[1]+m-n[0],h=i[1]+v+n[2]):h=(p=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:p,right:c,bottom:h,left:f,collisionPadding:o}}yl[10]=!0,yl[32]=!0,yl[38]=!0,yl[40]=!0,yl[41]=!0,yl[43]=!0,yl[45]=!0,yl[47]=!0,yl[173]=!0,yl[183]=!0,yl[8203]=!0,yl[8208]=!0,yl[8211]=!0,yl[8231]=!0;var kl=128;function Sl(t,e){var r=e.expression;if("constant"===r.kind)return {kind:"constant",layoutSize:r.evaluate(new fi(t+1))};if("source"===r.kind)return {kind:"source"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],u=n[o];return "composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:u,interpolationType:i}:{kind:"camera",minZoom:s,maxZoom:u,minSize:r.evaluate(new fi(s)),maxSize:r.evaluate(new fi(u)),interpolationType:i}}var Il=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(I);function Ml(t,e,r,n,i){if(void 0===e.segment)return !0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return !1;s-=t[o].dist(a),a=t[o];}s+=t[o].dist(t[o+1]),o++;for(var u=[],l=0;s<r/2;){var p=t[o],c=t[o+1];if(!c)return !1;var h=t[o-1].angleTo(p)-p.angleTo(c);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),u.push({distance:s,angleDelta:h}),l+=h;s-u[0].distance>n;)l-=u.shift().angleDelta;if(l>i)return !1;o++,s+=p.dist(c);}return !0}function zl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Pl(t,e,r){return t?.6*e*r:0}function Bl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Cl(t,e,r,n,i,a){for(var o=Pl(r,i,a),s=Bl(r,n)*a,u=0,l=zl(t)/2,p=0;p<t.length-1;p++){var c=t[p],h=t[p+1],f=c.dist(h);if(u+f>l){var y=(l-u)/f,d=Re(c.x,h.x,y),m=Re(c.y,h.y,y),v=new Il(d,m,h.angleTo(c),p);return v._round(),!o||Ml(t,v,s,o,e)?v:void 0}u+=f;}}function El(t,e,r,n,i,a,o,s,u){var l=Pl(n,a,o),p=Bl(n,i),c=p*o,h=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;return e-c<e/4&&(e=c+e/4),Vl(t,h?e/2*s%e:(p/2+2*a)*o*s%e,e,l,r,c,h,!1,u)}function Vl(t,e,r,n,i,a,o,s,u){for(var l=a/2,p=zl(t),c=0,h=e-r,f=[],y=0;y<t.length-1;y++){for(var d=t[y],m=t[y+1],v=d.dist(m),g=m.angleTo(d);h+r<c+v;){var x=((h+=r)-c)/v,b=Re(d.x,m.x,x),w=Re(d.y,m.y,x);if(b>=0&&b<u&&w>=0&&w<u&&h-l>=0&&h+l<=p){var _=new Il(b,w,g,y);_._round(),n&&!Ml(t,_,a,n,i)||f.push(_);}}c+=v;}return s||f.length||o||(f=Vl(t,c/2,r,n,i,a,o,!0,u)),f}function Tl(t,e,r,n,i){for(var a=[],o=0;o<t.length;o++)for(var s=t[o],u=void 0,l=0;l<s.length-1;l++){var p=s[l],c=s[l+1];p.x<e&&c.x<e||(p.x<e?p=new I(e,p.y+(e-p.x)/(c.x-p.x)*(c.y-p.y))._round():c.x<e&&(c=new I(e,p.y+(e-p.x)/(c.x-p.x)*(c.y-p.y))._round()),p.y<r&&c.y<r||(p.y<r?p=new I(p.x+(r-p.y)/(c.y-p.y)*(c.x-p.x),r)._round():c.y<r&&(c=new I(p.x+(r-p.y)/(c.y-p.y)*(c.x-p.x),r)._round()),p.x>=n&&c.x>=n||(p.x>=n?p=new I(n,p.y+(n-p.x)/(c.x-p.x)*(c.y-p.y))._round():c.x>=n&&(c=new I(n,p.y+(n-p.x)/(c.x-p.x)*(c.y-p.y))._round()),p.y>=i&&c.y>=i||(p.y>=i?p=new I(p.x+(i-p.y)/(c.y-p.y)*(c.x-p.x),i)._round():c.y>=i&&(c=new I(p.x+(i-p.y)/(c.y-p.y)*(c.x-p.x),i)._round()),u&&p.equals(u[u.length-1])||a.push(u=[p]),u.push(c)))));}return a}function Fl(t,e,r,n){var i=[],a=t.image,o=a.pixelRatio,s=a.paddedRect.w-2,u=a.paddedRect.h-2,l=t.right-t.left,p=t.bottom-t.top,c=a.stretchX||[[0,s]],h=a.stretchY||[[0,u]],f=function(t,e){return t+e[1]-e[0]},y=c.reduce(f,0),d=h.reduce(f,0),m=s-y,v=u-d,g=0,x=y,b=0,w=d,_=0,A=m,k=0,S=v;if(a.content&&n){var M=a.content;g=Ol(c,0,M[0]),b=Ol(h,0,M[1]),x=Ol(c,M[0],M[2]),w=Ol(h,M[1],M[3]),_=M[0]-g,k=M[1]-b,A=M[2]-M[0]-x,S=M[3]-M[1]-w;}var z=function(n,i,s,u){var c=Dl(n.stretch-g,x,l,t.left),h=jl(n.fixed-_,A,n.stretch,y),f=Dl(i.stretch-b,w,p,t.top),m=jl(i.fixed-k,S,i.stretch,d),v=Dl(s.stretch-g,x,l,t.left),M=jl(s.fixed-_,A,s.stretch,y),z=Dl(u.stretch-b,w,p,t.top),P=jl(u.fixed-k,S,u.stretch,d),B=new I(c,f),C=new I(v,f),E=new I(v,z),V=new I(c,z),T=new I(h/o,m/o),F=new I(M/o,P/o),O=e*Math.PI/180;if(O){var L=Math.sin(O),D=Math.cos(O),j=[D,-L,L,D];B._matMult(j),C._matMult(j),V._matMult(j),E._matMult(j);}var R=n.stretch+n.fixed,U=i.stretch+i.fixed;return {tl:B,tr:C,bl:V,br:E,tex:{x:a.paddedRect.x+1+R,y:a.paddedRect.y+1+U,w:s.stretch+s.fixed-R,h:u.stretch+u.fixed-U},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:F,minFontScaleX:A/o/l,minFontScaleY:S/o/p,isSDF:r}};if(n&&(a.stretchX||a.stretchY))for(var P=Ll(c,m,y),B=Ll(h,v,d),C=0;C<P.length-1;C++)for(var E=P[C],V=P[C+1],T=0;T<B.length-1;T++)i.push(z(E,B[T],V,B[T+1]));else i.push(z({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:u+1}));return i}function Ol(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]));}return n}function Ll(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],u=o[1],l=n[n.length-1];n.push({fixed:s-l.stretch,stretch:l.stretch}),n.push({fixed:s-l.stretch,stretch:l.stretch+(u-s)});}return n.push({fixed:e+1,stretch:r}),n}function Dl(t,e,r,n){return t/e*r+n}function jl(t,e,r,n){return t-e*r/n}qn("Anchor",Il);var Rl=function(t,e,r,n,i,a,o,s,u,l){if(this.boxStartIndex=t.length,u){var p=a.top,c=a.bottom,h=a.collisionPadding;h&&(p-=h[1],c+=h[3]);var f=c-p;f>0&&(f=Math.max(10,f),this.circleDiameter=f);}else {var y=a.top*o-s[0],d=a.bottom*o+s[2],m=a.left*o-s[3],v=a.right*o+s[1],g=a.collisionPadding;if(g&&(m-=g[0]*o,y-=g[1]*o,v+=g[2]*o,d+=g[3]*o),l){var x=new I(m,y),b=new I(v,y),w=new I(m,d),_=new I(v,d),A=l*Math.PI/180;x._rotate(A),b._rotate(A),w._rotate(A),_._rotate(A),m=Math.min(x.x,b.x,w.x,_.x),v=Math.max(x.x,b.x,w.x,_.x),y=Math.min(x.y,b.y,w.y,_.y),d=Math.max(x.y,b.y,w.y,_.y);}t.emplaceBack(e.x,e.y,m,y,v,d,r,n,i);}this.boxEndIndex=t.length;},Ul=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=ql),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r);};function ql(t,e){return t<e?-1:t>e?1:0}function Nl(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,a=-1/0,o=-1/0,s=t[0],u=0;u<s.length;u++){var l=s[u];(!u||l.x<n)&&(n=l.x),(!u||l.y<i)&&(i=l.y),(!u||l.x>a)&&(a=l.x),(!u||l.y>o)&&(o=l.y);}var p=Math.min(a-n,o-i),c=p/2,h=new Ul([],Zl);if(0===p)return new I(n,i);for(var f=n;f<a;f+=p)for(var y=i;y<o;y+=p)h.push(new Kl(f+c,y+c,c,t));for(var d=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var u=i[a],l=i[s],p=u.x*l.y-l.x*u.y;r+=(u.x+l.x)*p,n+=(u.y+l.y)*p,e+=3*p;}return new Kl(r/e,n/e,0,t)}(t),m=h.length;h.length;){var v=h.pop();(v.d>d.d||!d.d)&&(d=v,r&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,m)),v.max-d.d<=e||(h.push(new Kl(v.p.x-(c=v.h/2),v.p.y-c,c,t)),h.push(new Kl(v.p.x+c,v.p.y-c,c,t)),h.push(new Kl(v.p.x-c,v.p.y+c,c,t)),h.push(new Kl(v.p.x+c,v.p.y+c,c,t)),m+=4);}return r&&(console.log("num probes: "+m),console.log("best distance: "+d.d)),d.p}function Zl(t,e){return e.max-t.max}function Kl(t,e,r,n){this.p=new I(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,u=s-1;o<s;u=o++){var l=a[o],p=a[u];l.y>t.y!=p.y>t.y&&t.x<(p.x-l.x)*(t.y-l.y)/(p.y-l.y)+l.x&&(r=!r),n=Math.min(n,ko(t,l,p));}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}Ul.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1);},Ul.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Ul.prototype.peek=function(){return this.data[0]},Ul.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;},Ul.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a;}e[t]=i;};var Gl=Number.POSITIVE_INFINITY;function Jl(t,e){return e[1]!==Gl?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r;}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7;}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e;}return [r,n]}(t,e[0])}function Xl(t){switch(t){case"right":case"top-right":case"bottom-right":return "right";case"left":case"top-left":case"bottom-left":return "left"}return "center"}var Yl=32640;function Hl(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y){var m=function(t,e,r,n,i,a,o,s){for(var u=n.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,l=[],p=0,c=e.positionedLines;p<c.length;p+=1)for(var h=c[p],f=0,y=h.positionedGlyphs;f<y.length;f+=1){var d=y[f];if(d.rect){var m=d.rect||{},v=4,g=!0,x=1,b=0,w=(i||s)&&d.vertical,_=d.metrics.advance*d.scale/2;if(s&&e.verticalizable&&(b=h.lineOffset/2-(d.imageName?-(Eu-d.metrics.width*d.scale)/2:(d.scale-1)*Eu)),d.imageName){var A=o[d.imageName];g=A.sdf,v=1/(x=A.pixelRatio);}var k=i?[d.x+_,d.y]:[0,0],S=i?[0,0]:[d.x+_+r[0],d.y+r[1]-b],M=[0,0];w&&(M=S,S=[0,0]);var z=(d.metrics.left-v)*d.scale-_+S[0],P=(-d.metrics.top-v)*d.scale+S[1],B=z+m.w*d.scale/x,C=P+m.h*d.scale/x,E=new I(z,P),V=new I(B,P),T=new I(z,C),F=new I(B,C);if(w){var O=new I(-_,_-ll),L=-Math.PI/2,D=12-_,j=new I(22-D,-(d.imageName?D:0)),R=new(Function.prototype.bind.apply(I,[null].concat(M)));E._rotateAround(L,O)._add(j)._add(R),V._rotateAround(L,O)._add(j)._add(R),T._rotateAround(L,O)._add(j)._add(R),F._rotateAround(L,O)._add(j)._add(R);}if(u){var U=Math.sin(u),q=Math.cos(u),N=[q,-U,U,q];E._matMult(N),V._matMult(N),T._matMult(N),F._matMult(N);}var Z=new I(0,0),K=new I(0,0);l.push({tl:E,tr:V,bl:T,br:F,tex:m,writingMode:e.writingMode,glyphOffset:k,sectionIndex:d.sectionIndex,isSDF:g,pixelOffsetTL:Z,pixelOffsetBR:K,minFontScaleX:0,minFontScaleY:0});}}return l}(0,r,s,i,a,o,n,t.allowVerticalPlacement),v=t.textSizeData,g=null;"source"===v.kind?(g=[kl*i.layout.get("text-size").evaluate(o,{})])[0]>Yl&&d(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===v.kind&&((g=[kl*f.compositeTextSizes[0].evaluate(o,{},y),kl*f.compositeTextSizes[1].evaluate(o,{},y)])[0]>Yl||g[1]>Yl)&&d(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),t.addSymbols(t.text,m,g,s,a,o,l,e,u.lineStartIndex,u.lineLength,h,y);for(var x=0,b=p;x<b.length;x+=1)c[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function Wl(t){for(var e in t)return t[e];return null}function $l(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return !0}else i[e]=[];return i[e].push(n),!1}var Ql=Gs.VectorTileFeature.types,tp=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function ep(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=s?Math.min(Yl,Math.round(s[0])):0,y=s?Math.min(Yl,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(f<<1)+(u?1:0),y,16*l,16*p,256*c,256*h);}function rp(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r);}function np(t){for(var e=0,r=t.sections;e<r.length;e+=1)if(ti(r[e].text))return !0;return !1}var ip=function(t){this.layoutVertexArray=new wa,this.indexArray=new za,this.programConfigurations=t,this.segments=new Ea,this.dynamicLayoutVertexArray=new _a,this.opacityVertexArray=new Aa,this.placedSymbolArray=new oa;};ip.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},ip.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Su.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Iu.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,tp,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));},ip.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy());},qn("SymbolBuffers",ip);var ap=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Ea,this.collisionVertexArray=new Ia;};ap.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Mu.members,!0);},ap.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy());},qn("CollisionBuffers",ap);var op=function(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Oo([]),this.placementViewportMatrix=Oo([]);var r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Sl(this.zoom,r["text-size"]),this.iconSizeData=Sl(this.zoom,r["icon-size"]);var n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==cp(n,"text-overlap","text-allow-overlap")||"never"!==cp(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((function(e){return t.WritingMode[e]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=e.sourceID;};op.prototype.createArrays=function(){this.text=new ip(new oo(this.layers,this.zoom,(function(t){return /^text/.test(t)}))),this.icon=new ip(new oo(this.layers,this.zoom,(function(t){return /^icon/.test(t)}))),this.glyphOffsetArray=new la,this.lineVertexArray=new pa,this.symbolInstances=new ua;},op.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Cu[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0);}},op.prototype.populate=function(e,r,n){var i=this.layers[0],a=i.layout,o=a.get("text-font"),s=a.get("text-field"),u=a.get("icon-image"),l=("constant"!==s.value.kind||s.value.value instanceof $t&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&("constant"!==o.value.kind||o.value.value.length>0),p="constant"!==u.value.kind||!!u.value.value||Object.keys(u.parameters).length>0,c=a.get("symbol-sort-key");if(this.features=[],l||p){for(var h=r.iconDependencies,f=r.glyphDependencies,y=r.availableImages,d=new fi(this.zoom),m=0,v=e;m<v.length;m+=1){var g=v[m],x=g.feature,b=g.id,w=g.index,_=g.sourceLayerIndex,A=i._featureFilter.needGeometry,k=fo(x,A);if(i._featureFilter.filter(d,k,n)){A||(k.geometry=ho(x));var S=void 0;if(l){var I=i.getValueAndResolveTokens("text-field",k,n,y),M=$t.factory(I);np(M)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===pi()||this.hasRTLText&&hi.isParsed())&&(S=Bu(M,i,k));}var z=void 0;if(p){var P=i.getValueAndResolveTokens("icon-image",k,n,y);z=P instanceof te?P:te.fromString(P);}if(S||z){var B=this.sortFeaturesByKey?c.evaluate(k,{},n):void 0;if(this.features.push({id:b,text:S,icon:z,index:w,sourceLayerIndex:_,geometry:k.geometry,properties:x.properties,type:Ql[x.type],sortKey:B}),z&&(h[z.name]=!0),S){var C=o.evaluate(k,{},n).join(","),E="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(var V=0,T=S.sections;V<T.length;V+=1){var F=T[V];if(F.image)h[F.image.name]=!0;else {var O=Yn(S.toString()),L=F.fontStack||C,D=f[L]=f[L]||{};this.calculateGlyphDependencies(F.text,D,E,this.allowVerticalPlacement,O);}}}}}}"line"===a.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++;}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function u(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var l=0;l<t.length;l++){var p=t[l],c=p.geometry,h=p.text?p.text.toString():null;if(h){var f=u(h,c),y=u(h,c,!0);if(f in r&&y in e&&r[f]!==e[y]){var d=s(f,y,c),m=o(f,y,n[d].geometry);delete e[f],delete r[y],r[u(h,n[m].geometry,!0)]=m,n[d].geometry=null;}else f in r?o(f,y,c):y in e?s(f,y,c):(a(l),e[f]=i-1,r[y]=i-1);}else a(l);}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}));}},op.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));},op.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},op.prototype.uploadPending=function(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},op.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;},op.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();},op.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();},op.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var u=0;u<e.length;u++){var l=a[u];this.lineVertexArray.emplaceBack(l.x,l.y,l.tileUnitDistanceFromAnchor);}}return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},op.prototype.addSymbols=function(e,r,n,i,a,o,s,u,l,p,c,h){for(var f=e.indexArray,y=e.layoutVertexArray,d=e.segments.prepareSegment(4*r.length,y,f,this.canOverlap?o.sortKey:void 0),m=this.glyphOffsetArray.length,v=d.vertexLength,g=this.allowVerticalPlacement&&s===t.WritingMode.vertical?Math.PI/2:0,x=o.text&&o.text.sections,b=0;b<r.length;b++){var w=r[b],_=w.tl,A=w.tr,k=w.bl,S=w.br,I=w.tex,M=w.pixelOffsetTL,z=w.pixelOffsetBR,P=w.minFontScaleX,B=w.minFontScaleY,C=w.glyphOffset,E=w.isSDF,V=w.sectionIndex,T=d.vertexLength,F=C[1];ep(y,u.x,u.y,_.x,F+_.y,I.x,I.y,n,E,M.x,M.y,P,B),ep(y,u.x,u.y,A.x,F+A.y,I.x+I.w,I.y,n,E,z.x,M.y,P,B),ep(y,u.x,u.y,k.x,F+k.y,I.x,I.y+I.h,n,E,M.x,z.y,P,B),ep(y,u.x,u.y,S.x,F+S.y,I.x+I.w,I.y+I.h,n,E,z.x,z.y,P,B),rp(e.dynamicLayoutVertexArray,u,g),f.emplaceBack(T,T+1,T+2),f.emplaceBack(T+1,T+2,T+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(C[0]),b!==r.length-1&&V===r[b+1].sectionIndex||e.programConfigurations.populatePaintArrays(y.length,o,o.index,{},h,x&&x[V]);}e.placedSymbolArray.emplaceBack(u.x,u.y,m,this.glyphOffsetArray.length-m,v,l,p,u.segment,n?n[0]:0,n?n[1]:0,i[0],i[1],s,0,!1,0,c);},op.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},op.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o){var s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=s.vertexLength,l=i.layoutVertexArray,p=i.collisionVertexArray,c=o.anchorX,h=o.anchorY;this._addCollisionDebugVertex(l,p,a,c,h,new I(t,e)),this._addCollisionDebugVertex(l,p,a,c,h,new I(r,e)),this._addCollisionDebugVertex(l,p,a,c,h,new I(r,n)),this._addCollisionDebugVertex(l,p,a,c,h,new I(t,n)),s.vertexLength+=4;var f=i.indexArray;f.emplaceBack(u,u+1),f.emplaceBack(u+1,u+2),f.emplaceBack(u+2,u+3),f.emplaceBack(u+3,u),s.primitiveLength+=4;},op.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r);}},op.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new ap(ka,zu.members,Pa),this.iconCollisionBox=new ap(ka,zu.members,Pa);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1);}},op.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,u){for(var l={},p=e;p<r;p++){var c=t.get(p);l.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},l.textFeatureIndex=c.featureIndex;break}for(var h=n;h<i;h++){var f=t.get(h);l.verticalTextBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},l.verticalTextFeatureIndex=f.featureIndex;break}for(var y=a;y<o;y++){var d=t.get(y);l.iconBox={x1:d.x1,y1:d.y1,x2:d.x2,y2:d.y2,anchorPointX:d.anchorPointX,anchorPointY:d.anchorPointY},l.iconFeatureIndex=d.featureIndex;break}for(var m=s;m<u;m++){var v=t.get(m);l.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},l.verticalIconFeatureIndex=v.featureIndex;break}return l},op.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex));}},op.prototype.hasTextData=function(){return this.text.segments.get().length>0},op.prototype.hasIconData=function(){return this.icon.segments.get().length>0},op.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},op.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},op.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},op.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3);},op.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex);}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},op.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});},op.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t);})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}},qn("SymbolBucket",op,{omit:["layers","collisionBoxArray","features","compareText"]}),op.MAX_GLYPHS=65535,op.addDynamicAttributes=rp;var sp=new Mi({"symbol-placement":new _i(gt.layout_symbol["symbol-placement"]),"symbol-spacing":new _i(gt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new _i(gt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Ai(gt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new _i(gt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new _i(gt.layout_symbol["icon-allow-overlap"]),"icon-overlap":new _i(gt.layout_symbol["icon-overlap"]),"icon-ignore-placement":new _i(gt.layout_symbol["icon-ignore-placement"]),"icon-optional":new _i(gt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new _i(gt.layout_symbol["icon-rotation-alignment"]),"icon-size":new Ai(gt.layout_symbol["icon-size"]),"icon-text-fit":new _i(gt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new _i(gt.layout_symbol["icon-text-fit-padding"]),"icon-image":new Ai(gt.layout_symbol["icon-image"]),"icon-rotate":new Ai(gt.layout_symbol["icon-rotate"]),"icon-padding":new Ai(gt.layout_symbol["icon-padding"]),"icon-keep-upright":new _i(gt.layout_symbol["icon-keep-upright"]),"icon-offset":new Ai(gt.layout_symbol["icon-offset"]),"icon-anchor":new Ai(gt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new _i(gt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new _i(gt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new _i(gt.layout_symbol["text-rotation-alignment"]),"text-field":new Ai(gt.layout_symbol["text-field"]),"text-font":new Ai(gt.layout_symbol["text-font"]),"text-size":new Ai(gt.layout_symbol["text-size"]),"text-max-width":new Ai(gt.layout_symbol["text-max-width"]),"text-line-height":new _i(gt.layout_symbol["text-line-height"]),"text-letter-spacing":new Ai(gt.layout_symbol["text-letter-spacing"]),"text-justify":new Ai(gt.layout_symbol["text-justify"]),"text-radial-offset":new Ai(gt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new _i(gt.layout_symbol["text-variable-anchor"]),"text-anchor":new Ai(gt.layout_symbol["text-anchor"]),"text-max-angle":new _i(gt.layout_symbol["text-max-angle"]),"text-writing-mode":new _i(gt.layout_symbol["text-writing-mode"]),"text-rotate":new Ai(gt.layout_symbol["text-rotate"]),"text-padding":new _i(gt.layout_symbol["text-padding"]),"text-keep-upright":new _i(gt.layout_symbol["text-keep-upright"]),"text-transform":new Ai(gt.layout_symbol["text-transform"]),"text-offset":new Ai(gt.layout_symbol["text-offset"]),"text-allow-overlap":new _i(gt.layout_symbol["text-allow-overlap"]),"text-overlap":new _i(gt.layout_symbol["text-overlap"]),"text-ignore-placement":new _i(gt.layout_symbol["text-ignore-placement"]),"text-optional":new _i(gt.layout_symbol["text-optional"])}),up={paint:new Mi({"icon-opacity":new Ai(gt.paint_symbol["icon-opacity"]),"icon-color":new Ai(gt.paint_symbol["icon-color"]),"icon-halo-color":new Ai(gt.paint_symbol["icon-halo-color"]),"icon-halo-width":new Ai(gt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Ai(gt.paint_symbol["icon-halo-blur"]),"icon-translate":new _i(gt.paint_symbol["icon-translate"]),"icon-translate-anchor":new _i(gt.paint_symbol["icon-translate-anchor"]),"text-opacity":new Ai(gt.paint_symbol["text-opacity"]),"text-color":new Ai(gt.paint_symbol["text-color"],{runtimeType:Bt,getOverride:function(t){return t.textColor},hasOverride:function(t){return !!t.textColor}}),"text-halo-color":new Ai(gt.paint_symbol["text-halo-color"]),"text-halo-width":new Ai(gt.paint_symbol["text-halo-width"]),"text-halo-blur":new Ai(gt.paint_symbol["text-halo-blur"]),"text-translate":new _i(gt.paint_symbol["text-translate"]),"text-translate-anchor":new _i(gt.paint_symbol["text-translate-anchor"])}),layout:sp},lp=function(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:It,this.defaultValue=t;};lp.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},lp.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);},lp.prototype.outputDefined=function(){return !1},lp.prototype.serialize=function(){return null},qn("FormatSectionOverride",lp,{omit:["defaultValue"]});var pp=function(t){function e(e){t.call(this,e,up);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s);}this.layout._values["text-writing-mode"]=i;}else this.layout._values["text-writing-mode"]=["horizontal"];}this._setPaintOverrides();},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Xr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):""}))}(e.properties,i)},e.prototype.createBucket=function(t){return new op(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){throw new Error("Should take a different path in FeatureIndex")},e.prototype._setPaintOverrides=function(){for(var t=0,r=up.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new lp(a),s=new Jr(o,a.property.specification);i="constant"===a.value.kind||"source"===a.value.kind?new Hr("source",s):new Wr("composite",s,a.value.zoomStops),this.paint._values[n]=new bi(a.property,i,a.parameters);}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return !(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=up.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof $t)a(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){i||(t instanceof ae&&ne(t.value)===Tt?a(t.value.sections):t instanceof Sr?a(t.sections):t.eachChild(o));},s=r.value;s._styleExpression&&o(s._styleExpression.expression);}return i},e}(Pi);function cp(t,e,r){var n="never",i=t.get(e);return i?n=i:t.get(r)&&(n="always"),n}var hp={paint:new Mi({"background-color":new _i(gt.paint_background["background-color"]),"background-pattern":new Si(gt.paint_background["background-pattern"]),"background-opacity":new _i(gt.paint_background["background-opacity"])})},fp=function(t){function e(e){t.call(this,e,hp);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Pi),yp={paint:new Mi({"raster-opacity":new _i(gt.paint_raster["raster-opacity"]),"raster-hue-rotate":new _i(gt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new _i(gt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new _i(gt.paint_raster["raster-brightness-max"]),"raster-saturation":new _i(gt.paint_raster["raster-saturation"]),"raster-contrast":new _i(gt.paint_raster["raster-contrast"]),"raster-resampling":new _i(gt.paint_raster["raster-resampling"]),"raster-fade-duration":new _i(gt.paint_raster["raster-fade-duration"])})},dp=function(t){function e(e){t.call(this,e,yp);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Pi),mp=function(t){function e(e){var r=this;t.call(this,e,{}),this.onAdd=function(t){r.implementation.onAdd&&r.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=function(t){r.implementation.onRemove&&r.implementation.onRemove(t,t.painter.context.gl);},this.implementation=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return "3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){return !1},e.prototype.serialize=function(){throw new Error("Custom layers cannot be serialized")},e}(Pi),vp={circle:Zo,heatmap:ts,hillshade:rs,fill:qs,"fill-extrusion":pu,line:Au,symbol:pp,background:fp,raster:dp},gp=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback();});};gp.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback();}),0));},gp.prototype.remove=function(){delete this._channel,this._callback=function(){};};var xp=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},l(["receive","process"],this),this.invoker=new gp(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=g()?t:window;};xp.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=w(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Kn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId});}}},xp.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n();}else g()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);},xp.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}},xp.prototype.processTask=function(t,e){var r=this;if("<response>"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(Gn(e.error)):n(null,Gn(e.data)));}else {var i=!1,a=w(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"<response>",sourceMapId:r.mapId,error:e?Kn(e):null,data:Kn(n,a)},a);}:function(t){i=!0;},s=null,u=Gn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,u,o);else if(this.parent.getWorkerSource){var l=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,l[0],u.source)[l[1]](u,o);}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel);}},xp.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1);};var bp=6371008.8,wp=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};wp.prototype.wrap=function(){return new wp(o(this.lng,-180,180),this.lat)},wp.prototype.toArray=function(){return [this.lng,this.lat]},wp.prototype.toString=function(){return "LngLat("+this.lng+", "+this.lat+")"},wp.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return bp*Math.acos(Math.min(i,1))},wp.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new _p(new wp(this.lng-r,this.lat-e),new wp(this.lng+r,this.lat+e))},wp.convert=function(t){if(t instanceof wp)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new wp(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new wp(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var _p=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));};_p.prototype.setNorthEast=function(t){return this._ne=t instanceof wp?new wp(t.lng,t.lat):wp.convert(t),this},_p.prototype.setSouthWest=function(t){return this._sw=t instanceof wp?new wp(t.lng,t.lat):wp.convert(t),this},_p.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof wp)e=t,r=t;else {if(!(t instanceof _p))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(_p.convert(t)):this.extend(wp.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new wp(e.lng,e.lat),this._ne=new wp(r.lng,r.lat)),this},_p.prototype.getCenter=function(){return new wp((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},_p.prototype.getSouthWest=function(){return this._sw},_p.prototype.getNorthEast=function(){return this._ne},_p.prototype.getNorthWest=function(){return new wp(this.getWest(),this.getNorth())},_p.prototype.getSouthEast=function(){return new wp(this.getEast(),this.getSouth())},_p.prototype.getWest=function(){return this._sw.lng},_p.prototype.getSouth=function(){return this._sw.lat},_p.prototype.getEast=function(){return this._ne.lng},_p.prototype.getNorth=function(){return this._ne.lat},_p.prototype.toArray=function(){return [this._sw.toArray(),this._ne.toArray()]},_p.prototype.toString=function(){return "LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},_p.prototype.isEmpty=function(){return !(this._sw&&this._ne)},_p.prototype.contains=function(t){var e=wp.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},_p.convert=function(t){return t instanceof _p?t:t?new _p(t):t};var Ap=2*Math.PI*bp;function kp(t){return Ap*Math.cos(t*Math.PI/180)}function Sp(t){return (180+t)/360}function Ip(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Mp(t,e){return t/kp(e)}function zp(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Pp=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r;};function Bp(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}Pp.fromLngLat=function(t,e){void 0===e&&(e=0);var r=wp.convert(t);return new Pp(Sp(r.lng),Ip(r.lat),Mp(e,r.lat))},Pp.prototype.toLngLat=function(){return new wp(360*this.x-180,zp(this.y))},Pp.prototype.toAltitude=function(){return this.z*kp(zp(this.y))},Pp.prototype.meterInMercatorCoordinateUnits=function(){return 1/Ap*(t=zp(this.y),1/Math.cos(t*Math.PI/180));var t;};var Cp=function(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error("x="+e+", y="+r+", z="+t+" outside of bounds. 0<=x<"+Math.pow(2,t)+", 0<=y<"+Math.pow(2,t)+" 0<=z<=25 ");this.z=t,this.x=e,this.y=r,this.key=Tp(0,t,t,e,r);};Cp.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Cp.prototype.url=function(t,e,r){var n,i,a,o,s,u=(i=this.y,a=this.z,o=Bp(256*(n=this.x),256*(i=Math.pow(2,a)-i-1),a),s=Bp(256*(n+1),256*(i+1),a),o[0]+","+o[1]+","+s[0]+","+s[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String("tms"===r?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,e>1?"@2x":"").replace(/{quadkey}/g,l).replace(/{bbox-epsg-3857}/g,u)},Cp.prototype.isChildOf=function(t){var e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e},Cp.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new I((t.x*e-this.x)*lo,(t.y*e-this.y)*lo)},Cp.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var Ep=function(t,e){this.wrap=t,this.canonical=e,this.key=Tp(t,e.z,e.z,e.x,e.y);},Vp=function(t,e,r,n,i){if(t<r)throw new Error("overscaledZ should be >= z; overscaledZ = "+t+"; z = "+r);this.overscaledZ=t,this.wrap=e,this.canonical=new Cp(r,+n,+i),this.key=Tp(e,t,r,n,i);};function Tp(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return (a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Vp.prototype.clone=function(){return new Vp(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)},Vp.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Vp.prototype.scaledTo=function(t){if(t>this.overscaledZ)throw new Error("targetZ > this.overscaledZ; targetZ = "+t+"; overscaledZ = "+this.overscaledZ);var e=this.canonical.z-t;return t>this.canonical.z?new Vp(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Vp(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Vp.prototype.calculateScaledKey=function(t,e){if(t>this.overscaledZ)throw new Error("targetZ > this.overscaledZ; targetZ = "+t+"; overscaledZ = "+this.overscaledZ);var r=this.canonical.z-t;return t>this.canonical.z?Tp(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Tp(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Vp.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return !1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Vp.prototype.children=function(t){if(this.overscaledZ>=t)return [new Vp(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Vp(e,this.wrap,e,r,n),new Vp(e,this.wrap,e,r+1,n),new Vp(e,this.wrap,e,r,n+1),new Vp(e,this.wrap,e,r+1,n+1)]},Vp.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Vp.prototype.wrapped=function(){return new Vp(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Vp.prototype.unwrapTo=function(t){return new Vp(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Vp.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Vp.prototype.toUnwrapped=function(){return new Ep(this.wrap,this.canonical)},Vp.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Vp.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Pp(t.x-this.wrap,t.y))},qn("CanonicalTileID",Cp),qn("OverscaledTileID",Vp,{omit:["posMatrix"]});var Fp=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)d('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');else {this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||"mapbox";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(var a=0;a<n;a++)for(var o=0;o<n;o++){var s=this.get(a,o);s>this.max&&(this.max=s),s<this.min&&(this.min=s);}}};Fp.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return ("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Fp.prototype.getUnpackVector=function(){return "terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Fp.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return (e+1)*this.stride+(t+1)},Fp.prototype._unpackMapbox=function(t,e,r){return (256*t*256+256*e+r)/10-1e4},Fp.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Fp.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Fp.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=o-1;break;case 1:o=a+1;}for(var s=-e*this.dim,u=-r*this.dim,l=a;l<o;l++)for(var p=n;p<i;p++)this.data[this._idx(p,l)]=t.data[this._idx(p+s,l+u)];},qn("DEMData",Fp);var Op=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r;}};Op.prototype.encode=function(t){return this._stringToNumber[t]},Op.prototype.decode=function(t){if(t>=this._numberToString.length)throw new Error("Out of bounds. Index requested n="+t+" can't be >= this._numberToString.length "+this._numberToString.length);return this._numberToString[t]};var Lp=function(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;},Dp={geometry:{configurable:!0}};Dp.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Dp.geometry.set=function(t){this._geometry=t;},Lp.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Lp.prototype,Dp);var jp,Rp=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Rn(lo,16,0),this.grid3D=new Rn(lo,16,0),this.featureIndexArray=new ha,this.promoteId=e;};function Up(t,e,r,n,i){return c(t,(function(t,a){var o=e instanceof wi?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function qp(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);}return {minX:e,minY:r,maxX:n,maxY:i}}function Np(t,e){return e-t}Rp.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,u=0;u<e.length;u++){for(var l=e[u],p=[1/0,1/0,-1/0,-1/0],c=0;c<l.length;c++){var h=l[c];p[0]=Math.min(p[0],h.x),p[1]=Math.min(p[1],h.y),p[2]=Math.max(p[2],h.x),p[3]=Math.max(p[3],h.y);}p[0]<lo&&p[1]<lo&&p[2]>=0&&p[3]>=0&&s.insert(o,p[0],p[1],p[2],p[3]);}},Rp.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Gs.VectorTile(new Vu(this.rawTileData)).layers,this.sourceLayerCoder=new Op(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Rp.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var a=t.params||{},o=lo/t.tileSize/t.scale,s=pn(a.filter),u=t.queryGeometry,l=t.queryPadding*o,p=qp(u),c=this.grid.query(p.minX-l,p.minY-l,p.maxX+l,p.maxY+l),h=qp(t.cameraQueryGeometry),f=this.grid3D.query(h.minX-l,h.minY-l,h.maxX+l,h.maxY+l,(function(e,r,n,i){return function(t,e,r,n,i){for(var a=0,o=t;a<o.length;a+=1){var s=o[a];if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0}var u=[new I(e,r),new I(e,i),new I(n,i),new I(n,r)];if(t.length>2)for(var l=0,p=u;l<p.length;l+=1)if(Io(t,p[l]))return !0;for(var c=0;c<t.length-1;c++)if(Mo(t[c],t[c+1],u))return !0;return !1}(t.cameraQueryGeometry,e-l,r-l,n+l,i+l)})),y=0,d=f;y<d.length;y+=1)c.push(d[y]);c.sort(Np);for(var m,v={},g=function(l){var p=c[l];if(p!==m){m=p;var h=i.featureIndexArray.get(p),f=null;i.loadMatchingFeature(v,h.bucketIndex,h.sourceLayerIndex,h.featureIndex,s,a.layers,a.availableImages,e,r,n,(function(e,r,n){return f||(f=ho(e)),r.queryIntersectsFeature(u,e,n,f,i.z,t.transform,o,t.pixelPosMatrix)}));}},x=0;x<c.length;x++)g(x);return v},Rp.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,u,l,p,c){var h=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return !0;return !1}(a,h)){var f=this.sourceLayerCoder.decode(r),y=this.vtLayers[f].feature(n);if(i.needGeometry){var d=fo(y,!0);if(!i.filter(new fi(this.tileID.overscaledZ),d,this.tileID.canonical))return}else if(!i.filter(new fi(this.tileID.overscaledZ),y))return;for(var m=this.getId(y,f),v=0;v<h.length;v++){var g=h[v];if(!(a&&a.indexOf(g)<0)){var x=u[g];if(x){var b={};m&&p&&(b=p.getState(x.sourceLayer||"_geojsonTileLayer",m));var w=s({},l[g]);w.paint=Up(w.paint,x.paint,y,b,o),w.layout=Up(w.layout,x.layout,y,b,o);var _=!c||c(y,x,b);if(_){var A=new Lp(y,this.z,this.x,this.y,m);A.layer=w;var k=t[g];void 0===k&&(k=t[g]=[]),k.push({featureIndex:n,feature:A,intersectionZ:_});}}}}}},Rp.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var u={};this.loadVTLayers();for(var l=pn(i),p=0,c=t;p<c.length;p+=1)this.loadMatchingFeature(u,r,n,c[p],l,a,o,s,e);return u},Rp.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return !0;return !1},Rp.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&"boolean"==typeof(r=t.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},qn("FeatureIndex",Rp,{omit:["rawTileData","sourceLayerCoder"]}),t.PerformanceMarkers=void 0,(jp=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",jp.load="load",jp.fullLoad="fullLoad";var Zp=null,Kp=[],Gp=1e3/30,Jp={mark:function(t){performance.mark(t);},frame:function(t){var e=t;null!=Zp&&Kp.push(e-Zp),Zp=e;},clearMetrics:function(){for(var e in Zp=null,Kp=[],performance.clearMeasures("loadTime"),performance.clearMeasures("fullLoadTime"),t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e]);},getPerformanceMetrics:function(){performance.measure("loadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure("fullLoadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);var e=performance.getEntriesByName("loadTime")[0].duration,r=performance.getEntriesByName("fullLoadTime")[0].duration,n=Kp.length,i=1/(Kp.reduce((function(t,e){return t+e}),0)/n/1e3),a=Kp.filter((function(t){return t>Gp})).reduce((function(t,e){return t+(e-Gp)/Gp}),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100}}},Xp=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start);};Xp.prototype.finish=function(){performance.mark(this._marks.end);var t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t},t.AJAXError=it,t.ARRAY_TYPE=To,t.Actor=xp,t.AlphaImage=Wo,t.CanonicalTileID=Cp,t.CollisionBoxArray=ia,t.CollisionCircleLayoutArray=Sa,t.Color=Yt,t.DEMData=Fp,t.DataConstantProperty=_i,t.DictionaryCoder=Op,t.EXTENT=lo,t.ErrorEvent=mt,t.EvaluationParameters=fi,t.Event=dt,t.Evented=vt,t.FeatureIndex=Rp,t.FillBucket=js,t.FillExtrusionBucket=su,t.GeoJSONFeature=Lp,t.ImageAtlas=ul,t.ImagePosition=al,t.LineBucket=gu,t.LineStripIndexArray=Ba,t.LngLat=wp,t.LngLatBounds=_p,t.MercatorCoordinate=Pp,t.ONE_EM=Eu,t.OverscaledTileID=Vp,t.PerformanceUtils=Jp,t.PosArray=fa,t.Properties=Mi,t.QuadTriangleArray=Ma,t.RGBAImage=$o,t.RasterBoundsArray=ya,t.RequestPerformance=Xp,t.ResourceType=nt,t.SegmentVector=Ea,t.SymbolBucket=op,t.Transitionable=mi,t.TriangleIndexArray=za,t.Uniform1f=Ga,t.Uniform1i=Ka,t.Uniform2f=Ja,t.Uniform3f=Xa,t.Uniform4f=Ya,t.UniformColor=Ha,t.UniformMatrix4f=$a,t.UnwrappedTileID=Ep,t.ValidationError=xt,t.ZoomHistory=Jn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=rp,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i);}));}));},t.bezier=n,t.bindAll=l,t.cacheEntryPossiblyAdded=function(t){++$>X&&(t.getActor().send("enforceCacheSizeLimit",J),$=0);},t.clamp=a,t.clearTileCache=function(t){var e=caches.delete(G);t&&e.catch(t).then((function(){return t()}));},t.clipLine=Tl,t.clone=function(t){var e=new To(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=f,t.clone$2=function(t){var e=new To(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Pu,t.config=K,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.create=function(){var t=new To(16);return To!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=Fo,t.createExpression=Yr,t.createFilter=pn,t.createLayout=Vi,t.createStyleLayer=function(t){return "custom"===t.type?new mp(t):new vp[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],u=r[2];return t[0]=i*u-a*s,t[1]=a*o-n*u,t[2]=n*s-i*o,t},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=i,t.emitValidationErrors=jn,t.endsWith=p,t.enforceCacheSizeLimit=function(t){Y(),N&&N.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n]);}));}));},t.equals=function(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],p=t[8],c=t[9],h=t[10],f=t[11],y=t[12],d=t[13],m=t[14],v=t[15],g=e[0],x=e[1],b=e[2],w=e[3],_=e[4],A=e[5],k=e[6],S=e[7],I=e[8],M=e[9],z=e[10],P=e[11],B=e[12],C=e[13],E=e[14],V=e[15];return Math.abs(r-g)<=Vo*Math.max(1,Math.abs(r),Math.abs(g))&&Math.abs(n-x)<=Vo*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(i-b)<=Vo*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-w)<=Vo*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-_)<=Vo*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(s-A)<=Vo*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(u-k)<=Vo*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(l-S)<=Vo*Math.max(1,Math.abs(l),Math.abs(S))&&Math.abs(p-I)<=Vo*Math.max(1,Math.abs(p),Math.abs(I))&&Math.abs(c-M)<=Vo*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(h-z)<=Vo*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(f-P)<=Vo*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(y-B)<=Vo*Math.max(1,Math.abs(y),Math.abs(B))&&Math.abs(d-C)<=Vo*Math.max(1,Math.abs(d),Math.abs(C))&&Math.abs(m-E)<=Vo*Math.max(1,Math.abs(m),Math.abs(E))&&Math.abs(v-V)<=Vo*Math.max(1,Math.abs(v),Math.abs(V))},t.evaluateSizeForFeature=function(t,e,r){var n=e.uSize,i=r.lowerSize;return "source"===t.kind?i/kl:"composite"===t.kind?Re(i/kl,r.upperSize/kl,e.uSizeT):n},t.evaluateSizeForZoom=function(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var i=t.interpolationType,o=i?a(ar.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;"camera"===t.kind?n=Re(t.minSize,t.maxSize,o):r=o;}return {uSizeT:r,uSize:n}},t.evaluateVariableOffset=Jl,t.evented=li,t.exported=S,t.exported$1=Q,t.extend=s,t.filterObject=h,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.getAnchorAlignment=wl,t.getAnchorJustification=Xl,t.getArrayBuffer=pt,t.getImage=ht,t.getJSON=function(t,e){return lt(s(t,{type:"json"}),e)},t.getOverlapMode=cp,t.getRTLTextPluginStatus=pi,t.getReferrer=at,t.getVideo=function(t,e){var r,n,i=window.document.createElement("video");i.muted=!0,i.onloadstart=function(){e(null,i);};for(var a=0;a<t.length;a++){var o=window.document.createElement("source");r=t[a],n=void 0,(n=window.document.createElement("a")).href=r,(n.protocol!==window.document.location.protocol||n.host!==window.document.location.host)&&(i.crossOrigin="Anonymous"),o.src=t[a],i.appendChild(o);}return {cancel:function(){}}},t.identity=Oo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],p=e[8],c=e[9],h=e[10],f=e[11],y=e[12],d=e[13],m=e[14],v=e[15],g=r*s-n*o,x=r*u-i*o,b=r*l-a*o,w=n*u-i*s,_=n*l-a*s,A=i*l-a*u,k=p*d-c*y,S=p*m-h*y,I=p*v-f*y,M=c*m-h*d,z=c*v-f*d,P=h*v-f*m,B=g*P-x*z+b*M+w*I-_*S+A*k;return B?(t[0]=(s*P-u*z+l*M)*(B=1/B),t[1]=(i*z-n*P-a*M)*B,t[2]=(d*A-m*_+v*w)*B,t[3]=(h*_-c*A-f*w)*B,t[4]=(u*I-o*P-l*S)*B,t[5]=(r*P-i*I+a*S)*B,t[6]=(m*b-y*A-v*x)*B,t[7]=(p*A-h*b+f*x)*B,t[8]=(o*z-s*I+l*k)*B,t[9]=(n*I-r*z-a*k)*B,t[10]=(y*_-d*b+v*g)*B,t[11]=(c*b-p*_-f*g)*B,t[12]=(s*S-o*M-u*k)*B,t[13]=(r*M-n*S+i*k)*B,t[14]=(d*x-y*w-m*g)*B,t[15]=(p*w-c*x+h*g)*B,t):null},t.isImageBitmap=_,t.isSafari=w,t.isWorker=g,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.lazyLoadRTLTextPlugin=function(){hi.isLoading()||hi.isLoaded()||"deferred"!==pi()||ci();},t.makeRequest=lt,t.mapObject=c,t.mercatorXfromLng=Sp,t.mercatorYfromLat=Ip,t.mercatorZfromAltitude=Mp,t.mul=jo,t.mul$1=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},t.multiply=Lo,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Re,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),u=1/(n-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*u,t[14]=(o+a)*l,t[15]=1,t},t.parseCacheControl=x,t.parseGlyphPbf=function(t){return new Vu(t).readFields(el,[])},t.pbf=Vu,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=lo/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;var r=e.bucket.layers[0].layout,n=e.bucket.layers[0]._unevaluatedLayout._values,i={layoutIconSize:n["icon-size"].possiblyEvaluate(new fi(e.bucket.zoom+1),e.canonical),layoutTextSize:n["text-size"].possiblyEvaluate(new fi(e.bucket.zoom+1),e.canonical),textMaxSize:n["text-size"].possiblyEvaluate(new fi(18))};if("composite"===e.bucket.textSizeData.kind){var a=e.bucket.textSizeData,o=a.maxZoom;i.compositeTextSizes=[n["text-size"].possiblyEvaluate(new fi(a.minZoom),e.canonical),n["text-size"].possiblyEvaluate(new fi(o),e.canonical)];}if("composite"===e.bucket.iconSizeData.kind){var s=e.bucket.iconSizeData,u=s.maxZoom;i.compositeIconSizes=[n["icon-size"].possiblyEvaluate(new fi(s.minZoom),e.canonical),n["icon-size"].possiblyEvaluate(new fi(u),e.canonical)];}for(var l=r.get("text-line-height")*Eu,p="viewport"!==r.get("text-rotation-alignment")&&"point"!==r.get("symbol-placement"),c=r.get("text-keep-upright"),h=r.get("text-size"),f=function(){var n=m[y],a=r.get("text-font").evaluate(n,{},e.canonical).join(","),o=h.evaluate(n,{},e.canonical),s=i.layoutTextSize.evaluate(n,{},e.canonical),u=i.layoutIconSize.evaluate(n,{},e.canonical),f={horizontal:{},vertical:void 0},v=n.text,g=[0,0];if(v){var x=v.toString(),b=r.get("text-letter-spacing").evaluate(n,{},e.canonical)*Eu,w=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Xn.Arabic(n)||Xn["Arabic Supplement"](n)||Xn["Arabic Extended-A"](n)||Xn["Arabic Presentation Forms-A"](n)||Xn["Arabic Presentation Forms-B"](n))return !1;var n;return !0}(x)?b:0,_=r.get("text-anchor").evaluate(n,{},e.canonical),A=r.get("text-variable-anchor");if(!A){var k=r.get("text-radial-offset").evaluate(n,{},e.canonical);g=k?Jl(_,[k*Eu,Gl]):r.get("text-offset").evaluate(n,{},e.canonical).map((function(t){return t*Eu}));}var S=p?"center":r.get("text-justify").evaluate(n,{},e.canonical),I=r.get("symbol-placement"),M="point"===I?r.get("text-max-width").evaluate(n,{},e.canonical)*Eu:0,z=function(){e.bucket.allowVerticalPlacement&&Yn(x)&&(f.vertical=hl(v,e.glyphMap,e.glyphPositions,e.imagePositions,a,M,l,_,"left",w,g,t.WritingMode.vertical,!0,I,s,o));};if(!p&&A){for(var P="auto"===S?A.map((function(t){return Xl(t)})):[S],B=!1,C=0;C<P.length;C++){var E=P[C];if(!f.horizontal[E])if(B)f.horizontal[E]=f.horizontal[0];else {var V=hl(v,e.glyphMap,e.glyphPositions,e.imagePositions,a,M,l,"center",E,w,g,t.WritingMode.horizontal,!1,I,s,o);V&&(f.horizontal[E]=V,B=1===V.positionedLines.length);}}z();}else {"auto"===S&&(S=Xl(_));var T=hl(v,e.glyphMap,e.glyphPositions,e.imagePositions,a,M,l,_,S,w,g,t.WritingMode.horizontal,!1,I,s,o);T&&(f.horizontal[S]=T),z(),Yn(x)&&p&&c&&(f.vertical=hl(v,e.glyphMap,e.glyphPositions,e.imagePositions,a,M,l,_,S,w,g,t.WritingMode.vertical,!1,I,s,o));}}var F=void 0,O=!1;if(n.icon&&n.icon.name){var L=e.imageMap[n.icon.name];L&&(F=function(t,e,r){var n=wl(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return {image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(e.imagePositions[n.icon.name],r.get("icon-offset").evaluate(n,{},e.canonical),r.get("icon-anchor").evaluate(n,{},e.canonical)),O=!!L.sdf,void 0===e.bucket.sdfIcons?e.bucket.sdfIcons=O:e.bucket.sdfIcons!==O&&d("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(L.pixelRatio!==e.bucket.pixelRatio||0!==r.get("icon-rotate").constantOr(1))&&(e.bucket.iconsNeedLinear=!0));}var D=Wl(f.horizontal)||f.vertical;e.bucket.iconsInText=!!D&&D.iconsInText,(D||F)&&function(e,r,n,i,a,o,s,u,l,p,c){var h=o.textMaxSize.evaluate(r,{});void 0===h&&(h=s);var f,y=e.layers[0].layout,m=y.get("icon-offset").evaluate(r,{},c),v=Wl(n.horizontal),g=s/24,x=e.tilePixelRatio*g,b=e.tilePixelRatio*h/24,w=e.tilePixelRatio*u,_=e.tilePixelRatio*y.get("symbol-spacing"),A=y.get("text-padding")*e.tilePixelRatio,k=function(t,e,r,n){void 0===n&&(n=1);var i=t.get("icon-padding").evaluate(e,{},r),a=i&&i.values;return [a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(y,r,c,e.tilePixelRatio),S=y.get("text-max-angle")/180*Math.PI,I="viewport"!==y.get("text-rotation-alignment")&&"point"!==y.get("symbol-placement"),M="map"===y.get("icon-rotation-alignment")&&"point"!==y.get("symbol-placement"),z=y.get("symbol-placement"),P=_/2,B=y.get("icon-text-fit");i&&"none"!==B&&(e.allowVerticalPlacement&&n.vertical&&(f=Al(i,n.vertical,B,y.get("icon-text-fit-padding"),m,g)),v&&(i=Al(i,v,B,y.get("icon-text-fit-padding"),m,g)));var C=function(u,h){h.x<0||h.x>=lo||h.y<0||h.y>=lo||function(e,r,n,i,a,o,s,u,l,p,c,h,f,y,m,v,g,x,b,w,_,A,k,S,I){var M,z,P,B,C,E=e.addToLineVertexArray(r,n),V=0,T=0,F=0,O=0,L=-1,D=-1,j={},R=Fa.exports(""),U=0,q=0;if(void 0===u._unevaluatedLayout.getValue("text-radial-offset")?(U=(M=u.layout.get("text-offset").evaluate(_,{},S).map((function(t){return t*Eu})))[0],q=M[1]):(U=u.layout.get("text-radial-offset").evaluate(_,{},S)*Eu,q=Gl),e.allowVerticalPlacement&&i.vertical){var N=u.layout.get("text-rotate").evaluate(_,{},S)+90;B=new Rl(l,r,p,c,h,i.vertical,f,y,m,N),s&&(C=new Rl(l,r,p,c,h,s,g,x,m,N));}if(a){var Z=u.layout.get("icon-rotate").evaluate(_,{}),K="none"!==u.layout.get("icon-text-fit"),G=Fl(a,Z,k,K),J=s?Fl(s,Z,k,K):void 0;P=new Rl(l,r,p,c,h,a,g,x,!1,Z),V=4*G.length;var X=e.iconSizeData,Y=null;"source"===X.kind?(Y=[kl*u.layout.get("icon-size").evaluate(_,{})])[0]>Yl&&d(e.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===X.kind&&((Y=[kl*A.compositeIconSizes[0].evaluate(_,{},S),kl*A.compositeIconSizes[1].evaluate(_,{},S)])[0]>Yl||Y[1]>Yl)&&d(e.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),e.addSymbols(e.icon,G,Y,w,b,_,t.WritingMode.none,r,E.lineStartIndex,E.lineLength,-1,S),L=e.icon.placedSymbolArray.length-1,J&&(T=4*J.length,e.addSymbols(e.icon,J,Y,w,b,_,t.WritingMode.vertical,r,E.lineStartIndex,E.lineLength,-1,S),D=e.icon.placedSymbolArray.length-1);}for(var H=Object.keys(i.horizontal),W=0,$=H;W<$.length;W+=1){var Q=$[W],tt=i.horizontal[Q];if(!z){R=Fa.exports(tt.text);var et=u.layout.get("text-rotate").evaluate(_,{},S);z=new Rl(l,r,p,c,h,tt,f,y,m,et);}var rt=1===tt.positionedLines.length;if(F+=Hl(e,r,tt,o,u,m,_,v,E,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,rt?H:[Q],j,L,A,S),rt)break}i.vertical&&(O+=Hl(e,r,i.vertical,o,u,m,_,v,E,t.WritingMode.vertical,["vertical"],j,D,A,S));var nt=z?z.boxStartIndex:e.collisionBoxArray.length,it=z?z.boxEndIndex:e.collisionBoxArray.length,at=B?B.boxStartIndex:e.collisionBoxArray.length,ot=B?B.boxEndIndex:e.collisionBoxArray.length,st=P?P.boxStartIndex:e.collisionBoxArray.length,ut=P?P.boxEndIndex:e.collisionBoxArray.length,lt=C?C.boxStartIndex:e.collisionBoxArray.length,pt=C?C.boxEndIndex:e.collisionBoxArray.length,ct=-1,ht=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};ct=ht(z,ct),ct=ht(B,ct),ct=ht(P,ct);var ft=(ct=ht(C,ct))>-1?1:0;ft&&(ct*=I/Eu),e.glyphOffsetArray.length>=op.MAX_GLYPHS&&d("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(r.x,r.y,j.right>=0?j.right:-1,j.center>=0?j.center:-1,j.left>=0?j.left:-1,j.vertical||-1,L,D,R,nt,it,at,ot,st,ut,lt,pt,p,F,O,V,T,ft,0,f,U,q,ct);}(e,h,u,n,i,a,f,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,x,[A,A,A,A],I,l,w,k,M,m,r,o,p,c,s);};if("line"===z)for(var E=0,V=Tl(r.geometry,0,0,lo,lo);E<V.length;E+=1)for(var T=V[E],F=0,O=El(T,_,S,n.vertical||v,i,24,b,e.overscaling,lo);F<O.length;F+=1){var L=O[F];v&&$l(e,v.text,P,L)||C(T,L);}else if("line-center"===z)for(var D=0,j=r.geometry;D<j.length;D+=1){var R=j[D];if(R.length>1){var U=Cl(R,S,n.vertical||v,i,24,b);U&&C(R,U);}}else if("Polygon"===r.type)for(var q=0,N=Fs(r.geometry,0);q<N.length;q+=1){var Z=N[q],K=Nl(Z,16);C(Z[0],new Il(K.x,K.y,0));}else if("LineString"===r.type)for(var G=0,J=r.geometry;G<J.length;G+=1){var X=J[G];C(X,new Il(X[0].x,X[0].y,0));}else if("Point"===r.type)for(var Y=0,H=r.geometry;Y<H.length;Y+=1)for(var W=0,$=H[Y];W<$.length;W+=1){var Q=$[W];C([Q],new Il(Q.x,Q.y,0));}}(e.bucket,n,f,F,e.imageMap,i,s,u,g,O,e.canonical);},y=0,m=e.bucket.features;y<m.length;y+=1)f();e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers();},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i]);}return r},t.plugin=hi,t.pointGeometry=I,t.polygonIntersectsPolygon=vo,t.potpack=il,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=qn,t.registerForPluginStateChange=function(t){return t({pluginStatus:ai,pluginURL:oi}),li.on("pluginStateChange",t),t},t.renderColorRamp=Qo,t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],p=e[9],c=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+l*n,t[5]=o*i+p*n,t[6]=s*i+c*n,t[7]=u*i+h*n,t[8]=l*i-a*n,t[9]=p*i-o*n,t[10]=c*i-s*n,t[11]=h*i-u*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],u=e[3],l=e[4],p=e[5],c=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+l*n,t[1]=o*i+p*n,t[2]=s*i+c*n,t[3]=u*i+h*n,t[4]=l*i-a*n,t[5]=p*i-o*n,t[6]=c*i-s*n,t[7]=h*i-u*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){J=t,X=e;},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),ai===ei||ai===ri||ai===ni)throw new Error("setRTLTextPlugin cannot be called multiple times.");oi=S.resolveURL(t),ai=ei,ii=e,ui(),r||ci();},t.spec=gt,t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.toEvaluationFeature=fo,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=qo,t.transformMat4$1=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t},t.translate=function(t,e,r){var n,i,a,o,s,u,l,p,c,h,f,y,d=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*d+e[4]*m+e[8]*v+e[12],t[13]=e[1]*d+e[5]*m+e[9]*v+e[13],t[14]=e[2]*d+e[6]*m+e[10]*v+e[14],t[15]=e[3]*d+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=l,t[7]=p,t[8]=c,t[9]=h,t[10]=f,t[11]=y,t[12]=n*d+s*m+c*v+e[12],t[13]=i*d+u*m+h*v+e[13],t[14]=a*d+l*m+f*v+e[14],t[15]=o*d+p*m+y*v+e[15]),t},t.triggerPluginCompletionEvent=si,t.unicodeBlockLookup=Xn,t.uniqueId=function(){return u++},t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=On,t.validateStyle=Fn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=Gs,t.warnOnce=d,t.wrap=o;}));
|
|
33
|
+
|
|
34
|
+
define(["./shared"],(function(e){"use strict";function t(e){var r=typeof e;if("number"===r||"boolean"===r||"string"===r||null==e)return JSON.stringify(e);if(Array.isArray(e)){for(var i="[",o=0,n=e;o<n.length;o+=1)i+=t(n[o])+",";return i+"]"}for(var s=Object.keys(e).sort(),a="{",l=0;l<s.length;l++)a+=JSON.stringify(s[l])+":"+t(e[s[l]])+",";return a+"}"}function r(r){for(var i="",o=0,n=e.refProperties;o<n.length;o+=1)i+="/"+t(r[n[o]]);return i}var i=function(e){this.keyCache={},e&&this.replace(e);};i.prototype.replace=function(e){this._layerConfigs={},this._layers={},this.update(e,[]);},i.prototype.update=function(t,i){for(var o=this,n=0,s=t;n<s.length;n+=1){var a=s[n];this._layerConfigs[a.id]=a;var l=this._layers[a.id]=e.createStyleLayer(a);l._featureFilter=e.createFilter(l.filter),this.keyCache[a.id]&&delete this.keyCache[a.id];}for(var u=0,h=i;u<h.length;u+=1){var c=h[u];delete this.keyCache[c],delete this._layerConfigs[c],delete this._layers[c];}this.familiesBySource={};for(var p=function(e,t){for(var i={},o=0;o<e.length;o++){var n=t&&t[e[o].id]||r(e[o]);t&&(t[e[o].id]=n);var s=i[n];s||(s=i[n]=[]),s.push(e[o]);}var a=[];for(var l in i)a.push(i[l]);return a}(e.values(this._layerConfigs),this.keyCache),f=0,g=p;f<g.length;f+=1){var d=g[f].map((function(e){return o._layers[e.id]})),v=d[0];if("none"!==v.visibility){var m=v.source||"",y=this.familiesBySource[m];y||(y=this.familiesBySource[m]={});var x=v.sourceLayer||"_geojsonTileLayer",w=y[x];w||(w=y[x]=[]),w.push(d);}}};var o=function(t){var r={},i=[];for(var o in t){var n=t[o],s=r[o]={};for(var a in n){var l=n[+a];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};i.push(u),s[a]={rect:u,metrics:l.metrics};}}}var h=e.potpack(i),c=new e.AlphaImage({width:h.w||1,height:h.h||1});for(var p in t){var f=t[p];for(var g in f){var d=f[+g];if(d&&0!==d.bitmap.width&&0!==d.bitmap.height){var v=r[p][g].rect;e.AlphaImage.copy(d.bitmap,c,{x:0,y:0},{x:v.x+1,y:v.y+1},d.bitmap);}}}this.image=c,this.positions=r;};e.register("GlyphAtlas",o);var n=function(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId;};function s(t,r,i){for(var o=new e.EvaluationParameters(r),n=0,s=t;n<s.length;n+=1)s[n].recalculate(o,i);}function a(t,r){var i=e.getArrayBuffer(t.request,(function(t,i,o,n){t?r(t):i&&r(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:o,expires:n});}));return function(){i.cancel(),r();}}n.prototype.parse=function(t,r,i,n,a){var l=this;this.status="parsing",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;var u=new e.DictionaryCoder(Object.keys(t.layers).sort()),h=new e.FeatureIndex(this.tileID,this.promoteId);h.bucketLayerIDs=[];var c,p,f,g,d={},v={featureIndex:h,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},m=r.familiesBySource[this.source];for(var y in m){var x=t.layers[y];if(x){1===x.version&&e.warnOnce('Vector tile source "'+this.source+'" layer "'+y+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=u.encode(y),S=[],M=0;M<x.length;M++){var I=x.feature(M),b=h.getId(I,y);S.push({feature:I,id:b,index:M,sourceLayerIndex:w});}for(var k=0,P=m[y];k<P.length;k+=1){var T=P[k],C=T[0];C.source!==this.source&&e.warnOnce("layer.source = "+C.source+" does not equal this.source = "+this.source),C.minzoom&&this.zoom<Math.floor(C.minzoom)||C.maxzoom&&this.zoom>=C.maxzoom||"none"!==C.visibility&&(s(T,this.zoom,i),(d[C.id]=C.createBucket({index:h.bucketLayerIDs.length,layers:T,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:w,sourceID:this.source})).populate(S,v,this.tileID.canonical),h.bucketLayerIDs.push(T.map((function(e){return e.id}))));}}}var _=e.mapObject(v.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(_).length?n.send("getGlyphs",{uid:this.uid,stacks:_},(function(e,t){c||(c=e,p=t,z.call(l));})):p={};var D=Object.keys(v.iconDependencies);D.length?n.send("getImages",{icons:D,source:this.source,tileID:this.tileID,type:"icons"},(function(e,t){c||(c=e,f=t,z.call(l));})):f={};var L=Object.keys(v.patternDependencies);function z(){if(c)return a(c);if(p&&f&&g){var t=new o(p),r=new e.ImageAtlas(f,g);for(var n in d){var l=d[n];l instanceof e.SymbolBucket?(s(l.layers,this.zoom,i),e.performSymbolLayout({bucket:l,glyphMap:p,glyphPositions:t.positions,imageMap:f,imagePositions:r.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(s(l.layers,this.zoom,i),l.addFeatures(v,this.tileID.canonical,r.patternPositions));}this.status="done",a(null,{buckets:e.values(d).filter((function(e){return !e.isEmpty()})),featureIndex:h,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?t.positions:null});}}L.length?n.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"patterns"},(function(e,t){c||(c=e,g=t,z.call(l));})):g={},z.call(this);};var l=function(e,t,r,i){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=i||a,this.loading={},this.loaded={};};l.prototype.loadTile=function(t,r){var i=this,o=t.uid;this.loading||(this.loading={});var s=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),a=this.loading[o]=new n(t);a.abort=this.loadVectorData(t,(function(t,n){if(delete i.loading[o],t||!n)return a.status="done",i.loaded[o]=a,r(t);var l=n.rawData,u={};n.expires&&(u.expires=n.expires),n.cacheControl&&(u.cacheControl=n.cacheControl);var h={};if(s){var c=s.finish();c&&(h.resourceTiming=JSON.parse(JSON.stringify(c)));}a.vectorTile=n.vectorTile,a.parse(n.vectorTile,i.layerIndex,i.availableImages,i.actor,(function(t,i){if(t||!i)return r(t);r(null,e.extend({rawTileData:l.slice(0)},i,u,h));})),i.loaded=i.loaded||{},i.loaded[o]=a;}));},l.prototype.reloadTile=function(e,t){var r=this,i=this.loaded,o=e.uid,n=this;if(i&&i[o]){var s=i[o];s.showCollisionBoxes=e.showCollisionBoxes;var a=function(e,i){var o=s.reloadCallback;o&&(delete s.reloadCallback,s.parse(s.vectorTile,n.layerIndex,r.availableImages,n.actor,o)),t(e,i);};"parsing"===s.status?s.reloadCallback=a:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a());}},l.prototype.abortTile=function(e,t){var r=this.loading,i=e.uid;r&&r[i]&&r[i].abort&&(r[i].abort(),delete r[i]),t();},l.prototype.removeTile=function(e,t){var r=this.loaded,i=e.uid;r&&r[i]&&delete r[i],t();};var u=function(){this.loaded={};};u.prototype.loadTile=function(t,r){var i=t.uid,o=t.encoding,n=t.rawImageData,s=e.isImageBitmap(n)?this.getImageData(n):n,a=new e.DEMData(i,s,o);this.loaded=this.loaded||{},this.loaded[i]=a,r(null,a);},u.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r];};var h=function e(t,r){var i,o=t&&t.type;if("FeatureCollection"===o)for(i=0;i<t.features.length;i++)e(t.features[i],r);else if("GeometryCollection"===o)for(i=0;i<t.geometries.length;i++)e(t.geometries[i],r);else if("Feature"===o)e(t.geometry,r);else if("Polygon"===o)c(t.coordinates,r);else if("MultiPolygon"===o)for(i=0;i<t.coordinates.length;i++)c(t.coordinates[i],r);return t};function c(e,t){if(0!==e.length){p(e[0],t);for(var r=1;r<e.length;r++)p(e[r],!t);}}function p(e,t){for(var r=0,i=0,o=0,n=e.length,s=n-1;o<n;s=o++){var a=(e[o][0]-e[s][0])*(e[s][1]+e[o][1]),l=r+a;i+=Math.abs(r)>=Math.abs(a)?r-l+a:a-l+r,r=l;}r+i>=0!=!!t&&e.reverse();}var f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,g=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));};g.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,i=this._feature.geometry;r<i.length;r+=1){var o=i[r];t.push([new e.pointGeometry(o[0],o[1])]);}return t}for(var n=[],s=0,a=this._feature.geometry;s<a.length;s+=1){for(var l=[],u=0,h=a[s];u<h.length;u+=1){var c=h[u];l.push(new e.pointGeometry(c[0],c[1]));}n.push(l);}return n},g.prototype.toGeoJSON=function(e,t,r){return f.call(this,e,t,r)};var d=function(t){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=e.EXTENT,this.length=t.length,this._features=t;};d.prototype.feature=function(e){return new g(this._features[e])};var v={exports:{}},m=e.pointGeometry,y=e.vectorTile.VectorTileFeature,x=w;function w(e,t){this.options=t||{},this.features=e,this.length=e.length;}function S(e,t){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096;}w.prototype.feature=function(e){return new S(this.features[e],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t<e.length;t++){for(var r=e[t],i=[],o=0;o<r.length;o++)i.push(new m(r[o][0],r[o][1]));this.geometry.push(i);}return this.geometry},S.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,r=-1/0,i=1/0,o=-1/0,n=0;n<e.length;n++)for(var s=e[n],a=0;a<s.length;a++){var l=s[a];t=Math.min(t,l.x),r=Math.max(r,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);}return [t,i,r,o]},S.prototype.toGeoJSON=y.prototype.toGeoJSON;var M=e.pbf,I=x;function b(e){var t=new M;return function(e,t){for(var r in e.layers)t.writeMessage(3,k,e.layers[r]);}(e,t),t.finish()}function k(e,t){var r;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||""),t.writeVarintField(5,e.extent||4096);var i={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<e.length;r++)i.feature=e.feature(r),t.writeMessage(2,P,i);var o=i.keys;for(r=0;r<o.length;r++)t.writeStringField(3,o[r]);var n=i.values;for(r=0;r<n.length;r++)t.writeMessage(4,L,n[r]);}function P(e,t){var r=e.feature;void 0!==r.id&&t.writeVarintField(1,r.id),t.writeMessage(2,T,e),t.writeVarintField(3,r.type),t.writeMessage(4,D,r);}function T(e,t){var r=e.feature,i=e.keys,o=e.values,n=e.keycache,s=e.valuecache;for(var a in r.properties){var l=r.properties[a],u=n[a];if(null!==l){void 0===u&&(i.push(a),n[a]=u=i.length-1),t.writeVarint(u);var h=typeof l;"string"!==h&&"boolean"!==h&&"number"!==h&&(l=JSON.stringify(l));var c=h+":"+l,p=s[c];void 0===p&&(o.push(l),s[c]=p=o.length-1),t.writeVarint(p);}}}function C(e,t){return (t<<3)+(7&e)}function _(e){return e<<1^e>>31}function D(e,t){for(var r=e.loadGeometry(),i=e.type,o=0,n=0,s=r.length,a=0;a<s;a++){var l=r[a],u=1;1===i&&(u=l.length),t.writeVarint(C(1,u));for(var h=3===i?l.length-1:l.length,c=0;c<h;c++){1===c&&1!==i&&t.writeVarint(C(2,h-1));var p=l[c].x-o,f=l[c].y-n;t.writeVarint(_(p)),t.writeVarint(_(f)),o+=p,n+=f;}3===i&&t.writeVarint(C(7,1));}}function L(e,t){var r=typeof e;"string"===r?t.writeStringField(1,e):"boolean"===r?t.writeBooleanField(7,e):"number"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e));}function z(e,t,r,i,o,n){if(!(o-i<=r)){var s=i+o>>1;O(e,t,s,i,o,n%2),z(e,t,r,i,s-1,n+1),z(e,t,r,s+1,o,n+1);}}function O(e,t,r,i,o,n){for(;o>i;){if(o-i>600){var s=o-i+1,a=r-i+1,l=Math.log(s),u=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*u*(s-u)/s)*(a-s/2<0?-1:1);O(e,t,r,Math.max(i,Math.floor(r-a*u/s+h)),Math.min(o,Math.floor(r+(s-a)*u/s+h)),n);}var c=t[2*r+n],p=i,f=o;for(E(e,t,i,r),t[2*o+n]>c&&E(e,t,i,o);p<f;){for(E(e,t,p,f),p++,f--;t[2*p+n]<c;)p++;for(;t[2*f+n]>c;)f--;}t[2*i+n]===c?E(e,t,i,f):E(e,t,++f,o),f<=r&&(i=f+1),r<=f&&(o=f-1);}}function E(e,t,r,i){F(e,r,i),F(t,2*r,2*i),F(t,2*r+1,2*i+1);}function F(e,t,r){var i=e[t];e[t]=e[r],e[r]=i;}function N(e,t,r,i){var o=e-r,n=t-i;return o*o+n*n}v.exports=b,v.exports.fromVectorTileJs=b,v.exports.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var i in e)r[i]=new I(e[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return b({layers:r})},v.exports.GeoJSONWrapper=I;var A=function(e){return e[0]},B=function(e){return e[1]},J=function(e,t,r,i,o){void 0===t&&(t=A),void 0===r&&(r=B),void 0===i&&(i=64),void 0===o&&(o=Float64Array),this.nodeSize=i,this.points=e;for(var n=e.length<65536?Uint16Array:Uint32Array,s=this.ids=new n(e.length),a=this.coords=new o(2*e.length),l=0;l<e.length;l++)s[l]=l,a[2*l]=t(e[l]),a[2*l+1]=r(e[l]);z(s,a,i,0,s.length-1,0);};J.prototype.range=function(e,t,r,i){return function(e,t,r,i,o,n,s){for(var a,l,u=[0,e.length-1,0],h=[];u.length;){var c=u.pop(),p=u.pop(),f=u.pop();if(p-f<=s)for(var g=f;g<=p;g++)l=t[2*g+1],(a=t[2*g])>=r&&a<=o&&l>=i&&l<=n&&h.push(e[g]);else {var d=Math.floor((f+p)/2);l=t[2*d+1],(a=t[2*d])>=r&&a<=o&&l>=i&&l<=n&&h.push(e[d]);var v=(c+1)%2;(0===c?r<=a:i<=l)&&(u.push(f),u.push(d-1),u.push(v)),(0===c?o>=a:n>=l)&&(u.push(d+1),u.push(p),u.push(v));}}return h}(this.ids,this.coords,e,t,r,i,this.nodeSize)},J.prototype.within=function(e,t,r){return function(e,t,r,i,o,n){for(var s=[0,e.length-1,0],a=[],l=o*o;s.length;){var u=s.pop(),h=s.pop(),c=s.pop();if(h-c<=n)for(var p=c;p<=h;p++)N(t[2*p],t[2*p+1],r,i)<=l&&a.push(e[p]);else {var f=Math.floor((c+h)/2),g=t[2*f],d=t[2*f+1];N(g,d,r,i)<=l&&a.push(e[f]);var v=(u+1)%2;(0===u?r-o<=g:i-o<=d)&&(s.push(c),s.push(f-1),s.push(v)),(0===u?r+o>=g:i+o>=d)&&(s.push(f+1),s.push(h),s.push(v));}}return a}(this.ids,this.coords,e,t,r,this.nodeSize)};var Z,G={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},Y=Math.fround||(Z=new Float32Array(1),function(e){return Z[0]=+e,Z[0]}),j=function(e){this.options=H(Object.create(G),e),this.trees=new Array(this.options.maxZoom+1);};function V(e,t,r,i,o){return {x:Y(e),y:Y(t),zoom:1/0,id:r,parentId:-1,numPoints:i,properties:o}}function X(e,t){var r=e.geometry.coordinates,i=r[1];return {x:Y(q(r[0])),y:Y(U(i)),zoom:1/0,index:t,parentId:-1}}function R(e){return {type:"Feature",id:e.id,properties:W(e),geometry:{type:"Point",coordinates:[(i=e.x,360*(i-.5)),(t=e.y,r=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var t,r,i;}function W(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return H(H({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function q(e){return e/360+.5}function U(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function H(e,t){for(var r in t)e[r]=t[r];return e}function K(e){return e.x}function Q(e){return e.y}function $(e,t,r,i){for(var o,n=i,s=r-t>>1,a=r-t,l=e[t],u=e[t+1],h=e[r],c=e[r+1],p=t+3;p<r;p+=3){var f=ee(e[p],e[p+1],l,u,h,c);if(f>n)o=p,n=f;else if(f===n){var g=Math.abs(p-s);g<a&&(o=p,a=g);}}n>i&&(o-t>3&&$(e,t,o,i),e[o+2]=n,r-o>3&&$(e,o,r,i));}function ee(e,t,r,i,o,n){var s=o-r,a=n-i;if(0!==s||0!==a){var l=((e-r)*s+(t-i)*a)/(s*s+a*a);l>1?(r=o,i=n):l>0&&(r+=s*l,i+=a*l);}return (s=e-r)*s+(a=t-i)*a}function te(e,t,r,i){var o={id:void 0===e?null:e,type:t,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)re(e,t);else if("Polygon"===r||"MultiLineString"===r)for(var i=0;i<t.length;i++)re(e,t[i]);else if("MultiPolygon"===r)for(i=0;i<t.length;i++)for(var o=0;o<t[i].length;o++)re(e,t[i][o]);}(o),o}function re(e,t){for(var r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1]);}function ie(e,t,r,i){if(t.geometry){var o=t.geometry.coordinates,n=t.geometry.type,s=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),a=[],l=t.id;if(r.promoteId?l=t.properties[r.promoteId]:r.generateId&&(l=i||0),"Point"===n)oe(o,a);else if("MultiPoint"===n)for(var u=0;u<o.length;u++)oe(o[u],a);else if("LineString"===n)ne(o,a,s,!1);else if("MultiLineString"===n){if(r.lineMetrics){for(u=0;u<o.length;u++)ne(o[u],a=[],s,!1),e.push(te(l,"LineString",a,t.properties));return}se(o,a,s,!1);}else if("Polygon"===n)se(o,a,s,!0);else {if("MultiPolygon"!==n){if("GeometryCollection"===n){for(u=0;u<t.geometry.geometries.length;u++)ie(e,{id:l,geometry:t.geometry.geometries[u],properties:t.properties},r,i);return}throw new Error("Input data is not a valid GeoJSON object.")}for(u=0;u<o.length;u++){var h=[];se(o[u],h,s,!0),a.push(h);}}e.push(te(l,n,a,t.properties));}}function oe(e,t){t.push(ae(e[0])),t.push(le(e[1])),t.push(0);}function ne(e,t,r,i){for(var o,n,s=0,a=0;a<e.length;a++){var l=ae(e[a][0]),u=le(e[a][1]);t.push(l),t.push(u),t.push(0),a>0&&(s+=i?(o*u-l*n)/2:Math.sqrt(Math.pow(l-o,2)+Math.pow(u-n,2))),o=l,n=u;}var h=t.length-3;t[2]=1,$(t,0,h,r),t[h+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size;}function se(e,t,r,i){for(var o=0;o<e.length;o++){var n=[];ne(e[o],n,r,i),t.push(n);}}function ae(e){return e/360+.5}function le(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function ue(e,t,r,i,o,n,s,a){if(i/=t,n>=(r/=t)&&s<i)return e;if(s<r||n>=i)return null;for(var l=[],u=0;u<e.length;u++){var h=e[u],c=h.geometry,p=h.type,f=0===o?h.minX:h.minY,g=0===o?h.maxX:h.maxY;if(f>=r&&g<i)l.push(h);else if(!(g<r||f>=i)){var d=[];if("Point"===p||"MultiPoint"===p)he(c,d,r,i,o);else if("LineString"===p)ce(c,d,r,i,o,!1,a.lineMetrics);else if("MultiLineString"===p)fe(c,d,r,i,o,!1);else if("Polygon"===p)fe(c,d,r,i,o,!0);else if("MultiPolygon"===p)for(var v=0;v<c.length;v++){var m=[];fe(c[v],m,r,i,o,!0),m.length&&d.push(m);}if(d.length){if(a.lineMetrics&&"LineString"===p){for(v=0;v<d.length;v++)l.push(te(h.id,p,d[v],h.tags));continue}"LineString"!==p&&"MultiLineString"!==p||(1===d.length?(p="LineString",d=d[0]):p="MultiLineString"),"Point"!==p&&"MultiPoint"!==p||(p=3===d.length?"Point":"MultiPoint"),l.push(te(h.id,p,d,h.tags));}}}return l.length?l:null}function he(e,t,r,i,o){for(var n=0;n<e.length;n+=3){var s=e[n+o];s>=r&&s<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function ce(e,t,r,i,o,n,s){for(var a,l,u=pe(e),h=0===o?de:ve,c=e.start,p=0;p<e.length-3;p+=3){var f=e[p],g=e[p+1],d=e[p+2],v=e[p+3],m=e[p+4],y=0===o?f:g,x=0===o?v:m,w=!1;s&&(a=Math.sqrt(Math.pow(f-v,2)+Math.pow(g-m,2))),y<r?x>r&&(l=h(u,f,g,v,m,r),s&&(u.start=c+a*l)):y>i?x<i&&(l=h(u,f,g,v,m,i),s&&(u.start=c+a*l)):ge(u,f,g,d),x<r&&y>=r&&(l=h(u,f,g,v,m,r),w=!0),x>i&&y<=i&&(l=h(u,f,g,v,m,i),w=!0),!n&&w&&(s&&(u.end=c+a*l),t.push(u),u=pe(e)),s&&(c+=a);}var S=e.length-3;f=e[S],g=e[S+1],d=e[S+2],(y=0===o?f:g)>=r&&y<=i&&ge(u,f,g,d),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&ge(u,u[0],u[1],u[2]),u.length&&t.push(u);}function pe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function fe(e,t,r,i,o,n){for(var s=0;s<e.length;s++)ce(e[s],t,r,i,o,n,!1);}function ge(e,t,r,i){e.push(t),e.push(r),e.push(i);}function de(e,t,r,i,o,n){var s=(n-t)/(i-t);return e.push(n),e.push(r+(o-r)*s),e.push(1),s}function ve(e,t,r,i,o,n){var s=(n-r)/(o-r);return e.push(t+(i-t)*s),e.push(n),e.push(1),s}function me(e,t){for(var r=[],i=0;i<e.length;i++){var o,n=e[i],s=n.type;if("Point"===s||"MultiPoint"===s||"LineString"===s)o=ye(n.geometry,t);else if("MultiLineString"===s||"Polygon"===s){o=[];for(var a=0;a<n.geometry.length;a++)o.push(ye(n.geometry[a],t));}else if("MultiPolygon"===s)for(o=[],a=0;a<n.geometry.length;a++){for(var l=[],u=0;u<n.geometry[a].length;u++)l.push(ye(n.geometry[a][u],t));o.push(l);}r.push(te(n.id,s,o,n.tags));}return r}function ye(e,t){var r=[];r.size=e.size,void 0!==e.start&&(r.start=e.start,r.end=e.end);for(var i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function xe(e,t){if(e.transformed)return e;var r,i,o,n=1<<e.z,s=e.x,a=e.y;for(r=0;r<e.features.length;r++){var l=e.features[r],u=l.geometry,h=l.type;if(l.geometry=[],1===h)for(i=0;i<u.length;i+=2)l.geometry.push(we(u[i],u[i+1],t,n,s,a));else for(i=0;i<u.length;i++){var c=[];for(o=0;o<u[i].length;o+=2)c.push(we(u[i][o],u[i][o+1],t,n,s,a));l.geometry.push(c);}}return e.transformed=!0,e}function we(e,t,r,i,o,n){return [Math.round(r*(e*i-o)),Math.round(r*(t*i-n))]}function Se(e,t,r,i,o){for(var n=t===o.maxZoom?0:o.tolerance/((1<<t)*o.extent),s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},a=0;a<e.length;a++){s.numFeatures++,Me(s,e[a],n,o);var l=e[a].minX,u=e[a].minY,h=e[a].maxX,c=e[a].maxY;l<s.minX&&(s.minX=l),u<s.minY&&(s.minY=u),h>s.maxX&&(s.maxX=h),c>s.maxY&&(s.maxY=c);}return s}function Me(e,t,r,i){var o=t.geometry,n=t.type,s=[];if("Point"===n||"MultiPoint"===n)for(var a=0;a<o.length;a+=3)s.push(o[a]),s.push(o[a+1]),e.numPoints++,e.numSimplified++;else if("LineString"===n)Ie(s,o,e,r,!1,!1);else if("MultiLineString"===n||"Polygon"===n)for(a=0;a<o.length;a++)Ie(s,o[a],e,r,"Polygon"===n,0===a);else if("MultiPolygon"===n)for(var l=0;l<o.length;l++){var u=o[l];for(a=0;a<u.length;a++)Ie(s,u[a],e,r,!0,0===a);}if(s.length){var h=t.tags||null;if("LineString"===n&&i.lineMetrics){for(var c in h={},t.tags)h[c]=t.tags[c];h.mapbox_clip_start=o.start/o.size,h.mapbox_clip_end=o.end/o.size;}var p={geometry:s,type:"Polygon"===n||"MultiPolygon"===n?3:"LineString"===n||"MultiLineString"===n?2:1,tags:h};null!==t.id&&(p.id=t.id),e.features.push(p);}}function Ie(e,t,r,i,o,n){var s=i*i;if(i>0&&t.size<(o?s:i))r.numPoints+=t.length/3;else {for(var a=[],l=0;l<t.length;l+=3)(0===i||t[l+2]>s)&&(r.numSimplified++,a.push(t[l]),a.push(t[l+1])),r.numPoints++;o&&function(e,t){for(var r=0,i=0,o=e.length,n=o-2;i<o;n=i,i+=2)r+=(e[i]-e[n])*(e[i+1]+e[n+1]);if(r>0===t)for(i=0,o=e.length;i<o/2;i+=2){var s=e[i],a=e[i+1];e[i]=e[o-2-i],e[i+1]=e[o-1-i],e[o-2-i]=s,e[o-1-i]=a;}}(a,n),e.push(a);}}function be(e,t){var r=(t=this.options=function(e,t){for(var r in t)e[r]=t[r];return e}(Object.create(this.options),t)).debug;if(r&&console.time("preprocess data"),t.maxZoom<0||t.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var i=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var i=0;i<e.features.length;i++)ie(r,e.features[i],t,i);else ie(r,"Feature"===e.type?e:{geometry:e},t);return r}(e,t);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),i=function(e,t){var r=t.buffer/t.extent,i=e,o=ue(e,1,-1-r,r,0,-1,2,t),n=ue(e,1,1-r,2+r,0,-1,2,t);return (o||n)&&(i=ue(e,1,-r,1+r,0,-1,2,t)||[],o&&(i=me(o,1).concat(i)),n&&(i=i.concat(me(n,-1)))),i}(i,t),i.length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)));}function ke(e,t,r){return 32*((1<<e)*r+t)+e}function Pe(e,t){var r=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);var i=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!i)return t(null,null);var o=new d(i.features),n=v.exports(o);0===n.byteOffset&&n.byteLength===n.buffer.byteLength||(n=new Uint8Array(n)),t(null,{vectorTile:o,rawData:n.buffer});}j.prototype.load=function(e){var t=this.options,r=t.log,i=t.minZoom,o=t.maxZoom,n=t.nodeSize;r&&console.time("total time");var s="prepare "+e.length+" points";r&&console.time(s),this.points=e;for(var a=[],l=0;l<e.length;l++)e[l].geometry&&a.push(X(e[l],l));this.trees[o+1]=new J(a,K,Q,n,Float32Array),r&&console.timeEnd(s);for(var u=o;u>=i;u--){var h=+Date.now();a=this._cluster(a,u),this.trees[u]=new J(a,K,Q,n,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,a.length,+Date.now()-h);}return r&&console.timeEnd("total time"),this},j.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,o=180;else if(r>o){var s=this.getClusters([r,i,180,n],t),a=this.getClusters([-180,i,o,n],t);return s.concat(a)}for(var l=this.trees[this._limitZoom(t)],u=[],h=0,c=l.range(q(r),U(n),q(o),U(i));h<c.length;h+=1){var p=l.points[c[h]];u.push(p.numPoints?R(p):this.points[p.index]);}return u},j.prototype.getChildren=function(e){var t=this._getOriginId(e),r=this._getOriginZoom(e),i="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(i);var n=o.points[t];if(!n)throw new Error(i);for(var s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=[],l=0,u=o.within(n.x,n.y,s);l<u.length;l+=1){var h=o.points[u[l]];h.parentId===e&&a.push(h.numPoints?R(h):this.points[h.index]);}if(0===a.length)throw new Error(i);return a},j.prototype.getLeaves=function(e,t,r){var i=[];return this._appendLeaves(i,e,t=t||10,r=r||0,0),i},j.prototype.getTile=function(e,t,r){var i=this.trees[this._limitZoom(e)],o=Math.pow(2,e),n=this.options,s=n.radius/n.extent,a=(r-s)/o,l=(r+1+s)/o,u={features:[]};return this._addTileFeatures(i.range((t-s)/o,a,(t+1+s)/o,l),i.points,t,r,o,u),0===t&&this._addTileFeatures(i.range(1-s/o,a,1,l),i.points,o,r,o,u),t===o-1&&this._addTileFeatures(i.range(0,a,s/o,l),i.points,-1,r,o,u),u.features.length?u:null},j.prototype.getClusterExpansionZoom=function(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t},j.prototype._appendLeaves=function(e,t,r,i,o){for(var n=0,s=this.getChildren(t);n<s.length;n+=1){var a=s[n],l=a.properties;if(l&&l.cluster?o+l.point_count<=i?o+=l.point_count:o=this._appendLeaves(e,l.cluster_id,r,i,o):o<i?o++:e.push(a),e.length===r)break}return o},j.prototype._addTileFeatures=function(e,t,r,i,o,n){for(var s=0,a=e;s<a.length;s+=1){var l=t[a[s]],u=l.numPoints,h=void 0,c=void 0,p=void 0;if(u)h=W(l),c=l.x,p=l.y;else {var f=this.points[l.index];h=f.properties,c=q(f.geometry.coordinates[0]),p=U(f.geometry.coordinates[1]);}var g={type:1,geometry:[[Math.round(this.options.extent*(c*o-r)),Math.round(this.options.extent*(p*o-i))]],tags:h},d=void 0;u?d=l.id:this.options.generateId?d=l.index:this.points[l.index].id&&(d=this.points[l.index].id),void 0!==d&&(g.id=d),n.features.push(g);}},j.prototype._limitZoom=function(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))},j.prototype._cluster=function(e,t){for(var r=[],i=this.options,o=i.reduce,n=i.minPoints,s=i.radius/(i.extent*Math.pow(2,t)),a=0;a<e.length;a++){var l=e[a];if(!(l.zoom<=t)){l.zoom=t;for(var u=this.trees[t+1],h=u.within(l.x,l.y,s),c=l.numPoints||1,p=c,f=0,g=h;f<g.length;f+=1){var d=u.points[g[f]];d.zoom>t&&(p+=d.numPoints||1);}if(p>c&&p>=n){for(var v=l.x*c,m=l.y*c,y=o&&c>1?this._map(l,!0):null,x=(a<<5)+(t+1)+this.points.length,w=0,S=h;w<S.length;w+=1){var M=u.points[S[w]];if(!(M.zoom<=t)){M.zoom=t;var I=M.numPoints||1;v+=M.x*I,m+=M.y*I,M.parentId=x,o&&(y||(y=this._map(l,!0)),o(y,this._map(M)));}}l.parentId=x,r.push(V(v/p,m/p,x,p,y));}else if(r.push(l),p>1)for(var b=0,k=h;b<k.length;b+=1){var P=u.points[k[b]];P.zoom<=t||(P.zoom=t,r.push(P));}}}return r},j.prototype._getOriginId=function(e){return e-this.points.length>>5},j.prototype._getOriginZoom=function(e){return (e-this.points.length)%32},j.prototype._map=function(e,t){if(e.numPoints)return t?H({},e.properties):e.properties;var r=this.points[e.index].properties,i=this.options.map(r);return t&&i===r?H({},i):i},be.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},be.prototype.splitTile=function(e,t,r,i,o,n,s){for(var a=[e,t,r,i],l=this.options,u=l.debug;a.length;){i=a.pop(),r=a.pop(),t=a.pop(),e=a.pop();var h=1<<t,c=ke(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time("creation"),p=this.tiles[c]=Se(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var f="z"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++;}if(p.source=e,o){if(t===l.maxZoom||t===o)continue;var g=1<<o-t;if(r!==Math.floor(n/g)||i!==Math.floor(s/g))continue}else if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue;if(p.source=null,0!==e.length){u>1&&console.time("clipping");var d,v,m,y,x,w,S=.5*l.buffer/l.extent,M=.5-S,I=.5+S,b=1+S;d=v=m=y=null,x=ue(e,h,r-S,r+I,0,p.minX,p.maxX,l),w=ue(e,h,r+M,r+b,0,p.minX,p.maxX,l),e=null,x&&(d=ue(x,h,i-S,i+I,1,p.minY,p.maxY,l),v=ue(x,h,i+M,i+b,1,p.minY,p.maxY,l),x=null),w&&(m=ue(w,h,i-S,i+I,1,p.minY,p.maxY,l),y=ue(w,h,i+M,i+b,1,p.minY,p.maxY,l),w=null),u>1&&console.timeEnd("clipping"),a.push(d||[],t+1,2*r,2*i),a.push(v||[],t+1,2*r,2*i+1),a.push(m||[],t+1,2*r+1,2*i),a.push(y||[],t+1,2*r+1,2*i+1);}}},be.prototype.getTile=function(e,t,r){var i=this.options,o=i.extent,n=i.debug;if(e<0||e>24)return null;var s=1<<e,a=ke(e,t=(t%s+s)%s,r);if(this.tiles[a])return xe(this.tiles[a],o);n>1&&console.log("drilling down to z%d-%d-%d",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;)u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[ke(u,h,c)];return l&&l.source?(n>1&&console.log("found parent tile z%d-%d-%d",u,h,c),n>1&&console.time("drilling down"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd("drilling down"),this.tiles[a]?xe(this.tiles[a],o):null):null};var Te=function(t){function r(e,r,i,o){t.call(this,e,r,i,Pe),o&&(this.loadGeoJSON=o);}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r.prototype.loadData=function(t,r){var i,o=this;null===(i=this._pendingRequest)||void 0===i||i.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});var n=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request);this._pendingCallback=r,this._pendingRequest=this.loadGeoJSON(t,(function(i,s){if(delete o._pendingCallback,delete o._pendingRequest,i||!s)return r(i);if("object"!=typeof s)return r(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));h(s,!0);try{if(t.filter){var a=e.createExpression(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===a.result)throw new Error(a.value.map((function(e){return e.key+": "+e.message})).join(", "));var l=s.features.filter((function(e){return a.value.evaluate({zoom:0},e)}));s={type:"FeatureCollection",features:l};}o._geoJSONIndex=t.cluster?new j(function(t){var r=t.superclusterOptions,i=t.clusterProperties;if(!i||!r)return r;for(var o={},n={},s={accumulated:null,zoom:0},a={properties:null},l=Object.keys(i),u=0,h=l;u<h.length;u+=1){var c=h[u],p=i[c],f=p[0],g=e.createExpression(p[1]),d=e.createExpression("string"==typeof f?[f,["accumulated"],["get",c]]:f);o[c]=g.value,n[c]=d.value;}return r.map=function(e){a.properties=e;for(var t={},r=0,i=l;r<i.length;r+=1){var n=i[r];t[n]=o[n].evaluate(s,a);}return t},r.reduce=function(e,t){a.properties=t;for(var r=0,i=l;r<i.length;r+=1){var o=i[r];s.accumulated=e[o],e[o]=n[o].evaluate(s,a);}},r}(t)).load(s.features):function(e,t){return new be(e,t)}(s,t.geojsonVtOptions);}catch(e){return r(e)}o.loaded={};var u={};if(n){var c=n.finish();c&&(u.resourceTiming={},u.resourceTiming[t.source]=JSON.parse(JSON.stringify(c)));}r(null,u);}));},r.prototype.reloadTile=function(e,r){var i=this.loaded;return i&&i[e.uid]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},r.prototype.loadGeoJSON=function(t,r){if(t.request)return e.getJSON(t.request,r);if("string"==typeof t.data)try{r(null,JSON.parse(t.data));}catch(e){r(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));}else r(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));return {cancel:function(){}}},r.prototype.removeSource=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();},r.prototype.getClusterExpansionZoom=function(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterChildren=function(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}},r.prototype.getClusterLeaves=function(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}},r}(l),Ce=function(t){var r=this;this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Te},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(e,t){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=function(t){if(e.plugin.isParsed())throw new Error("RTL text plugin already registered.");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};};return Ce.prototype.setReferrer=function(e,t){this.referrer=t;},Ce.prototype.setImages=function(e,t,r){for(var i in this.availableImages[e]=t,this.workerSources[e]){var o=this.workerSources[e][i];for(var n in o)o[n].availableImages=t;}r();},Ce.prototype.setLayers=function(e,t,r){this.getLayerIndex(e).replace(t),r();},Ce.prototype.updateLayers=function(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();},Ce.prototype.loadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).loadTile(t,r);},Ce.prototype.loadDEMTile=function(e,t,r){this.getDEMWorkerSource(e,t.source).loadTile(t,r);},Ce.prototype.reloadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).reloadTile(t,r);},Ce.prototype.abortTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);},Ce.prototype.removeTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);},Ce.prototype.removeDEMTile=function(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);},Ce.prototype.removeSource=function(e,t,r){if(this.workerSources[e]&&this.workerSources[e][t.type]&&this.workerSources[e][t.type][t.source]){var i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,r):r();}},Ce.prototype.loadWorkerSource=function(e,t,r){try{this.self.importScripts(t.url),r();}catch(e){r(e.toString());}},Ce.prototype.syncRTLPluginState=function(t,r,i){try{e.plugin.setState(r);var o=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=o){this.self.importScripts(o);var n=e.plugin.isParsed();i(n?void 0:new Error("RTL Text Plugin failed to import scripts from "+o),n);}}catch(e){i(e.toString());}},Ce.prototype.getAvailableImages=function(e){var t=this.availableImages[e];return t||(t=[]),t},Ce.prototype.getLayerIndex=function(e){var t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t},Ce.prototype.getWorkerSource=function(e,t,r){var i=this;if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){var o={send:function(t,r,o){i.actor.send(t,r,o,e);}};this.workerSources[e][t][r]=new this.workerSourceTypes[t](o,this.getLayerIndex(e),this.getAvailableImages(e));}return this.workerSources[e][t][r]},Ce.prototype.getDEMWorkerSource=function(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new u),this.demWorkerSources[e][t]},Ce.prototype.enforceCacheSizeLimit=function(t,r){e.enforceCacheSizeLimit(r);},e.isWorker()&&(self.worker=new Ce(self)),Ce}));
|
|
35
|
+
|
|
36
|
+
define(["./shared"],(function(t){"use strict";var e=i;function i(t){return !function(t){return "undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return !1;var t,e,i=new Blob([""],{type:"text/javascript"}),r=URL.createObjectURL(i);try{e=new Worker(r),t=!0;}catch(e){t=!1;}return e&&e.terminate(),URL.revokeObjectURL(r),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return !1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===r[e=t&&t.failIfMajorPerformanceCaveat]&&(r[e]=function(t){var e,r=function(t){var e=document.createElement("canvas"),r=Object.create(i.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.getContext("webgl",r)||e.getContext("experimental-webgl",r)}(t);if(!r)return !1;try{e=r.createShader(r.VERTEX_SHADER);}catch(t){return !1}return !(!e||r.isContextLost())&&(r.shaderSource(e,"void main() {}"),r.compileShader(e),!0===r.getShaderParameter(e,r.COMPILE_STATUS))}(e)),r[e]?document.documentMode?"insufficient ECMAScript 6 support":void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var e;}(t)}var r={};function o(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(var i=0;i<t.length;i++)if(!o(t[i],e[i]))return !1;return !0}if("object"==typeof t&&null!==t&&null!==e){if("object"!=typeof e)return !1;if(Object.keys(t).length!==Object.keys(e).length)return !1;for(var r in t)if(!o(t[r],e[r]))return !1;return !0}return t===e}i.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};var a=function(){};a.testProp=function(t){if(!a.docStyle)return t[0];for(var e=0;e<t.length;e++)if(t[e]in a.docStyle)return t[e];return t[0]},a.create=function(t,e,i){var r=window.document.createElement(t);return void 0!==e&&(r.className=e),i&&i.appendChild(r),r},a.createNS=function(t,e){return window.document.createElementNS(t,e)},a.disableDrag=function(){a.docStyle&&a.selectProp&&(a.userSelect=a.docStyle[a.selectProp],a.docStyle[a.selectProp]="none");},a.enableDrag=function(){a.docStyle&&a.selectProp&&(a.docStyle[a.selectProp]=a.userSelect);},a.setTransform=function(t,e){t.style[a.transformProp]=e;},a.addEventListener=function(t,e,i,r){void 0===r&&(r={}),t.addEventListener(e,i,"passive"in r?r:r.capture);},a.removeEventListener=function(t,e,i,r){void 0===r&&(r={}),t.removeEventListener(e,i,"passive"in r?r:r.capture);},a.suppressClickInternal=function(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener("click",a.suppressClickInternal,!0);},a.suppressClick=function(){window.addEventListener("click",a.suppressClickInternal,!0),window.setTimeout((function(){window.removeEventListener("click",a.suppressClickInternal,!0);}),0);},a.mousePos=function(e,i){var r=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)},a.touchPos=function(e,i){for(var r=e.getBoundingClientRect(),o=[],a=0;a<i.length;a++)o.push(new t.pointGeometry(i[a].clientX-r.left-e.clientLeft,i[a].clientY-r.top-e.clientTop));return o},a.mouseButton=function(t){return t.button},a.remove=function(t){t.parentNode&&t.parentNode.removeChild(t);},a.docStyle="undefined"!=typeof window&&window.document&&window.document.documentElement.style,a.selectProp=a.testProp(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]),a.transformProp=a.testProp(["transform","WebkitTransform"]);var n=function(t){this._transformRequestFn=t;};n.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},n.prototype.normalizeSpriteURL=function(t,e,i){var r,o,a=function(t){var e=t.match(s);if(!e)throw new Error('Unable to parse URL "'+t+'"');return {protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}(t);return a.path+=""+e+i,o=(r=a).params.length?"?"+r.params.join("&"):"",r.protocol+"://"+r.authority+r.path+o},n.prototype.setTransformRequest=function(t){this._transformRequestFn=t;};var s=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/,l=function(t,e,i,r){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,r);};function c(t){var e=t.userImage;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}l.prototype.update=function(e,i,r){var o=e.width,a=e.height,n=!(this.size&&this.size[0]===o&&this.size[1]===a||r),s=this.context,l=s.gl;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),n)this.size=[o,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,o,a,0,this.format,l.UNSIGNED_BYTE,e.data);else {var c=r||{x:0,y:0},h=c.x,u=c.y;e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.isImageBitmap(e)?l.texSubImage2D(l.TEXTURE_2D,0,h,u,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,h,u,o,a,l.RGBA,l.UNSIGNED_BYTE,e.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);},l.prototype.bind=function(t,e,i){var r=this.context.gl;r.bindTexture(r.TEXTURE_2D,this.texture),i!==r.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=r.LINEAR),t!==this.filter&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,e),this.wrap=e);},l.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null;};var h=function(e){function i(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.isLoaded=function(){return this.loaded},i.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,i=this.requestors;e<i.length;e+=1){var r=i[e];this._notify(r.ids,r.callback);}this.requestors=[];}},i.prototype.getImage=function(t){return this.images[t]},i.prototype.addImage=function(t,e){if(this.images[t])throw new Error("Image id "+t+" already exist, use updateImage instead");this._validate(t,e)&&(this.images[t]=e);},i.prototype._validate=function(e,i){var r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchX" value'))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchY" value'))),r=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "content" value'))),r=!1),r},i.prototype._validateStretch=function(t,e){if(!t)return !0;for(var i=0,r=0,o=t;r<o.length;r+=1){var a=o[r];if(a[0]<i||a[1]<a[0]||e<a[1])return !1;i=a[1];}return !0},i.prototype._validateContent=function(t,e){return !(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},i.prototype.updateImage=function(t,e){var i=this.images[t];if(i.data.width!==e.data.width||i.data.height!==e.data.height)throw new Error("size mismatch between old image ("+i.data.width+"x"+i.data.height+") and new image ("+e.data.width+"x"+e.data.height+").");e.version=i.version+1,this.images[t]=e,this.updatedImages[t]=!0;},i.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove();},i.prototype.listImages=function(){return Object.keys(this.images)},i.prototype.getImages=function(t,e){var i=!0;if(!this.isLoaded())for(var r=0,o=t;r<o.length;r+=1)this.images[o[r]]||(i=!1);this.isLoaded()||i?this._notify(t,e):this.requestors.push({ids:t,callback:e});},i.prototype._notify=function(e,i){for(var r={},o=0,a=e;o<a.length;o+=1){var n=a[o];this.images[n]||this.fire(new t.Event("styleimagemissing",{id:n}));var s=this.images[n];s?r[n]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+n+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.');}i(null,r);},i.prototype.getPixelSize=function(){var t=this.atlasImage;return {width:t.width,height:t.height}},i.prototype.getPattern=function(e){var i=this.patterns[e],r=this.getImage(e);if(!r)return null;if(i&&i.position.version===r.version)return i.position;if(i)i.position.version=r.version;else {var o={w:r.data.width+2,h:r.data.height+2,x:0,y:0},a=new t.ImagePosition(o,r);this.patterns[e]={bin:o,position:a};}return this._updatePatternAtlas(),this.patterns[e].position},i.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new l(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE);},i.prototype._updatePatternAtlas=function(){var e=[];for(var i in this.patterns)e.push(this.patterns[i].bin);var r=t.potpack(e),o=r.w,a=r.h,n=this.atlasImage;for(var s in n.resize({width:o||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,h=l.y+1,u=this.images[s].data,p=u.width,d=u.height;t.RGBAImage.copy(u,n,{x:0,y:0},{x:c,y:h},{width:p,height:d}),t.RGBAImage.copy(u,n,{x:0,y:d-1},{x:c,y:h-1},{width:p,height:1}),t.RGBAImage.copy(u,n,{x:0,y:0},{x:c,y:h+d},{width:p,height:1}),t.RGBAImage.copy(u,n,{x:p-1,y:0},{x:c-1,y:h},{width:1,height:d}),t.RGBAImage.copy(u,n,{x:0,y:0},{x:c+p,y:h},{width:1,height:d});}this.dirty=!0;},i.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={};},i.prototype.dispatchRenderCallbacks=function(e){for(var i=0,r=e;i<r.length;i+=1){var o=r[i];if(!this.callbackDispatchedThisFrame[o]){this.callbackDispatchedThisFrame[o]=!0;var a=this.images[o];a||t.warnOnce('Image with ID: "'+o+'" was not found'),c(a)&&this.updateImage(o,a);}}},i}(t.Evented),u=1e20,p=function(t){void 0===t&&(t={});var e=t.fontSize;void 0===e&&(e=24);var i=t.buffer;void 0===i&&(i=3);var r=t.radius;void 0===r&&(r=8);var o=t.cutoff;void 0===o&&(o=.25);var a=t.fontFamily;void 0===a&&(a="sans-serif");var n=t.fontWeight;void 0===n&&(n="normal");var s=t.fontStyle;void 0===s&&(s="normal"),this.buffer=i,this.cutoff=o,this.radius=r;var l=this.size=e+4*i,c=this._createCanvas(l),h=this.ctx=c.getContext("2d",{willReadFrequently:!0});h.font=s+" "+n+" "+e+"px "+a,h.textBaseline="alphabetic",h.textAlign="left",h.fillStyle="black",this.gridOuter=new Float64Array(l*l),this.gridInner=new Float64Array(l*l),this.f=new Float64Array(l),this.z=new Float64Array(l+1),this.v=new Uint16Array(l);};function d(t,e,i,r,o,a,n,s,l){for(var c=e;c<e+r;c++)_(t,i*a+c,a,o,n,s,l);for(var h=i;h<i+o;h++)_(t,h*a+e,1,r,n,s,l);}function _(t,e,i,r,o,a,n){a[0]=0,n[0]=-u,n[1]=u,o[0]=t[e];for(var s=1,l=0,c=0;s<r;s++){o[s]=t[e+s*i];var h=s*s;do{var p=a[l];c=(o[s]-o[p]+h-p*p)/(s-p)/2;}while(c<=n[l]&&--l>-1);a[++l]=s,n[l]=c,n[l+1]=u;}for(var d=0,_=0;d<r;d++){for(;n[_+1]<d;)_++;var f=a[_],m=d-f;t[e+d*i]=o[f]+m*m;}}p.prototype._createCanvas=function(t){var e=document.createElement("canvas");return e.width=e.height=t,e},p.prototype.draw=function(t){var e=this.ctx.measureText(t),i=e.width,r=e.actualBoundingBoxDescent,o=e.actualBoundingBoxLeft,a=e.actualBoundingBoxRight,n=Math.ceil(e.actualBoundingBoxAscent),s=Math.min(this.size-this.buffer,Math.ceil(a-o)),l=Math.min(this.size-this.buffer,n+Math.ceil(r)),c=s+2*this.buffer,h=l+2*this.buffer,p=Math.max(c*h,0),_=new Uint8ClampedArray(p),f={data:_,width:c,height:h,glyphWidth:s,glyphHeight:l,glyphTop:n,glyphLeft:0,glyphAdvance:i};if(0===s||0===l)return f;var m=this,g=m.ctx,v=m.buffer,y=m.gridInner,x=m.gridOuter;g.clearRect(v,v,s,l),g.fillText(t,v,v+n);var b=g.getImageData(v,v,s,l);x.fill(u,0,p),y.fill(0,0,p);for(var w=0;w<l;w++)for(var T=0;T<s;T++){var E=b.data[4*(w*s+T)+3]/255;if(0!==E){var I=(w+v)*c+T+v;if(1===E)x[I]=0,y[I]=u;else {var C=.5-E;x[I]=C>0?C*C:0,y[I]=C<0?C*C:0;}}}d(x,0,0,c,h,c,this.f,this.v,this.z),d(y,v,v,s,l,c,this.f,this.v,this.z);for(var S=0;S<p;S++){var D=Math.sqrt(x[S])-Math.sqrt(y[S]);_[S]=Math.round(255-255*(D/this.radius+this.cutoff));}return f};var f=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={};};f.prototype.setURL=function(t){this.url=t;},f.prototype.getGlyphs=function(e,i){var r=this,o=[];for(var a in e)for(var n=0,s=e[a];n<s.length;n+=1)o.push({stack:a,id:s[n]});t.asyncAll(o,(function(t,e){var i=t.stack,o=t.id,a=r.entries[i];a||(a=r.entries[i]={glyphs:{},requests:{},ranges:{}});var n=a.glyphs[o];if(void 0===n){if(n=r._tinySDF(a,i,o))return a.glyphs[o]=n,void e(null,{stack:i,id:o,glyph:n});var s=Math.floor(o/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:i,id:o,glyph:n});else {var l=a.requests[s];l||(l=a.requests[s]=[],f.loadGlyphRange(i,s,r.url,r.requestManager,(function(t,e){if(e){for(var i in e)r._doesCharSupportLocalGlyph(+i)||(a.glyphs[+i]=e[+i]);a.ranges[s]=!0;}for(var o=0,n=l;o<n.length;o+=1)(0,n[o])(t,e);delete a.requests[s];}))),l.push((function(t,r){t?e(t):r&&e(null,{stack:i,id:o,glyph:r[o]||null});}));}}else e(null,{stack:i,id:o,glyph:n});}),(function(t,e){if(t)i(t);else if(e){for(var r={},o=0,a=e;o<a.length;o+=1){var n=a[o],s=n.stack,l=n.id,c=n.glyph;(r[s]||(r[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics};}i(null,r);}}));},f.prototype._doesCharSupportLocalGlyph=function(e){return !!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))},f.prototype._tinySDF=function(e,i,r){var o=this.localIdeographFontFamily;if(o&&this._doesCharSupportLocalGlyph(r)){var a=e.tinySDF;if(!a){var n="400";/bold/i.test(i)?n="900":/medium/i.test(i)?n="500":/light/i.test(i)&&(n="200"),a=e.tinySDF=new f.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:o,fontWeight:n});}var s=a.draw(String.fromCharCode(r));return {id:r,bitmap:new t.AlphaImage({width:s.width||30,height:s.height||30},s.data),metrics:{width:s.glyphWidth||24,height:s.glyphHeight||24,left:s.glyphLeft||0,top:s.glyphTop-27||-8,advance:s.glyphAdvance||24}}}},f.loadGlyphRange=function(e,i,r,o,a){var n=256*i,s=n+255,l=o.transformRequest(r.replace("{fontstack}",e).replace("{range}",n+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,i){if(e)a(e);else if(i){for(var r={},o=0,n=t.parseGlyphPbf(i);o<n.length;o+=1){var s=n[o];r[s.id]=s;}a(null,r);}}));},f.TinySDF=p;var m=function(){this.specification=t.spec.light.position;};m.prototype.possiblyEvaluate=function(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))},m.prototype.interpolate=function(e,i,r){return {x:t.number(e.x,i.x,r),y:t.number(e.y,i.y,r),z:t.number(e.z,i.z,r)}};var g=new t.Properties({anchor:new t.DataConstantProperty(t.spec.light.anchor),position:new m,color:new t.DataConstantProperty(t.spec.light.color),intensity:new t.DataConstantProperty(t.spec.light.intensity)}),v="-transition",y=function(e){function i(i){e.call(this),this._transitionable=new t.Transitionable(g),this.setLight(i),this._transitioning=this._transitionable.untransitioned();}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(e,i){if(void 0===i&&(i={}),!this._validate(t.validateLight,e,i))for(var r in e){var o=e[r];t.endsWith(r,v)?this._transitionable.setTransition(r.slice(0,-v.length),o):this._transitionable.setValue(r,o);}},i.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);},i.prototype.hasTransition=function(){return this._transitioning.hasTransition()},i.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t);},i.prototype._validate=function(e,i,r){return (!r||!1!==r.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:t.spec})))},i}(t.Evented),x=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};};x.prototype.getDash=function(t,e){var i=t.join(",")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]},x.prototype.getDashRanges=function(t,e,i){var r=[],o=t.length%2==1?-t[t.length-1]*i:0,a=t[0]*i,n=!0;r.push({left:o,right:a,isDash:n,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];r.push({left:o=s*i,right:a=(s+=c)*i,isDash:n=!n,zeroLength:0===c});}return r},x.prototype.addRoundDash=function(t,e,i){for(var r=e/2,o=-i;o<=i;o++)for(var a=this.width*(this.nextRow+i+o),n=0,s=t[n],l=0;l<this.width;l++){l/s.right>1&&(s=t[++n]);var c=Math.abs(l-s.left),h=Math.abs(l-s.right),u=Math.min(c,h),p=void 0,d=o/i*(r+1);if(s.isDash){var _=r-Math.abs(d);p=Math.sqrt(u*u+_*_);}else p=r-Math.sqrt(u*u+d*d);this.data[a+l]=Math.max(0,Math.min(255,p+128));}},x.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var i=t[e],r=t[e+1];i.zeroLength?t.splice(e,1):r&&r.isDash===i.isDash&&(r.left=i.left,t.splice(e,1));}var o=t[0],a=t[t.length-1];o.isDash===a.isDash&&(o.left=a.left-this.width,a.right=o.right+this.width);for(var n=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var h=Math.abs(c-l.left),u=Math.abs(c-l.right),p=Math.min(h,u);this.data[n+c]=Math.max(0,Math.min(255,(l.isDash?p:-p)+128));}},x.prototype.addDash=function(e,i){var r=i?7:0,o=2*r+1;if(this.nextRow+o>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,n=0;n<e.length;n++)a+=e[n];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);i?this.addRoundDash(l,s,r):this.addRegularDash(l);}var c={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=o,this.dirty=!0,c},x.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data));};var b=function e(i,r){this.workerPool=i,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var o=this.workerPool.acquire(this.id),a=0;a<o.length;a++){var n=new e.Actor(o[a],r,this.id);n.name="Worker "+a,this.actors.push(n);}if(!this.actors.length)throw new Error("No actors found")};function w(e,i,r){var o=function(i,o){if(i)return r(i);if(o){var a=t.pick(t.extend(o,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);o.vector_layers&&(a.vectorLayers=o.vector_layers,a.vectorLayerIds=a.vectorLayers.map((function(t){return t.id}))),r(null,a);}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),o):t.exported.frame((function(){return o(null,e)}))}b.prototype.broadcast=function(e,i,r){t.asyncAll(this.actors,(function(t,r){t.send(e,i,r);}),r=r||function(){});},b.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},b.prototype.remove=function(){this.actors.forEach((function(t){t.remove();})),this.actors=[],this.workerPool.release(this.id);},b.Actor=t.Actor;var T=function(e,i,r){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=r||24;};T.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},T.prototype.contains=function(e){var i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),o=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),n=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x<a&&e.y>=o&&e.y<n};var E,I=function(e){function i(i,r,o,a){if(e.call(this),this.id=i,this.dispatcher=o,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(r,["url","scheme","tileSize","promoteId"])),this._options=t.extend({type:"vector"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(a);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=w(this._options,this.map._requestManager,(function(i,r){e._tileJSONRequest=null,e._loaded=!0,e.map.style.sourceCaches[e.id].clearTiles(),i?e.fire(new t.ErrorEvent(i)):r&&(t.extend(e,r),r.bounds&&(e.tileBounds=new T(r.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setSourceProperty=function(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load();},i.prototype.setTiles=function(t){var e=this;return this.setSourceProperty((function(){e._options.tiles=t;})),this},i.prototype.setUrl=function(t){var e=this;return this.setSourceProperty((function(){e.url=t,e._options.url=t;})),this},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.loadTile=function(e,i){var r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),o={request:this.map._requestManager.transformRequest(r,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(r,o){return delete e.request,e.aborted?i(null):r&&404!==r.status?i(r):(o&&o.resourceTiming&&(e.resourceTiming=o.resourceTiming),this.map._refreshExpiredTiles&&o&&e.setExpiryData(o),e.loadVectorData(o,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}o.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",o,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",o,a.bind(this)));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.hasTransition=function(){return !1},i}(t.Evented),C=function(e){function i(i,r,o,a){e.call(this),this.id=i,this.dispatcher=o,this.setEventedParent(a),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},r),t.extend(this,t.pick(r,["url","scheme","tileSize"]));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=w(this._options,this.map._requestManager,(function(i,r){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):r&&(t.extend(e,r),r.bounds&&(e.tileBounds=new T(r.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.loadTile=function(e,i){var r=this,o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),(function(o,a,n){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(o)e.state="errored",i(o);else if(a){r.map._refreshExpiredTiles&&e.setExpiryData(n);var s=r.map.painter.context,c=s.gl;e.texture=r.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new l(s,a,c.RGBA,{useMipmap:!0}),e.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),s.extTextureFilterAnisotropic&&c.texParameterf(c.TEXTURE_2D,s.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,s.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(r.dispatcher),i(null);}}));},i.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e();},i.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();},i.prototype.hasTransition=function(){return !1},i}(t.Evented),S=function(e){function i(i,r,o,a){e.call(this,i,r,o,a),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox";}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.serialize=function(){return {type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},i.prototype.loadTile=function(e,i){var r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function o(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),function(r,a){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=t.isImageBitmap(a)&&(null==E&&(E="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),E)?a:t.exported.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:n,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",s,o.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);},i.prototype._getNeighboringTiles=function(e){var i=e.canonical,r=Math.pow(2,i.z),o=(i.x-1+r)%r,a=0===i.x?e.wrap-1:e.wrap,n=(i.x+1+r)%r,s=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1}),i.y+1<r&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y+1).key]={backfilled:!1}),l},i.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id});},i}(C),D=function(e){function i(i,r,o,a){e.call(this),this.id=i,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=o.getActor(),this.setEventedParent(a),this._data=r.data,this._options=t.extend({},r),this._collectResourceTiming=r.collectResourceTiming,void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type),r.attribution&&(this.attribution=r.attribution),this.promoteId=r.promoteId;var n=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*n,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*n,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:r.lineMetrics||!1,generateId:r.generateId||!1},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?r.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,r.clusterMinPoints||2),extent:t.EXTENT,radius:(r.clusterRadius||50)*n,log:!1,generateId:r.generateId||!1},clusterProperties:r.clusterProperties,filter:r.filter},r.workerOptions);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){this._updateWorkerData("metadata");},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setData=function(t){return this._data=t,this._updateWorkerData("content"),this},i.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},i.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},i.prototype.getClusterLeaves=function(t,e,i,r){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:i},r),this},i.prototype._updateWorkerData=function(e){var i=this,r=t.extend({},this.workerOptions),o=this._data;"string"==typeof o?(r.request=this.map._requestManager.transformRequest(t.exported.resolveURL(o),t.ResourceType.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(o),this._pendingLoads++,this.fire(new t.Event("dataloading",{dataType:"source"})),this.actor.send(this.type+".loadData",r,(function(r,o){if(i._pendingLoads--,i._removed||o&&o.abandoned)i.fire(new t.Event("dataabort",{dataType:"source",sourceDataType:e}));else {var a=null;if(o&&o.resourceTiming&&o.resourceTiming[i.id]&&(a=o.resourceTiming[i.id].slice(0)),r)i.fire(new t.ErrorEvent(r));else {var n={dataType:"source",sourceDataType:e};i._collectResourceTiming&&a&&a.length>0&&t.extend(n,{resourceTiming:a}),i.fire(new t.Event("data",n));}}}));},i.prototype.loaded=function(){return 0===this._pendingLoads},i.prototype.loadTile=function(t,e){var i=this,r=t.actor?"reloadTile":"loadTile";t.actor=this.actor;var o={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(r,o,(function(o,a){return delete t.request,t.unloadVectorData(),t.aborted?e(null):o?e(o):(t.loadVectorData(a,i.map.painter,"reloadTile"===r),e(null))}));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;},i.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id});},i.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id});},i.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return !1},i}(t.Evented),z=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(e){function i(t,i,r,o){e.call(this),this.id=t,this.dispatcher=r,this.coordinates=i.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(e,i){var r=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(o,a){r._loaded=!0,o?r.fire(new t.ErrorEvent(o)):a&&(r.image=a,e&&(r.coordinates=e),i&&i(),r._finishLoading());}));},i.prototype.loaded=function(){return this._loaded},i.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null;})),this):this},i.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setCoordinates=function(e){var i=this;this.coordinates=e;var r=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var i=1/0,r=1/0,o=-1/0,a=-1/0,n=0,s=e;n<s.length;n+=1){var l=s[n];i=Math.min(i,l.x),r=Math.min(r,l.y),o=Math.max(o,l.x),a=Math.max(a,l.y);}var c=Math.max(o-i,a-r),h=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),u=Math.pow(2,h);return new t.CanonicalTileID(h,Math.floor((i+o)/2*u),Math.floor((r+a)/2*u))}(r),this.minzoom=this.maxzoom=this.tileID.z;var o=r.map((function(t){return i.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(o[0].x,o[0].y,0,0),this._boundsArray.emplaceBack(o[1].x,o[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(o[3].x,o[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(o[2].x,o[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},i.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,i=e.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var o=this.tiles[r];"loaded"!==o.state&&(o.state="loaded",o.texture=this.texture);}}},i.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null));},i.prototype.serialize=function(){return {type:"image",url:this.options.url,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return !1},i}(t.Evented),M=function(e){function i(t,i,r,o){e.call(this,t,i,r,o),this.roundZoom=!0,this.type="video",this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1;var i=this.options;this.urls=[];for(var r=0,o=i.urls;r<o.length;r+=1)this.urls.push(this.map._requestManager.transformRequest(o[r],t.ResourceType.Source).url);t.getVideo(this.urls,(function(i,r){e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):r&&(e.video=r,e.video.loop=!0,e.video.addEventListener("playing",(function(){e.map.triggerRepaint();})),e.map&&e.video.play(),e._finishLoading());}));},i.prototype.pause=function(){this.video&&this.video.pause();},i.prototype.play=function(){this.video&&this.video.play();},i.prototype.seek=function(e){if(this.video){var i=this.video.seekable;e<i.start(0)||e>i.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+i.start(0)+" and "+i.end(0)+"-second mark."))):this.video.currentTime=e;}},i.prototype.getVideo=function(){return this.video},i.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));},i.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,i=e.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var o=this.tiles[r];"loaded"!==o.state&&(o.state="loaded",o.texture=this.texture);}}},i.prototype.serialize=function(){return {type:"video",urls:this.urls,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this.video&&!this.video.paused},i}(P),A=function(e){function i(i,r,o,a){e.call(this,i,r,o,a),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((function(t){return !Array.isArray(t)||2!==t.length||t.some((function(t){return "number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+i,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+i,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+i,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+i,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+i,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.animate;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();},i.prototype.onRemove=function(){this.pause();},i.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var i=this.map.painter.context,r=i.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new l(i,this.canvas,r.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[o];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture);}}},i.prototype.serialize=function(){return {type:"canvas",coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this._playing},i.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var i=e[t];if(isNaN(i)||i<=0)return !0}return !1},i}(P),R={vector:I,raster:C,"raster-dem":S,geojson:D,video:M,image:P,canvas:A};function L(e,i){var r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function k(t,e,i,r,o,a){var n=function(t,e,i){if(t)for(var r=0,o=t;r<o.length;r+=1){var a=e[o[r]];if(a&&a.source===i&&"fill-extrusion"===a.type)return !0}else for(var n in e){var s=e[n];if(s.source===i&&"fill-extrusion"===s.type)return !0}return !1}(o&&o.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(r,s,n);l.sort(B);for(var c=[],h=0,u=l;h<u.length;h+=1){var p=u[h];c.push({wrappedTileID:p.tileID.wrapped().key,queryResults:p.tile.queryRenderedFeatures(e,i,t._state,p.queryGeometry,p.cameraQueryGeometry,p.scale,o,a,s,L(t.transform,p.tileID))});}var d=function(t){for(var e={},i={},r=0,o=t;r<o.length;r+=1){var a=o[r],n=a.queryResults,s=a.wrappedTileID,l=i[s]=i[s]||{};for(var c in n)for(var h=n[c],u=l[c]=l[c]||{},p=e[c]=e[c]||[],d=0,_=h;d<_.length;d+=1){var f=_[d];u[f.featureIndex]||(u[f.featureIndex]=!0,p.push(f));}}return e}(c);for(var _ in d)d[_].forEach((function(e){var i=e.feature,r=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=r;}));return d}function B(t,e){var i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}var O=function(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state="loading";};O.prototype.registerFadeDuration=function(e){var i=e+this.timeAdded;i<t.exported.now()||this.fadeEndTime&&i<this.fadeEndTime||(this.fadeEndTime=i);},O.prototype.wasRequested=function(){return "errored"===this.state||"loaded"===this.state||"reloading"===this.state},O.prototype.clearTextures=function(t){this.demTexture&&t.saveTileTexture(this.demTexture),this.textures.forEach((function(e){return t.saveTileTexture(e)})),this.demTexture=null,this.textures=[],this.textureCoords={};},O.prototype.loadVectorData=function(e,i,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){for(var o in e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){var i={};if(!e)return i;for(var r=function(){var t=a[o],r=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==r.length){t.layers=r,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return r.filter((function(e){return e.id===t}))[0]})));for(var n=0,s=r;n<s.length;n+=1)i[s[n].id]=t;}},o=0,a=t;o<a.length;o+=1)r();return i}(e.buckets,i.style),this.hasSymbolBuckets=!1,this.buckets){var a=this.buckets[o];if(a instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;a.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var n in this.buckets){var s=this.buckets[n];if(s instanceof t.SymbolBucket&&s.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}for(var l in this.queryPadding=0,this.buckets){var c=this.buckets[l];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(l).queryRadius(c));}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage);}else this.collisionBoxArray=new t.CollisionBoxArray;},O.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded";},O.prototype.getBucket=function(t){return this.buckets[t.id]},O.prototype.upload=function(t){for(var e in this.buckets){var i=this.buckets[e];i.uploadPending()&&i.upload(t);}var r=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,r.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,r.ALPHA),this.glyphAtlasImage=null);},O.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);},O.prototype.queryRenderedFeatures=function(t,e,i,r,o,a,n,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:o,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:n,queryPadding:this.queryPadding*l},t,e,i):{}},O.prototype.querySourceFeatures=function(e,i){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var o=r.loadVTLayers(),a=i?i.sourceLayer:"",n=o._geojsonTileLayer||o[a];if(n)for(var s=t.createFilter(i&&i.filter),l=this.tileID.canonical,c=l.z,h=l.x,u=l.y,p={z:c,x:h,y:u},d=0;d<n.length;d++){var _=n.feature(d);if(s.needGeometry){var f=t.toEvaluationFeature(_,!0);if(!s.filter(new t.EvaluationParameters(this.tileID.overscaledZ),f,this.tileID.canonical))continue}else if(!s.filter(new t.EvaluationParameters(this.tileID.overscaledZ),_))continue;var m=r.getId(_,a),g=new t.GeoJSONFeature(_,c,h,u,m);g.tile=p,e.push(g);}}},O.prototype.hasData=function(){return "loaded"===this.state||"reloading"===this.state||"expired"===this.state},O.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},O.prototype.setExpiryData=function(e){var i=this.expirationTime;if(e.cacheControl){var r=t.parseCacheControl(e.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"]);}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var o=Date.now(),a=!1;if(this.expirationTime>o)a=!1;else if(i)if(this.expirationTime<i)a=!0;else {var n=this.expirationTime-i;n?this.expirationTime=o+Math.max(n,3e4):a=!0;}else a=!0;a?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0;}},O.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},O.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var i=this.latestFeatureIndex.loadVTLayers();for(var r in this.buckets)if(e.style.hasLayer(r)){var o=this.buckets[r],a=o.layers[0].sourceLayer||"_geojsonTileLayer",n=i[a],s=t[a];if(n&&s&&0!==Object.keys(s).length){o.update(s,n,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(r);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(o)));}}}},O.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},O.prototype.symbolFadeFinished=function(){return !this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<t.exported.now()},O.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0;},O.prototype.setHoldDuration=function(e){this.symbolFadeHoldUntil=t.exported.now()+e;},O.prototype.setDependencies=function(t,e){for(var i={},r=0,o=e;r<o.length;r+=1)i[o[r]]=!0;this.dependencies[t]=i;},O.prototype.hasDependency=function(t,e){for(var i=0,r=t;i<r.length;i+=1){var o=this.dependencies[r[i]];if(o)for(var a=0,n=e;a<n.length;a+=1)if(o[n[a]])return !0}return !1};var F=function(t,e){this.max=t,this.onRemove=e,this.reset();};F.prototype.reset=function(){for(var t in this.data)for(var e=0,i=this.data[t];e<i.length;e+=1){var r=i[e];r.timeout&&clearTimeout(r.timeout),this.onRemove(r.value);}return this.data={},this.order=[],this},F.prototype.add=function(t,e,i){var r=this,o=t.wrapped().key;void 0===this.data[o]&&(this.data[o]=[]);var a={value:e,timeout:void 0};if(void 0!==i&&(a.timeout=setTimeout((function(){r.remove(t,a);}),i)),this.data[o].push(a),this.order.push(o),this.order.length>this.max){var n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n);}return this},F.prototype.has=function(t){return t.wrapped().key in this.data},F.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},F.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},F.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},F.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},F.prototype.remove=function(t,e){if(!this.has(t))return this;var i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),o=this.data[i][r];return this.data[i].splice(r,1),o.timeout&&clearTimeout(o.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(o.value),this.order.splice(this.order.indexOf(i),1),this},F.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e);}return this},F.prototype.filter=function(t){var e=[];for(var i in this.data)for(var r=0,o=this.data[i];r<o.length;r+=1){var a=o[r];t(a.value)||e.push(a);}for(var n=0,s=e;n<s.length;n+=1){var l=s[n];this.remove(l.value.tileID,l);}};var U=function(){this.state={},this.stateChanges={},this.deletedStates={};};U.prototype.updateState=function(e,i,r){var o=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][o]=this.stateChanges[e][o]||{},t.extend(this.stateChanges[e][o],r),null===this.deletedStates[e])for(var a in this.deletedStates[e]={},this.state[e])a!==o&&(this.deletedStates[e][a]=null);else if(this.deletedStates[e]&&null===this.deletedStates[e][o])for(var n in this.deletedStates[e][o]={},this.state[e][o])r[n]||(this.deletedStates[e][o][n]=null);else for(var s in r)this.deletedStates[e]&&this.deletedStates[e][o]&&null===this.deletedStates[e][o][s]&&delete this.deletedStates[e][o][s];},U.prototype.removeFeatureState=function(t,e,i){if(null!==this.deletedStates[t]){var r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null;}},U.prototype.getState=function(e,i){var r=String(i),o=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return {};if(this.deletedStates[e]){var a=this.deletedStates[e][i];if(null===a)return {};for(var n in a)delete o[n];}return o},U.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e);},U.prototype.coalesceChanges=function(e,i){var r={};for(var o in this.stateChanges){this.state[o]=this.state[o]||{};var a={};for(var n in this.stateChanges[o])this.state[o][n]||(this.state[o][n]={}),t.extend(this.state[o][n],this.stateChanges[o][n]),a[n]=this.state[o][n];r[o]=a;}for(var s in this.deletedStates){this.state[s]=this.state[s]||{};var l={};if(null===this.deletedStates[s])for(var c in this.state[s])l[c]={},this.state[s][c]={};else for(var h in this.deletedStates[s]){if(null===this.deletedStates[s][h])this.state[s][h]={};else for(var u=0,p=Object.keys(this.deletedStates[s][h]);u<p.length;u+=1)delete this.state[s][h][p[u]];l[h]=this.state[s][h];}r[s]=r[s]||{},t.extend(r[s],l);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in e)e[d].setFeatureState(r,i);};var N=function(e){function i(i,r,o){var a=this;e.call(this),this.id=i,this.dispatcher=o,this.on("data",(function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform,a.terrain));})),this.on("dataloading",(function(){a._sourceErrored=!1;})),this.on("error",(function(){a._sourceErrored=a._source.loaded();})),this._source=function(e,i,r,o){var a=new R[i.type](e,i,r,o);if(a.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+a.id);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(i,r,o,this),this._tiles={},this._cache=new F(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new U;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);},i.prototype.onRemove=function(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);},i.prototype.loaded=function(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return !1}return !0},i.prototype.getSource=function(){return this._source},i.prototype.pause=function(){this._paused=!0;},i.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}},i.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},i.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},i.prototype._abortTile=function(e){this._source.abortTile&&this._source.abortTile(e,(function(){})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}));},i.prototype.serialize=function(){return this._source.serialize()},i.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}},i.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(G).map((function(t){return t.key}))},i.prototype.getRenderableIds=function(e){var i=this,r=[];for(var o in this._tiles)this._isIdRenderable(o,e)&&r.push(this._tiles[o]);return e?r.sort((function(e,r){var o=e.tileID,a=r.tileID,n=new t.pointGeometry(o.canonical.x,o.canonical.y)._rotate(i.transform.angle),s=new t.pointGeometry(a.canonical.x,a.canonical.y)._rotate(i.transform.angle);return o.overscaledZ-a.overscaledZ||s.y-n.y||s.x-n.x})).map((function(t){return t.tileID.key})):r.map((function(t){return t.tileID})).sort(G).map((function(t){return t.key}))},i.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)},i.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},i.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading");},i.prototype._reloadTile=function(t,e){var i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));},i.prototype._tileLoaded=function(e,i,r,o){if(o)return e.state="errored",void(404!==o.status?this._source.fire(new t.ErrorEvent(o,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),"expired"===r&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}));},i.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),i=0;i<e.length;i++){var r=e[i];if(t.neighboringTiles&&t.neighboringTiles[r]){var o=this.getTileByID(r);a(t,o),a(o,t);}}function a(t,e){t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0;var i=e.tileID.canonical.x-t.tileID.canonical.x,r=e.tileID.canonical.y-t.tileID.canonical.y,o=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===i&&0===r||Math.abs(r)>1||(Math.abs(i)>1&&(1===Math.abs(i+o)?i+=o:1===Math.abs(i-o)&&(i-=o)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)));}},i.prototype.getTile=function(t){return this.getTileByID(t.key)},i.prototype.getTileByID=function(t){return this._tiles[t]},i.prototype._retainLoadedChildren=function(t,e,i,r){for(var o in this._tiles){var a=this._tiles[o];if(!(r[o]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)){for(var n=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(n=s);}for(var l=n;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){r[n.key]=n;break}}}},i.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(var r=t.overscaledZ-1;r>=e;r--){var o=t.scaledTo(r),a=this._getLoadedTile(o);if(a)return a}},i.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},i.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,r=Math.floor(e*i*5),o="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(o);},i.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var i={};for(var r in this._tiles){var o=this._tiles[r];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o;}for(var a in this._tiles=i,this._timers)clearTimeout(this._timers[a]),delete this._timers[a];for(var n in this._tiles)this._setTileReloadTimer(n,this._tiles[n]);}},i.prototype.update=function(e,r){var o=this;if(this.transform=e,this.terrain=r,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(a=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r}),this._source.hasTile&&(a=a.filter((function(t){return o._source.hasTile(t)})))):a=[];var n=e.coveringZoomLevel(this._source),s=Math.max(n-i.maxOverzooming,this._source.minzoom),l=Math.max(n+i.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){for(var c={},h=0,u=a;h<u.length;h+=1){var p=u[h];if(p.canonical.z>this._source.minzoom){var d=p.scaledTo(p.canonical.z-1);c[d.key]=d;var _=p.scaledTo(Math.max(this._source.minzoom,Math.min(p.canonical.z,5)));c[_.key]=_;}}a=a.concat(Object.values(c));}var f=this._updateRetainedTiles(a,n);if(j(this._source.type)){for(var m={},g={},v=0,y=Object.keys(f);v<y.length;v+=1){var x=y[v],b=f[x],w=this._tiles[x];if(w&&!(w.fadeEndTime&&w.fadeEndTime<=t.exported.now())){var T=this.findLoadedParent(b,s);T&&(this._addTile(T.tileID),m[T.tileID.key]=T.tileID),g[x]=b;}}for(var E in this._retainLoadedChildren(g,n,l,f),m)f[E]||(this._coveredTiles[E]=!0,f[E]=m[E]);if(r){for(var I={},C={},S=0,D=a;S<D.length;S+=1){var z=D[S];this._tiles[z.key].hasData()?I[z.key]=z:C[z.key]=z;}for(var P in C){var M=C[P].children(this._source.maxzoom);this._tiles[M[0].key]&&this._tiles[M[1].key]&&this._tiles[M[2].key]&&this._tiles[M[3].key]&&(I[M[0].key]=f[M[0].key]=M[0],I[M[1].key]=f[M[1].key]=M[1],I[M[2].key]=f[M[2].key]=M[2],I[M[3].key]=f[M[3].key]=M[3],delete C[P]);}for(var A in C){var R=this.findLoadedParent(C[A],this._source.minzoom);if(R)for(var L in I[R.tileID.key]=f[R.tileID.key]=R.tileID,I)I[L].isChildOf(R.tileID)&&delete I[L];}for(var k in this._tiles)I[k]||(this._coveredTiles[k]=!0);}}for(var B in f)this._tiles[B].clearFadeHold();for(var O=0,F=t.keysDifference(this._tiles,f);O<F.length;O+=1){var U=F[O],N=this._tiles[U];N.hasSymbolBuckets&&!N.holdingForFade()?N.setHoldDuration(this.map._fadeDuration):N.hasSymbolBuckets&&!N.symbolFadeFinished()||this._removeTile(U);}this._updateLoadedParentTileCache();}},i.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);},i.prototype._updateRetainedTiles=function(t,e){for(var r={},o={},a=Math.max(e-i.maxOverzooming,this._source.minzoom),n=Math.max(e+i.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var h=c[l],u=this._addTile(h);r[h.key]=h,u.hasData()||e<this._source.maxzoom&&(s[h.key]=h);}this._retainLoadedChildren(s,e,n,r);for(var p=0,d=t;p<d.length;p+=1){var _=d[p],f=this._tiles[_.key];if(!f.hasData()){if(e+1>this._source.maxzoom){var m=_.children(this._source.maxzoom)[0],g=this.getTile(m);if(g&&g.hasData()){r[m.key]=m;continue}}else {var v=_.children(this._source.maxzoom);if(r[v[0].key]&&r[v[1].key]&&r[v[2].key]&&r[v[3].key])continue}for(var y=f.wasRequested(),x=_.overscaledZ-1;x>=a;--x){var b=_.scaledTo(x);if(o[b.key])break;if(o[b.key]=!0,!(f=this.getTile(b))&&y&&(f=this._addTile(b)),f&&(r[b.key]=b,y=f.wasRequested(),f.hasData()))break}}}return r},i.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,r=this._tiles[t].tileID;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);var o=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(o))break;r=o;}for(var a=0,n=e;a<n.length;a+=1)this._loadedParentTiles[n[a]]=i;}},i.prototype._addTile=function(e){var i=this._tiles[e.key];if(i)return i;(i=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));var r=i;return i||(i=new O(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i},i.prototype._setTileReloadTimer=function(t,e){var i=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((function(){i._reloadTile(t,"expired"),delete i._timers[t];}),r));},i.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));},i.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset();},i.prototype.tilesIn=function(e,i,r){var o=this,a=[],n=this.transform;if(!n)return a;for(var s=r?n.getCameraQueryGeometry(e):e,l=e.map((function(t){return n.pointCoordinate(t,o.terrain)})),c=s.map((function(t){return n.pointCoordinate(t,o.terrain)})),h=this.getIds(),u=1/0,p=1/0,d=-1/0,_=-1/0,f=0,m=c;f<m.length;f+=1){var g=m[f];u=Math.min(u,g.x),p=Math.min(p,g.y),d=Math.max(d,g.x),_=Math.max(_,g.y);}for(var v=function(e){var r=o._tiles[h[e]];if(!r.holdingForFade()){var s=r.tileID,f=Math.pow(2,n.zoom-r.tileID.overscaledZ),m=i*r.queryPadding*t.EXTENT/r.tileSize/f,g=[s.getTilePoint(new t.MercatorCoordinate(u,p)),s.getTilePoint(new t.MercatorCoordinate(d,_))];if(g[0].x-m<t.EXTENT&&g[0].y-m<t.EXTENT&&g[1].x+m>=0&&g[1].y+m>=0){var v=l.map((function(t){return s.getTilePoint(t)})),y=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:r,tileID:s,queryGeometry:v,cameraQueryGeometry:y,scale:f});}}},y=0;y<h.length;y++)v(y);return a},i.prototype.getVisibleCoordinates=function(t){for(var e=this,i=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),r=0,o=i;r<o.length;r+=1){var a=o[r];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());}return i},i.prototype.hasTransition=function(){if(this._source.hasTransition())return !0;if(j(this._source.type))for(var e in this._tiles){var i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return !0}return !1},i.prototype.setFeatureState=function(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i);},i.prototype.removeFeatureState=function(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i);},i.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)},i.prototype.setDependencies=function(t,e,i){var r=this._tiles[t];r&&r.setDependencies(e,i);},i.prototype.reloadTilesForDependencies=function(t,e){for(var i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((function(i){return !i.hasDependency(t,e)}));},i}(t.Evented);function G(t,e){var i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function j(t){return "raster"===t||"image"===t||"video"===t}N.maxOverzooming=10,N.maxUnderzooming=3;var Z="mapboxgl_preloaded_worker_pool",V=function(){this.active={};};V.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<V.workerCount;)this.workers.push(new Worker(Co.workerUrl));return this.active[t]=!0,this.workers.slice()},V.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate();})),this.workers=null);},V.prototype.isPreloaded=function(){return !!this.active[Z]},V.prototype.numActive=function(){return Object.keys(this.active).length};var q,X=Math.floor(t.exported.hardwareConcurrency/2);function W(){return q||(q=new V),q}function H(e,i){var r={};for(var o in e)"ref"!==o&&(r[o]=e[o]);return t.refProperties.forEach((function(t){t in i&&(r[t]=i[t]);})),r}function K(t){t=t.slice();for(var e=Object.create(null),i=0;i<t.length;i++)e[t[i].id]=t[i];for(var r=0;r<t.length;r++)"ref"in t[r]&&(t[r]=H(t[r],e[t[r].ref]));return t}V.workerCount=Math.max(Math.min(X,6),1);var Y={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function J(t,e,i){i.push({command:Y.addSource,args:[t,e[t]]});}function Q(t,e,i){e.push({command:Y.removeSource,args:[t]}),i[t]=!0;}function $(t,e,i,r){Q(t,i,r),J(t,e,i);}function tt(t,e,i){var r;for(r in t[i])if(Object.prototype.hasOwnProperty.call(t[i],r)&&"data"!==r&&!o(t[i][r],e[i][r]))return !1;for(r in e[i])if(Object.prototype.hasOwnProperty.call(e[i],r)&&"data"!==r&&!o(t[i][r],e[i][r]))return !1;return !0}function et(t,e,i,r,a,n){var s;for(s in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,s)&&(o(t[s],e[s])||i.push({command:n,args:[r,s,e[s],a]}));for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&!Object.prototype.hasOwnProperty.call(t,s)&&(o(t[s],e[s])||i.push({command:n,args:[r,s,e[s],a]}));}function it(t){return t.id}function rt(t,e){return t[e.id]=e,t}var ot=function(t,e){this.reset(t,e);};function at(t,e){var i=!0;return "always"===t||"never"!==t&&"never"!==e||(i=!1),i}ot.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var i=1;i<this.points.length;i++)this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding;},ot.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var i=1,r=this._distances[i],o=e*this.paddedLength+this.padding;r<o&&i<this._distances.length;)r=this._distances[++i];var a=i-1,n=this._distances[a],s=r-n,l=s>0?(o-n)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))};var nt=function(t,e,i){var r=this.boxCells=[],o=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(var a=0;a<this.xCellCount*this.yCellCount;a++)r.push([]),o.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0;};function st(e,i,r,o,a){var n=t.create();return i?(t.scale(n,n,[1/a,1/a,1]),r||t.rotateZ(n,n,o.angle)):t.multiply(n,o.labelPlaneMatrix,e),n}function lt(e,i,r,o,a){if(i){var n=t.clone(e);return t.scale(n,n,[a,a,1]),r||t.rotateZ(n,n,-o.angle),n}return o.glCoordMatrix}function ct(e,i,r){var o;r?(o=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(o,o,i)):yt(o=[e.x,e.y,0,1],o,i);var a=o[3];return {point:new t.pointGeometry(o[0]/a,o[1]/a),signedDistanceFromCamera:a}}function ht(t,e){return .5+t/e*.5}function ut(t,e){var i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function pt(t,e,i,r,o,a,n,s,l,c,h,u,p){var d=s.glyphStartIndex+s.numGlyphs,_=s.lineStartIndex,f=s.lineStartIndex+s.lineLength,m=e.getoffsetX(s.glyphStartIndex),g=e.getoffsetX(d-1),v=mt(t*m,i,r,o,a,n,s.segment,_,f,l,c,h,u,p);if(!v)return null;var y=mt(t*g,i,r,o,a,n,s.segment,_,f,l,c,h,u,p);return y?{first:v,last:y}:null}function dt(e,i,r,o){return e===t.WritingMode.horizontal&&Math.abs(r.y-i.y)>Math.abs(r.x-i.x)*o?{useVertical:!0}:(e===t.WritingMode.vertical?i.y<r.y:i.x>r.x)?{needsFlipping:!0}:null}function _t(e,i,r,o,a,n,s,l,c,h,u,p,d,_,f,m){var g,v=i/24,y=e.lineOffsetX*v,x=e.lineOffsetY*v;if(e.numGlyphs>1){var b=e.glyphStartIndex+e.numGlyphs,w=e.lineStartIndex,T=e.lineStartIndex+e.lineLength,E=pt(v,l,y,x,r,u,p,e,c,n,d,f,m);if(!E)return {notEnoughRoom:!0};var I=ct(E.first.point,s,m).point,C=ct(E.last.point,s,m).point;if(o&&!r){var S=dt(e.writingMode,I,C,_);if(S)return S}g=[E.first];for(var D=e.glyphStartIndex+1;D<b-1;D++)g.push(mt(v*l.getoffsetX(D),y,x,r,u,p,e.segment,w,T,c,n,d,f,m));g.push(E.last);}else {if(o&&!r){var z=ct(p,a,m).point,P=e.lineStartIndex+e.segment+1,M=new t.pointGeometry(c.getx(P),c.gety(P)),A=ct(M,a,m),R=A.signedDistanceFromCamera>0?A.point:ft(p,M,z,1,a,m),L=dt(e.writingMode,z,R,_);if(L)return L}var k=mt(v*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,n,d,f,m);if(!k)return {notEnoughRoom:!0};g=[k];}for(var B=0,O=g;B<O.length;B+=1){var F=O[B];t.addDynamicAttributes(h,F.point,F.angle);}return {}}function ft(t,e,i,r,o,a){var n=ct(t.add(t.sub(e)._unit()),o,a).point,s=i.sub(n);return i.add(s._mult(r/s.mag()))}function mt(e,i,r,o,a,n,s,l,c,h,u,p,d,_){var f=o?e-i:e+i,m=f>0?1:-1,g=0;o&&(m*=-1,g=Math.PI),m<0&&(g+=Math.PI);for(var v=m>0?l+s:l+s+1,y=a,x=a,b=0,w=0,T=Math.abs(f),E=[];b+w<=T;){if((v+=m)<l||v>=c)return null;if(x=y,E.push(y),void 0===(y=p[v])){var I=new t.pointGeometry(h.getx(v),h.gety(v)),C=ct(I,u,_);if(C.signedDistanceFromCamera>0)y=p[v]=C.point;else {var S=v-m;y=ft(0===b?n:new t.pointGeometry(h.getx(S),h.gety(S)),I,x,T-b+1,u,_);}}b+=w,w=x.dist(y);}var D=(T-b)/w,z=y.sub(x),P=z.mult(D)._add(x);P._add(z._unit()._perp()._mult(r*m));var M=g+Math.atan2(y.y-x.y,y.x-x.x);return E.push(P),{point:P,angle:d?M:0,path:E}}nt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},nt.prototype.insert=function(t,e,i,r,o){this._forEachCell(e,i,r,o,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(i),this.bboxes.push(r),this.bboxes.push(o);},nt.prototype.insertCircle=function(t,e,i,r){this._forEachCell(e-r,i-r,e+r,i+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(i),this.circles.push(r);},nt.prototype._insertBoxCell=function(t,e,i,r,o,a){this.boxCells[o].push(a);},nt.prototype._insertCircleCell=function(t,e,i,r,o,a){this.circleCells[o].push(a);},nt.prototype._query=function(t,e,i,r,o,a,n){if(i<0||t>this.width||r<0||e>this.height)return [];var s=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(o)return [{key:null,x1:t,y1:e,x2:i,y2:r}];for(var l=0;l<this.boxKeys.length;l++)s.push({key:this.boxKeys[l],x1:this.bboxes[4*l],y1:this.bboxes[4*l+1],x2:this.bboxes[4*l+2],y2:this.bboxes[4*l+3]});for(var c=0;c<this.circleKeys.length;c++){var h=this.circles[3*c],u=this.circles[3*c+1],p=this.circles[3*c+2];s.push({key:this.circleKeys[c],x1:h-p,y1:u-p,x2:h+p,y2:u+p});}}else this._forEachCell(t,e,i,r,this._queryCell,s,{hitTest:o,overlapMode:a,seenUids:{box:{},circle:{}}},n);return s},nt.prototype.query=function(t,e,i,r){return this._query(t,e,i,r,!1,null)},nt.prototype.hitTest=function(t,e,i,r,o,a){return this._query(t,e,i,r,!0,o,a).length>0},nt.prototype.hitTestCircle=function(t,e,i,r,o){var a=t-i,n=t+i,s=e-i,l=e+i;if(n<0||a>this.width||l<0||s>this.height)return !1;var c=[];return this._forEachCell(a,s,n,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},o),c.length>0},nt.prototype._queryCell=function(t,e,i,r,o,a,n,s){var l=n.seenUids,c=n.hitTest,h=n.overlapMode,u=this.boxCells[o];if(null!==u)for(var p=this.bboxes,d=0,_=u;d<_.length;d+=1){var f=_[d];if(!l.box[f]){l.box[f]=!0;var m=4*f,g=this.boxKeys[f];if(t<=p[m+2]&&e<=p[m+3]&&i>=p[m+0]&&r>=p[m+1]&&(!s||s(g))&&(!c||!at(h,g.overlapMode))&&(a.push({key:g,x1:p[m],y1:p[m+1],x2:p[m+2],y2:p[m+3]}),c))return !0}}var v=this.circleCells[o];if(null!==v)for(var y=this.circles,x=0,b=v;x<b.length;x+=1){var w=b[x];if(!l.circle[w]){l.circle[w]=!0;var T=3*w,E=this.circleKeys[w];if(this._circleAndRectCollide(y[T],y[T+1],y[T+2],t,e,i,r)&&(!s||s(E))&&(!c||!at(h,E.overlapMode))){var I=y[T],C=y[T+1],S=y[T+2];if(a.push({key:E,x1:I-S,y1:C-S,x2:I+S,y2:C+S}),c)return !0}}}return !1},nt.prototype._queryCellCircle=function(t,e,i,r,o,a,n,s){var l=n.circle,c=n.seenUids,h=n.overlapMode,u=this.boxCells[o];if(null!==u)for(var p=this.bboxes,d=0,_=u;d<_.length;d+=1){var f=_[d];if(!c.box[f]){c.box[f]=!0;var m=4*f,g=this.boxKeys[f];if(this._circleAndRectCollide(l.x,l.y,l.radius,p[m+0],p[m+1],p[m+2],p[m+3])&&(!s||s(g))&&!at(h,g.overlapMode))return a.push(!0),!0}}var v=this.circleCells[o];if(null!==v)for(var y=this.circles,x=0,b=v;x<b.length;x+=1){var w=b[x];if(!c.circle[w]){c.circle[w]=!0;var T=3*w,E=this.circleKeys[w];if(this._circlesCollide(y[T],y[T+1],y[T+2],l.x,l.y,l.radius)&&(!s||s(E))&&!at(h,E.overlapMode))return a.push(!0),!0}}},nt.prototype._forEachCell=function(t,e,i,r,o,a,n,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r),p=l;p<=h;p++)for(var d=c;d<=u;d++)if(o.call(this,t,e,i,r,this.xCellCount*d+p,a,n,s))return},nt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},nt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},nt.prototype._circlesCollide=function(t,e,i,r,o,a){var n=r-t,s=o-e,l=i+a;return l*l>n*n+s*s},nt.prototype._circleAndRectCollide=function(t,e,i,r,o,a,n){var s=(a-r)/2,l=Math.abs(t-(r+s));if(l>s+i)return !1;var c=(n-o)/2,h=Math.abs(e-(o+c));if(h>c+i)return !1;if(l<=s||h<=c)return !0;var u=l-s,p=h-c;return u*u+p*p<=i*i};var gt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function vt(t,e){for(var i=0;i<t;i++){var r=e.length;e.resize(r+4),e.float32.set(gt,3*r);}}function yt(t,e,i){var r=e[0],o=e[1];return t[0]=i[0]*r+i[4]*o+i[12],t[1]=i[1]*r+i[5]*o+i[13],t[3]=i[3]*r+i[7]*o+i[15],t}var xt=100,bt=function(t,e,i){void 0===e&&(e=new nt(t.width+200,t.height+200,25)),void 0===i&&(i=new nt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=i,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+xt,this.screenBottomBoundary=t.height+xt,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200,this.perspectiveRatioCutoff=.6;};function wt(e,i,r){return i*(t.EXTENT/(e.tileSize*Math.pow(2,r-e.tileID.overscaledZ)))}bt.prototype.placeCollisionBox=function(t,e,i,r,o,a){var n=this.projectAndGetPerspectiveRatio(r,t.anchorPointX,t.anchorPointY,a),s=i*n.perspectiveRatio,l=t.x1*s+n.point.x,c=t.y1*s+n.point.y,h=t.x2*s+n.point.x,u=t.y2*s+n.point.y;return !this.isInsideGrid(l,c,h,u)||"always"!==e&&this.grid.hitTest(l,c,h,u,e,o)||n.perspectiveRatio<this.perspectiveRatioCutoff?{box:[],offscreen:!1}:{box:[l,c,h,u],offscreen:this.isOffscreen(l,c,h,u)}},bt.prototype.placeCollisionCircles=function(e,i,r,o,a,n,s,l,c,h,u,p,d,_){var f=[],m=new t.pointGeometry(i.anchorX,i.anchorY),g=ct(m,n,_),v=ht(this.transform.cameraToCenterDistance,g.signedDistanceFromCamera),y=(h?a/v:a*v)/t.ONE_EM,x=ct(m,s,_).point,b=pt(y,o,i.lineOffsetX*y,i.lineOffsetY*y,!1,x,m,i,r,s,{},!1,_),w=!1,T=!1,E=!0;if(b){for(var I=.5*p*v+d,C=new t.pointGeometry(-100,-100),S=new t.pointGeometry(this.screenRightBoundary,this.screenBottomBoundary),D=new ot,z=b.first,P=b.last,M=[],A=z.path.length-1;A>=1;A--)M.push(z.path[A]);for(var R=1;R<P.path.length;R++)M.push(P.path[R]);var L=2.5*I;if(l){var k=M.map((function(t){return ct(t,l,_)}));M=k.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:k.map((function(t){return t.point}));}var B=[];if(M.length>0){for(var O=M[0].clone(),F=M[0].clone(),U=1;U<M.length;U++)O.x=Math.min(O.x,M[U].x),O.y=Math.min(O.y,M[U].y),F.x=Math.max(F.x,M[U].x),F.y=Math.max(F.y,M[U].y);B=O.x>=C.x&&F.x<=S.x&&O.y>=C.y&&F.y<=S.y?[M]:F.x<C.x||O.x>S.x||F.y<C.y||O.y>S.y?[]:t.clipLine([M],C.x,C.y,S.x,S.y);}for(var N=0,G=B;N<G.length;N+=1){var j;D.reset(G[N],.25*I),j=D.length<=.5*I?1:Math.ceil(D.paddedLength/L)+1;for(var Z=0;Z<j;Z++){var V=Z/Math.max(j-1,1),q=D.lerp(V),X=q.x+xt,W=q.y+xt;f.push(X,W,I,0);var H=X-I,K=W-I,Y=X+I,J=W+I;if(E=E&&this.isOffscreen(H,K,Y,J),T=T||this.isInsideGrid(H,K,Y,J),"always"!==e&&this.grid.hitTestCircle(X,W,I,e,u)&&(w=!0,!c))return {circles:[],offscreen:!1,collisionDetected:w}}}}return {circles:!c&&w||!T||v<this.perspectiveRatioCutoff?[]:f,offscreen:E,collisionDetected:w}},bt.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};for(var i=[],r=1/0,o=1/0,a=-1/0,n=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],h=new t.pointGeometry(c.x+xt,c.y+xt);r=Math.min(r,h.x),o=Math.min(o,h.y),a=Math.max(a,h.x),n=Math.max(n,h.y),i.push(h);}for(var u={},p={},d=0,_=this.grid.query(r,o,a,n).concat(this.ignoredGrid.query(r,o,a,n));d<_.length;d+=1){var f=_[d],m=f.key;if(void 0===u[m.bucketInstanceId]&&(u[m.bucketInstanceId]={}),!u[m.bucketInstanceId][m.featureIndex]){var g=[new t.pointGeometry(f.x1,f.y1),new t.pointGeometry(f.x2,f.y1),new t.pointGeometry(f.x2,f.y2),new t.pointGeometry(f.x1,f.y2)];t.polygonIntersectsPolygon(i,g)&&(u[m.bucketInstanceId][m.featureIndex]=!0,void 0===p[m.bucketInstanceId]&&(p[m.bucketInstanceId]=[]),p[m.bucketInstanceId].push(m.featureIndex));}}return p},bt.prototype.insertCollisionBox=function(t,e,i,r,o,a){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:o,collisionGroupID:a,overlapMode:e},t[0],t[1],t[2],t[3]);},bt.prototype.insertCollisionCircles=function(t,e,i,r,o,a){for(var n=i?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:o,collisionGroupID:a,overlapMode:e},l=0;l<t.length;l+=4)n.insertCircle(s,t[l],t[l+1],t[l+2]);},bt.prototype.projectAndGetPerspectiveRatio=function(e,i,r,o){var a;return o?(a=[i,r,o(i,r),1],t.transformMat4(a,a,e)):yt(a=[i,r,0,1],a,e),{point:new t.pointGeometry((a[0]/a[3]+1)/2*this.transform.width+xt,(-a[1]/a[3]+1)/2*this.transform.height+xt),perspectiveRatio:.5+this.transform.cameraToCenterDistance/a[3]*.5}},bt.prototype.isOffscreen=function(t,e,i,r){return i<xt||t>=this.screenRightBoundary||r<xt||e>this.screenBottomBoundary},bt.prototype.isInsideGrid=function(t,e,i,r){return i>=0&&t<this.gridRightBoundary&&r>=0&&e<this.gridBottomBoundary},bt.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var Tt=function(t,e,i,r){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):r&&i?1:0,this.placed=i;};Tt.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var Et=function(t,e,i,r,o){this.text=new Tt(t?t.text:null,e,i,o),this.icon=new Tt(t?t.icon:null,e,r,o);};Et.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var It=function(t,e,i){this.text=t,this.icon=e,this.skipFade=i;},Ct=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[];},St=function(t,e,i,r,o){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=o;},Dt=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};};function zt(e,i,r,o,a){var n=t.getAnchorAlignment(e),s=-(n.horizontalAlign-.5)*i,l=-(n.verticalAlign-.5)*r,c=t.evaluateVariableOffset(e,o);return new t.pointGeometry(s+c[0]*a,l+c[1]*a)}function Pt(e,i,r,o,a,n){var s=e.x1,l=e.x2,c=e.y1,h=e.y2,u=e.anchorPointX,p=e.anchorPointY,d=new t.pointGeometry(i,r);return o&&d._rotate(a?n:-n),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}Dt.prototype.get=function(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}};}return this.collisionGroups[t]};var Mt=function(t,e,i,r,o){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new bt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new Dt(r),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};};function At(t,e,i,r,o){t.emplaceBack(e?1:0,i?1:0,r||0,o||0),t.emplaceBack(e?1:0,i?1:0,r||0,o||0),t.emplaceBack(e?1:0,i?1:0,r||0,o||0),t.emplaceBack(e?1:0,i?1:0,r||0,o||0);}Mt.prototype.getBucketParts=function(e,i,r,o){var a=r.getBucket(i),n=r.latestFeatureIndex;if(a&&n&&i.id===a.layerIds[0]){var s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),_=wt(r,1,this.transform.zoom),f=st(u,p,d,this.transform,_),m=null;if(p){var g=lt(u,p,d,this.transform,_);m=t.multiply([],this.transform.labelPlaneMatrix,g);}this.retainedQueryData[a.bucketInstanceId]=new St(a.bucketInstanceId,n,a.sourceLayerIndex,a.index,r.tileID);var v={bucket:a,layout:l,posMatrix:u,textLabelPlaneMatrix:f,labelToScreenMatrix:m,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(o)for(var y=0,x=a.sortKeyRanges;y<x.length;y+=1){var b=x[y];e.push({sortKey:b.sortKey,symbolInstanceStart:b.symbolInstanceStart,symbolInstanceEnd:b.symbolInstanceEnd,parameters:v});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v});}},Mt.prototype.attemptAnchorPlacement=function(t,e,i,r,o,a,n,s,l,c,h,u,p,d,_,f){var m=[u.textOffset0,u.textOffset1],g=zt(t,i,r,m,o),v=this.collisionIndex.placeCollisionBox(Pt(e,g.x,g.y,a,n,this.transform.angle),h,s,l,c.predicate,f);if((!_||0!==this.collisionIndex.placeCollisionBox(Pt(_,g.x,g.y,a,n,this.transform.angle),h,s,l,c.predicate,f).box.length)&&v.box.length>0){var y;if(this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(y=this.prevPlacement.variableOffsets[u.crossTileID].anchor),0===u.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[u.crossTileID]={textOffset:m,width:i,height:r,anchor:t,textBoxScale:o,prevAnchor:y},this.markUsedJustification(p,t,u,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,u),this.placedOrientations[u.crossTileID]=d),{shift:g,placedGlyphBoxes:v}}},Mt.prototype.placeLayerBucketPart=function(e,i,r){var o=this,a=e.parameters,n=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,h=a.labelToScreenMatrix,u=a.textPixelRatio,p=a.holdingForFade,d=a.collisionBoxArray,_=a.partiallyEvaluatedTextSize,f=a.collisionGroup,m=s.get("text-optional"),g=s.get("icon-optional"),v=t.getOverlapMode(s,"text-overlap","text-allow-overlap"),y="always"===v,x=t.getOverlapMode(s,"icon-overlap","icon-allow-overlap"),b="always"===x,w="map"===s.get("text-rotation-alignment"),T="map"===s.get("text-pitch-alignment"),E="none"!==s.get("icon-text-fit"),I="viewport-y"===s.get("symbol-z-order"),C=y&&(b||!n.hasIconData()||g),S=b&&(y||!n.hasTextData()||m);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d);var D=function(e,a){if(!i[e.crossTileID])if(p)o.placements[e.crossTileID]=new It(!1,!1,!1);else {var d,b=!1,I=!1,D=!0,z=null,P={box:null,offscreen:null},M={box:null,offscreen:null},A=null,R=null,L=0,k=0,B=0;a.textFeatureIndex?L=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(L=e.featureIndex),a.verticalTextFeatureIndex&&(k=a.verticalTextFeatureIndex);for(var O=o.retainedQueryData[n.bucketInstanceId].tileID,F=o.terrain?function(t,e){return o.terrain.getElevation(O,t,e)}:null,U=0,N=["textBox","verticalTextBox","iconBox","verticalIconBox"];U<N.length;U+=1){var G=a[N[U]];G&&(G.elevation=F?F(G.anchorPointX,G.anchorPointY):0);}var j=a.textBox;if(j){var Z=function(i){var r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&o.prevPlacement){var a=o.prevPlacement.placedOrientations[e.crossTileID];a&&(o.placedOrientations[e.crossTileID]=a,o.markUsedOrientation(n,r=a,e));}return r},V=function(i,r){if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var o=0,s=n.writingModes;o<s.length&&(s[o]===t.WritingMode.vertical?(P=r(),M=P):P=i(),!(P&&P.box&&P.box.length));o+=1);else P=i();};if(s.get("text-variable-anchor")){var q=s.get("text-variable-anchor");if(o.prevPlacement&&o.prevPlacement.variableOffsets[e.crossTileID]){var X=o.prevPlacement.variableOffsets[e.crossTileID];q.indexOf(X.anchor)>0&&(q=q.filter((function(t){return t!==X.anchor}))).unshift(X.anchor);}var W=function(t,i,r){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,h=E&&"never"===x?i:null,p={box:[],offscreen:!1},d="never"!==v?2*q.length:q.length,_=0;_<d;++_){var m=o.attemptAnchorPlacement(q[_%q.length],t,a,s,c,w,T,u,l,f,_>=q.length?v:"never",e,n,r,h,F);if(m&&(p=m.placedGlyphBoxes)&&p.box&&p.box.length){b=!0,z=m.shift;break}}return p};V((function(){return W(j,a.iconBox,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&!(P&&P.box&&P.box.length)&&e.numVerticalGlyphVertices>0&&i?W(i,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),P&&(b=P.box,D=P.offscreen);var H=Z(P&&P.box);if(!b&&o.prevPlacement){var K=o.prevPlacement.variableOffsets[e.crossTileID];K&&(o.variableOffsets[e.crossTileID]=K,o.markUsedJustification(n,K.anchor,e,H));}}else {var Y=function(t,i){var r=o.collisionIndex.placeCollisionBox(t,v,u,l,f.predicate,F);return r&&r.box&&r.box.length&&(o.markUsedOrientation(n,i,e),o.placedOrientations[e.crossTileID]=i),r};V((function(){return Y(j,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?Y(i,t.WritingMode.vertical):{box:null,offscreen:null}})),Z(P&&P.box&&P.box.length);}}if(b=(d=P)&&d.box&&d.box.length>0,D=d&&d.offscreen,e.useRuntimeCollisionCircles){var J=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Q=t.evaluateSizeForFeature(n.textSizeData,_,J),$=s.get("text-padding");(A=o.collisionIndex.placeCollisionCircles(v,J,n.lineVertexArray,n.glyphOffsetArray,Q,l,c,h,r,T,f.predicate,e.collisionCircleDiameter,$,F)).circles.length&&A.collisionDetected&&!r&&t.warnOnce("Collisions detected, but collision boxes are not shown"),b=y||A.circles.length>0&&!A.collisionDetected,D=D&&A.offscreen;}if(a.iconFeatureIndex&&(B=a.iconFeatureIndex),a.iconBox){var tt=function(t){var e=E&&z?Pt(t,z.x,z.y,w,T,o.transform.angle):t;return o.collisionIndex.placeCollisionBox(e,x,u,l,f.predicate,F)};I=M&&M.box&&M.box.length&&a.verticalIconBox?(R=tt(a.verticalIconBox)).box.length>0:(R=tt(a.iconBox)).box.length>0,D=D&&R.offscreen;}var et=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,it=g||0===e.numIconVertices;if(et||it?it?et||(I=I&&b):b=I&&b:I=b=I&&b,b&&d&&d.box&&o.collisionIndex.insertCollisionBox(d.box,v,s.get("text-ignore-placement"),n.bucketInstanceId,M&&M.box&&k?k:L,f.ID),I&&R&&o.collisionIndex.insertCollisionBox(R.box,x,s.get("icon-ignore-placement"),n.bucketInstanceId,B,f.ID),A&&(b&&o.collisionIndex.insertCollisionCircles(A.circles,v,s.get("text-ignore-placement"),n.bucketInstanceId,L,f.ID),r)){var rt=n.bucketInstanceId,ot=o.collisionCircleArrays[rt];void 0===ot&&(ot=o.collisionCircleArrays[rt]=new Ct);for(var at=0;at<A.circles.length;at+=4)ot.circles.push(A.circles[at+0]),ot.circles.push(A.circles[at+1]),ot.circles.push(A.circles[at+2]),ot.circles.push(A.collisionDetected?1:0);}if(0===e.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===n.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");o.placements[e.crossTileID]=new It(b||C,I||S,D||n.justReloaded),i[e.crossTileID]=!0;}};if(I){if(0!==e.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");for(var z=n.getSortedSymbolIndexes(this.transform.angle),P=z.length-1;P>=0;--P){var M=z[P];D(n.symbolInstances.get(M),n.collisionArrays[M]);}}else for(var A=e.symbolInstanceStart;A<e.symbolInstanceEnd;A++)D(n.symbolInstances.get(A),n.collisionArrays[A]);if(r&&n.bucketInstanceId in this.collisionCircleArrays){var R=this.collisionCircleArrays[n.bucketInstanceId];t.invert(R.invProjMatrix,l),R.viewportMatrix=this.collisionIndex.getViewportMatrix();}n.justReloaded=!1;},Mt.prototype.markUsedJustification=function(e,i,r,o){var a;a=o===t.WritingMode.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(i)];for(var n=0,s=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];n<s.length;n+=1){var l=s[n];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:r.crossTileID);}},Mt.prototype.markUsedOrientation=function(e,i,r){for(var o=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,n=0,s=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];n<s.length;n+=1)e.text.placedSymbolArray.get(s[n]).placedOrientation=o;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a);},Mt.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var r=e?e.symbolFadeChange(t):1,o=e?e.opacities:{},a=e?e.variableOffsets:{},n=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=o[s];c?(this.opacities[s]=new Et(c,r,l.text,l.icon),i=i||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new Et(null,r,l.text,l.icon,l.skipFade),i=i||l.text||l.icon);}for(var h in o){var u=o[h];if(!this.opacities[h]){var p=new Et(u,r,!1,!1);p.isHidden()||(this.opacities[h]=p,i=i||u.text.placed||u.icon.placed);}}for(var d in a)this.variableOffsets[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.variableOffsets[d]=a[d]);for(var _ in n)this.placedOrientations[_]||!this.opacities[_]||this.opacities[_].isHidden()||(this.placedOrientations[_]=n[_]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);},Mt.prototype.updateLayerOpacities=function(t,e){for(var i={},r=0,o=e;r<o.length;r+=1){var a=o[r],n=a.getBucket(t);n&&a.latestFeatureIndex&&t.id===n.layerIds[0]&&this.updateBucketOpacities(n,i,a.collisionBoxArray);}},Mt.prototype.updateBucketOpacities=function(e,i,r){var o=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,n=new Et(null,0,!1,!1,!0),s=a.get("text-allow-overlap"),l=a.get("icon-allow-overlap"),c=a.get("text-variable-anchor"),h="map"===a.get("text-rotation-alignment"),u="map"===a.get("text-pitch-alignment"),p="none"!==a.get("icon-text-fit"),d=new Et(null,0,s&&(l||!e.hasIconData()||a.get("icon-optional")),l&&(s||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);for(var _=function(t,e,i){for(var r=0;r<e/4;r++)t.opacityVertexArray.emplaceBack(i);},f=function(r){var a=e.symbolInstances.get(r),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,f=a.crossTileID,m=o.opacities[f];i[f]?m=n:m||(o.opacities[f]=m=d),i[f]=!0;var g=a.numIconVertices>0,v=o.placedOrientations[a.crossTileID],y=v===t.WritingMode.vertical,x=v===t.WritingMode.horizontal||v===t.WritingMode.horizontalOnly;if(s>0||l>0){var b=Nt(m.text);_(e.text,s,y?Gt:b),_(e.text,l,x?Gt:b);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||y?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||x?1:0);var T=o.variableOffsets[a.crossTileID];T&&o.markUsedJustification(e,T.anchor,a,v);var E=o.placedOrientations[a.crossTileID];E&&(o.markUsedJustification(e,"left",a,E),o.markUsedOrientation(e,E,a));}if(g){var I=Nt(m.icon),C=!(p&&a.verticalPlacedIconSymbolIndex&&y);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,C?I:Gt),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,C?Gt:I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[r];if(S){var D=new t.pointGeometry(0,0);if(S.textBox||S.verticalTextBox){var z=!0;if(c){var P=o.variableOffsets[f];P?(D=zt(P.anchor,P.width,P.height,P.textOffset,P.textBoxScale),h&&D._rotate(u?o.transform.angle:-o.transform.angle)):z=!1;}S.textBox&&At(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||y,D.x,D.y),S.verticalTextBox&&At(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||x,D.x,D.y);}var M=Boolean(!x&&S.verticalIconBox);S.iconBox&&At(e.iconCollisionBox.collisionVertexArray,m.icon.placed,M,p?D.x:0,p?D.y:0),S.verticalIconBox&&At(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!M,p?D.x:0,p?D.y:0);}}},m=0;m<e.symbolInstances.length;m++)f(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error("bucket.text.opacityVertexArray.length (= "+e.text.opacityVertexArray.length+") !== bucket.text.layoutVertexArray.length (= "+e.text.layoutVertexArray.length+") / 4");if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error("bucket.icon.opacityVertexArray.length (= "+e.icon.opacityVertexArray.length+") !== bucket.icon.layoutVertexArray.length (= "+e.icon.layoutVertexArray.length+") / 4");if(e.bucketInstanceId in this.collisionCircleArrays){var g=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=g.invProjMatrix,e.placementViewportMatrix=g.viewportMatrix,e.collisionCircleArray=g.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}},Mt.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},Mt.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},Mt.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},Mt.prototype.stillRecent=function(t,e){var i=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*i>t},Mt.prototype.setStale=function(){this.stale=!0;};var Rt=Math.pow(2,25),Lt=Math.pow(2,24),kt=Math.pow(2,17),Bt=Math.pow(2,16),Ot=Math.pow(2,9),Ft=Math.pow(2,8),Ut=Math.pow(2,1);function Nt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Rt+e*Lt+i*kt+e*Bt+i*Ot+e*Ft+i*Ut+e}var Gt=0,jt=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];};jt.prototype.continuePlacement=function(t,e,i,r,o){for(var a=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(a,r,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,o())return !0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;)if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,o())return !0;return !1};var Zt=function(t,e,i,r,o,a,n,s){this.placement=new Mt(t,e,a,n,s),this._currentPlacementIndex=i.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=o,this._done=!1;};Zt.prototype.isDone=function(){return this._done},Zt.prototype.continuePlacement=function(e,i,r){for(var o=this,a=t.exported.now(),n=function(){var e=t.exported.now()-a;return !o._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=i[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new jt(s)),this._inProgressLayer.continuePlacement(r[s.source],this.placement,this._showCollisionBoxes,s,n))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;},Zt.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Vt=512/t.EXTENT/2,qt=function(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(var r=0;r<e.length;r++){var o=e.get(r),a=o.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:o.crossTileID,coord:this.getScaledCoordinates(o,t)});}};qt.prototype.getScaledCoordinates=function(e,i){var r=Vt/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return {x:Math.floor((i.canonical.x*t.EXTENT+e.anchorX)*r),y:Math.floor((i.canonical.y*t.EXTENT+e.anchorY)*r)}},qt.prototype.findMatches=function(t,e,i){for(var r=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),o=0;o<t.length;o++){var a=t.get(o);if(!a.crossTileID){var n=this.indexedSymbolInstances[a.key];if(n)for(var s=this.getScaledCoordinates(a,e),l=0,c=n;l<c.length;l+=1){var h=c[l];if(Math.abs(h.coord.x-s.x)<=r&&Math.abs(h.coord.y-s.y)<=r&&!i[h.crossTileID]){i[h.crossTileID]=!0,a.crossTileID=h.crossTileID;break}}}}};var Xt=function(){this.maxCrossTileID=0;};Xt.prototype.generate=function(){return ++this.maxCrossTileID};var Wt=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;};Wt.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var i in this.indexes){var r=this.indexes[i],o={};for(var a in r){var n=r[a];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),o[n.tileID.key]=n;}this.indexes[i]=o;}this.lng=t;},Wt.prototype.addBucket=function(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(var r=0;r<e.symbolInstances.length;r++)e.symbolInstances.get(r).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var n=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in n){var l=n[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,o);}else {var c=n[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,o);}}for(var h=0;h<e.symbolInstances.length;h++){var u=e.symbolInstances.get(h);u.crossTileID||(u.crossTileID=i.generate(),o[u.crossTileID]=!0);}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new qt(t,e.symbolInstances,e.bucketInstanceId),!0},Wt.prototype.removeBucketCrossTileIDs=function(t,e){for(var i in e.indexedSymbolInstances)for(var r=0,o=e.indexedSymbolInstances[i];r<o.length;r+=1)delete this.usedCrossTileIDs[t][o[r].crossTileID];},Wt.prototype.removeStaleBuckets=function(t){var e=!1;for(var i in this.indexes){var r=this.indexes[i];for(var o in r)t[r[o].bucketInstanceId]||(this.removeBucketCrossTileIDs(i,r[o]),delete r[o],e=!0);}return e};var Ht=function(){this.layerIndexes={},this.crossTileIDs=new Xt,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={};};Ht.prototype.addLayer=function(t,e,i){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new Wt);var o=!1,a={};r.handleWrapJump(i);for(var n=0,s=e;n<s.length;n+=1){var l=s[n],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,c,this.crossTileIDs)&&(o=!0),a[c.bucketInstanceId]=!0);}return r.removeStaleBuckets(a)&&(o=!0),o},Ht.prototype.pruneUnusedLayers=function(t){var e={};for(var i in t.forEach((function(t){e[t]=!0;})),this.layerIndexes)e[i]||delete this.layerIndexes[i];};var Kt=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Yt=function(e){function i(t){e.call(this),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*Math.pow(2,this.deltaZoom);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.destruct=function(){for(var t in this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null,this._tiles){var e=this._tiles[t];e.textures.forEach((function(t){return t.destroy()})),e.textures=[];}},i.prototype.update=function(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(var r=0,o=e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i});r<o.length;r+=1){var a=o[r];this._renderableTilesKeys.push(a.key),this._tiles[a.key]||(a.posMatrix=new Float64Array(16),t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[a.key]=new O(a,this.tileSize));}},i.prototype.removeOutdated=function(t){var e=this,i={};this.renderHistory=this.renderHistory.filter((function(t,i){return e.renderHistory.indexOf(t)===i})).slice(0,this.renderHistorySize);for(var r=0,o=this._renderableTilesKeys;r<o.length;r+=1)i[o[r]]=!0;for(var a=0,n=this.renderHistory;a<n.length;a+=1)i[n[a]]=!0;for(var s in this._tiles)i[s]||(this._tiles[s].clearTextures(t),delete this._tiles[s]);},i.prototype.getRenderableTiles=function(){var t=this;return this._renderableTilesKeys.map((function(e){return t.getTileByID(e)}))},i.prototype.getTileByID=function(t){return this._tiles[t]},i.prototype.getTerrainCoords=function(e){for(var i={},r=0,o=this._renderableTilesKeys;r<o.length;r+=1){var a=o[r],n=this._tiles[a].tileID;if(n.canonical.equals(e.canonical)){var s=e.clone();s.posMatrix=new Float64Array(16),t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[a]=s;}else if(n.canonical.isChildOf(e.canonical)){var l=e.clone();l.posMatrix=new Float64Array(16);var c=n.canonical.z-e.canonical.z,h=n.canonical.x-(n.canonical.x>>c<<c),u=n.canonical.y-(n.canonical.y>>c<<c),p=t.EXTENT>>c;t.ortho(l.posMatrix,0,p,0,p,0,1),t.translate(l.posMatrix,l.posMatrix,[-h*p,-u*p,0]),i[a]=l;}else if(e.canonical.isChildOf(n.canonical)){var d=e.clone();d.posMatrix=new Float64Array(16);var _=e.canonical.z-n.canonical.z,f=e.canonical.x-(e.canonical.x>>_<<_),m=e.canonical.y-(e.canonical.y>>_<<_),g=t.EXTENT>>_;t.ortho(d.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(d.posMatrix,d.posMatrix,[f*g,m*g,0]),t.scale(d.posMatrix,d.posMatrix,[1/Math.pow(2,_),1/Math.pow(2,_),0]),i[a]=d;}}return i},i.prototype.getSourceTile=function(t,e){var i=this.sourceCache._source,r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r<i.minzoom)return null;this._sourceTileCache[t.key]||(this._sourceTileCache[t.key]=t.scaledTo(r).key);var o=this.sourceCache.getTileByID(this._sourceTileCache[t.key]);if((!o||!o.dem)&&e)for(;r>=i.minzoom&&(!o||!o.dem);)o=this.sourceCache.getTileByID(t.scaledTo(r--).key);return o},i.prototype.tilesAfterTime=function(t){return void 0===t&&(t=Date.now()),Object.values(this._tiles).filter((function(e){return e.timeLoaded>=t}))},i}(t.Evented),Jt=function(t,e,i){this.style=t,this.sourceCache=new Yt(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset="number"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache();};Jt.prototype.getDEMElevation=function(e,i,r,o){if(void 0===o&&(o=t.EXTENT),!(i>=0&&i<o&&r>=0&&r<o))return this.elevationOffset;var a=0,n=this.getTerrainData(e);if(n.tile&&n.tile.dem){var s=t.transformMat4$1([],[i/o*t.EXTENT,r/o*t.EXTENT],n.u_terrain_matrix),l=[s[0]*n.tile.dem.dim,s[1]*n.tile.dem.dim],c=[Math.floor(l[0]),Math.floor(l[1])],h=n.tile.dem.get(c[0],c[1]),u=n.tile.dem.get(c[0],c[1]+1),p=n.tile.dem.get(c[0]+1,c[1]),d=n.tile.dem.get(c[0]+1,c[1]+1);a=t.number(t.number(h,u,l[0]-c[0]),t.number(p,d,l[0]-c[0]),l[1]-c[1]);}return a},Jt.prototype.rememberForRerender=function(t,e){for(var i in this.sourceCache._tiles){var r=this.sourceCache._tiles[i];(r.tileID.equals(e)||r.tileID.isChildOf(e))&&(t===this.sourceCache.sourceCache.id&&(r.timeLoaded=Date.now()),this._rerender[t]=this._rerender[t]||{},this._rerender[t][r.tileID.key]=!0);}},Jt.prototype.needsRerender=function(t,e){return this._rerender[t]&&this._rerender[t][e.key]},Jt.prototype.clearRerenderCache=function(){this._rerender={};},Jt.prototype.getElevation=function(e,i,r,o){return void 0===o&&(o=t.EXTENT),(this.getDEMElevation(e,i,r,o)+this.elevationOffset)*this.exaggeration},Jt.prototype.getTerrainData=function(e){if(!this._emptyDemTexture){var i=this.style.map.painter.context,r=new t.RGBAImage({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new l(i,r,i.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new l(i,new t.RGBAImage({width:1,height:1}),i.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(i.gl.NEAREST,i.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.identity([]);}var o=this.sourceCache.getSourceTile(e,!0);if(o&&o.dem&&(!o.demTexture||o.needsTerrainPrepare)){var a=this.style.map.painter.context;o.demTexture=this.style.map.painter.getTileTexture(o.dem.stride),o.demTexture?o.demTexture.update(o.dem.getPixels(),{premultiply:!1}):o.demTexture=new l(a,o.dem.getPixels(),a.gl.RGBA,{premultiply:!1}),o.demTexture.bind(a.gl.NEAREST,a.gl.CLAMP_TO_EDGE),o.needsTerrainPrepare=!1;}var n=o&&o+o.tileID.key+e.key;if(n&&!this._demMatrixCache[n]){var s=this.sourceCache.sourceCache._source.maxzoom,c=e.canonical.z-o.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=s?c=e.canonical.z-s:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));var h=e.canonical.x-(e.canonical.x>>c<<c),u=e.canonical.y-(e.canonical.y>>c<<c),p=t.fromScaling(new Float64Array(16),[1/(t.EXTENT<<c),1/(t.EXTENT<<c),0]);t.translate(p,p,[h*t.EXTENT,u*t.EXTENT,0]),this._demMatrixCache[e.key]={matrix:p,coord:e};}return {u_depth:2,u_terrain:3,u_terrain_dim:o&&o.dem&&o.dem.dim||1,u_terrain_matrix:n?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:o&&o.dem&&o.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_offset:this.elevationOffset,u_terrain_exaggeration:this.exaggeration,texture:(o&&o.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:o}},Jt.prototype.getRTTFramebuffer=function(){var t=this.style.map.painter;if(!this._rttFramebuffer){var e=this.sourceCache.tileSize*this.qualityFactor;this._rttFramebuffer=t.context.createFramebuffer(e,e,!0),this._rttFramebuffer.depthAttachment.set(t.context.createRenderbuffer(t.context.gl.DEPTH_COMPONENT16,e,e));}return this._rttFramebuffer},Jt.prototype.getFramebuffer=function(t){var e=this.style.map.painter,i=e.width/devicePixelRatio,r=e.height/devicePixelRatio;return !this._fbo||this._fbo.width===i&&this._fbo.height===r||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new l(e.context,{width:i,height:r,data:null},e.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(e.context.gl.NEAREST,e.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new l(e.context,{width:i,height:r,data:null},e.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(e.context.gl.NEAREST,e.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=e.context.createFramebuffer(i,r,!0),this._fbo.depthAttachment.set(e.context.createRenderbuffer(e.context.gl.DEPTH_COMPONENT16,i,r))),this._fbo.colorAttachment.set("coords"===t?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo},Jt.prototype.getCoordsTexture=function(){var e=this.style.map.painter.context;if(this._coordsTexture)return this._coordsTexture;for(var i=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4),r=0,o=0;r<this._coordsTextureSize;r++)for(var a=0;a<this._coordsTextureSize;a++,o+=4)i[o+0]=255&a,i[o+1]=255&r,i[o+2]=a>>8<<4|r>>8,i[o+3]=0;var n=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),s=new l(e,n,e.gl.RGBA,{premultiply:!1});return s.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=s,s},Jt.prototype.pointCoordinate=function(e){var i=new Uint8Array(4),r=this.style.map.painter,o=r.context,a=o.gl;o.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),a.readPixels(e.x,r.height/devicePixelRatio-e.y-1,1,1,a.RGBA,a.UNSIGNED_BYTE,i),o.bindFramebuffer.set(null);var n=i[0]+(i[2]>>4<<8),s=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;var h=this._coordsTextureSize,u=(1<<c.tileID.canonical.z)*h;return new t.MercatorCoordinate((c.tileID.canonical.x*h+n)/u,(c.tileID.canonical.y*h+s)/u,this.getElevation(c.tileID,n,s,h))},Jt.prototype.getTerrainMesh=function(){if(this._mesh)return this._mesh;for(var e=this.style.map.painter.context,i=new t.PosArray,r=new t.TriangleIndexArray,o=this.meshSize,a=t.EXTENT/o,n=o*o,s=0;s<=o;s++)for(var l=0;l<=o;l++)i.emplaceBack(l*a,s*a);for(var c=0;c<n;c+=o+1)for(var h=0;h<o;h++)r.emplaceBack(h+c,o+h+c+1,o+h+c+2),r.emplaceBack(h+c,o+h+c+2,h+c+1);return this._mesh={indexBuffer:e.createIndexBuffer(r),vertexBuffer:e.createVertexBuffer(i,Kt.members),segments:t.SegmentVector.simpleSegment(0,0,i.length,r.length)},this._mesh},Jt.prototype.getMinMaxElevation=function(t){var e=this.getTerrainData(t).tile,i={minElevation:null,maxElevation:null};return e&&e.dem&&(i.minElevation=(e.dem.min+this.elevationOffset)*this.exaggeration,i.maxElevation=(e.dem.max+this.elevationOffset)*this.exaggeration),i};var Qt=function(e,i){return t.emitValidationErrors(e,i&&i.filter((function(t){return "source.canvas"!==t.identifier})))},$t=t.pick(Y,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),te=t.pick(Y,["setCenter","setZoom","setBearing","setPitch"]),ee=function(){var e={},i=t.spec.$version;for(var r in t.spec.$root){var o,a=t.spec.$root[r];if(a.required)null!=(o="version"===r?i:"array"===a.type?[]:{})&&(e[r]=o);}return e}(),ie=function(e){function i(r,o){var a=this;void 0===o&&(o={}),e.call(this),this.map=r,this.dispatcher=new b(W(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new f(r._requestManager,o.localIdeographFontFamily),this.lineAtlas=new x(256,512),this.crossTileSymbolIndex=new Ht,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var n=this;this._rtlTextPluginCallback=i.registerForPluginStateChange((function(e){n.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,i){if(t.triggerPluginCompletionEvent(e),i&&i.every((function(t){return t})))for(var r in n.sourceCaches)n.sourceCaches[r].reload();}));})),this.on("data",(function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var i=e.getSource();if(i&&i.vectorLayerIds)for(var r in a._layers){var o=a._layers[r];o.source===i.id&&a._validateLayer(o);}}}}));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.loadURL=function(e,i){var r=this;void 0===i&&(i={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var o="boolean"!=typeof i.validate||i.validate,a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,i){r._request=null,e?r.fire(new t.ErrorEvent(e)):i&&r._load(i,o);}));},i.prototype.loadJSON=function(e,i){var r=this;void 0===i&&(i={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((function(){r._request=null,r._load(e,!1!==i.validate);}));},i.prototype.loadEmpty=function(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(ee,!1);},i.prototype._load=function(e,i){if(!i||!Qt(this,t.validateStyle(e))){for(var r in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(r,e.sources[r],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var o=K(this.stylesheet.layers);this._order=o.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,n=o;a<n.length;a+=1){var s=n[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize();}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new y(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"));}},i.prototype._loadSprite=function(e){var i=this;this._spriteRequest=function(e,i,r,o){var a,n,s,l=r>1?"@2x":"",c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,".json"),t.ResourceType.SpriteJSON),(function(t,e){c=null,s||(s=t,a=e,u());})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,".png"),t.ResourceType.SpriteImage),(function(t,e){h=null,s||(s=t,n=e,u());}));function u(){if(s)o(s);else if(a&&n){var e=t.exported.getImageData(n),i={};for(var r in a){var l=a[r],c=l.width,h=l.height,u=l.x,p=l.y,d=l.sdf,_=l.pixelRatio,f=l.stretchX,m=l.stretchY,g=l.content,v=new t.RGBAImage({width:c,height:h});t.RGBAImage.copy(e,v,{x:u,y:p},{x:0,y:0},{width:c,height:h}),i[r]={data:v,pixelRatio:_,sdf:d,stretchX:f,stretchY:m,content:g};}o(null,i);}}return {cancel:function(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null);}}}(e,this.map._requestManager,this.map.getPixelRatio(),(function(e,r){if(i._spriteRequest=null,e)i.fire(new t.ErrorEvent(e));else if(r)for(var o in r)i.imageManager.addImage(o,r[o]);i.imageManager.setLoaded(!0),i._availableImages=i.imageManager.listImages(),i.dispatcher.broadcast("setImages",i._availableImages),i.fire(new t.Event("data",{dataType:"style"}));}));},i.prototype._validateLayer=function(e){var i=this.sourceCaches[e.source];if(i){var r=e.sourceLayer;if(r){var o=i.getSource();("geojson"===o.type||o.vectorLayerIds&&-1===o.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+r+'" does not exist on source "'+o.id+'" as specified by style layer "'+e.id+'".')));}}},i.prototype.loaded=function(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(t){for(var e=[],i=0,r=t;i<r.length;i+=1){var o=this._layers[r[i]];"custom"!==o.type&&e.push(o.serialize());}return e},i.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return !0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(var e in this._layers)if(this._layers[e].hasTransition())return !0;return !1},i.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading.")},i.prototype.update=function(e){if(this._loaded){var i=this._changed;if(this._changed){var r=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);for(var a in (r.length||o.length)&&this._updateWorkerLayers(r,o),this._updatedSources){var n=this._updatedSources[a];if("reload"===n)this._reloadSource(a);else {if("clear"!==n)throw new Error("Invalid action "+n);this._clearSource(a);}}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}var l={};for(var c in this.sourceCaches){var h=this.sourceCaches[c];l[c]=h.used,h.used=!1;}for(var u=0,p=this._order;u<p.length;u+=1){var d=this._layers[p[u]];d.recalculate(e,this._availableImages),!d.isHidden(e.zoom)&&d.source&&(this.sourceCaches[d.source].used=!0);}for(var _ in l){var f=this.sourceCaches[_];l[_]!==f.used&&f.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:_}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}));}},i.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={};}},i.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e});},i.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};},i.prototype.setTerrain=function(e){var i=this;if(this._checkLoaded(),this._terrainDataCallback&&this.off("data",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off("freezeElevation",this._terrainfreezeElevationCallback),e){var r=this.sourceCaches[e.source];if(!r)throw new Error("cannot load terrain, because there exists no source with ID: "+e.source);this.terrain=new Jt(this,r,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=function(t){t.freeze?i.map.transform.freezeElevation=!0:(i.map.transform.freezeElevation=!1,i.map.transform.recalculateZoom(i.terrain));},this._terrainDataCallback=function(t){t.tile&&(t.sourceId===e.source?(i.map.transform.updateElevation(i.terrain),i.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):"geojson"===t.source.type&&i.terrain.rememberForRerender(t.sourceId,t.tile.tileID));},this.on("data",this._terrainDataCallback),this.map.on("freezeElevation",this._terrainfreezeElevationCallback);}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event("terrain",{terrain:e}));},i.prototype.setState=function(e){var i=this;if(this._checkLoaded(),Qt(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=K(e.layers);var r=function(t,e){if(!t)return [{command:Y.setStyle,args:[e]}];var i=[];try{if(!o(t.version,e.version))return [{command:Y.setStyle,args:[e]}];o(t.center,e.center)||i.push({command:Y.setCenter,args:[e.center]}),o(t.zoom,e.zoom)||i.push({command:Y.setZoom,args:[e.zoom]}),o(t.bearing,e.bearing)||i.push({command:Y.setBearing,args:[e.bearing]}),o(t.pitch,e.pitch)||i.push({command:Y.setPitch,args:[e.pitch]}),o(t.sprite,e.sprite)||i.push({command:Y.setSprite,args:[e.sprite]}),o(t.glyphs,e.glyphs)||i.push({command:Y.setGlyphs,args:[e.glyphs]}),o(t.transition,e.transition)||i.push({command:Y.setTransition,args:[e.transition]}),o(t.light,e.light)||i.push({command:Y.setLight,args:[e.light]});var r={},a=[];!function(t,e,i,r){var a;for(a in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,a)&&(Object.prototype.hasOwnProperty.call(e,a)||Q(a,i,r));for(a in e)Object.prototype.hasOwnProperty.call(e,a)&&(Object.prototype.hasOwnProperty.call(t,a)?o(t[a],e[a])||("geojson"===t[a].type&&"geojson"===e[a].type&&tt(t,e,a)?i.push({command:Y.setGeoJSONSourceData,args:[a,e[a].data]}):$(a,e,i,r)):J(a,e,i));}(t.sources,e.sources,a,r);var n=[];t.layers&&t.layers.forEach((function(t){r[t.source]?i.push({command:Y.removeLayer,args:[t.id]}):n.push(t);})),i=i.concat(a),function(t,e,i){e=e||[];var r,a,n,s,l,c,h,u=(t=t||[]).map(it),p=e.map(it),d=t.reduce(rt,{}),_=e.reduce(rt,{}),f=u.slice(),m=Object.create(null);for(r=0,a=0;r<u.length;r++)n=u[r],Object.prototype.hasOwnProperty.call(_,n)?a++:(i.push({command:Y.removeLayer,args:[n]}),f.splice(f.indexOf(n,a),1));for(r=0,a=0;r<p.length;r++)f[f.length-1-r]!==(n=p[p.length-1-r])&&(Object.prototype.hasOwnProperty.call(d,n)?(i.push({command:Y.removeLayer,args:[n]}),f.splice(f.lastIndexOf(n,f.length-a),1)):a++,i.push({command:Y.addLayer,args:[_[n],c=f[f.length-r]]}),f.splice(f.length-r,0,n),m[n]=!0);for(r=0;r<p.length;r++)if(s=d[n=p[r]],l=_[n],!m[n]&&!o(s,l))if(o(s.source,l.source)&&o(s["source-layer"],l["source-layer"])&&o(s.type,l.type)){for(h in et(s.layout,l.layout,i,n,null,Y.setLayoutProperty),et(s.paint,l.paint,i,n,null,Y.setPaintProperty),o(s.filter,l.filter)||i.push({command:Y.setFilter,args:[n,l.filter]}),o(s.minzoom,l.minzoom)&&o(s.maxzoom,l.maxzoom)||i.push({command:Y.setLayerZoomRange,args:[n,l.minzoom,l.maxzoom]}),s)Object.prototype.hasOwnProperty.call(s,h)&&"layout"!==h&&"paint"!==h&&"filter"!==h&&"metadata"!==h&&"minzoom"!==h&&"maxzoom"!==h&&(0===h.indexOf("paint.")?et(s[h],l[h],i,n,h.slice(6),Y.setPaintProperty):o(s[h],l[h])||i.push({command:Y.setLayerProperty,args:[n,h,l[h]]}));for(h in l)Object.prototype.hasOwnProperty.call(l,h)&&!Object.prototype.hasOwnProperty.call(s,h)&&"layout"!==h&&"paint"!==h&&"filter"!==h&&"metadata"!==h&&"minzoom"!==h&&"maxzoom"!==h&&(0===h.indexOf("paint.")?et(s[h],l[h],i,n,h.slice(6),Y.setPaintProperty):o(s[h],l[h])||i.push({command:Y.setLayerProperty,args:[n,h,l[h]]}));}else i.push({command:Y.removeLayer,args:[n]}),c=f[f.lastIndexOf(n)+1],i.push({command:Y.addLayer,args:[l,c]});}(n,e.layers,i);}catch(t){console.warn("Unable to compute style diff:",t),i=[{command:Y.setStyle,args:[e]}];}return i}(this.serialize(),e).filter((function(t){return !(t.command in te)}));if(0===r.length)return !1;var a=r.filter((function(t){return !(t.command in $t)}));if(a.length>0)throw new Error("Unimplemented: "+a.map((function(t){return t.command})).join(", ")+".");return r.forEach((function(t){"setTransition"!==t.command&&i[t.command].apply(i,t.args);})),this.stylesheet=e,!0},i.prototype.addImage=function(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error('An image named "'+e+'" already exists.')));this.imageManager.addImage(e,i),this._afterImageUpdated(e);},i.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e);},i.prototype.getImage=function(t){return this.imageManager.getImage(t)},i.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error('An image named "'+e+'" does not exist.')));this.imageManager.removeImage(e),this._afterImageUpdated(e);},i.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}));},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(e,i,r){var o=this;if(void 0===r&&(r={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error('Source "'+e+'" already exists.');if(!i.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(i).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,i,null,r))){this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);var a=this.sourceCaches[e]=new N(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return {isSourceLoaded:o.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0;}},i.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+i+'" is using it.')));var r=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],r.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0;},i.prototype.setGeoJSONSourceData=function(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID="+t);var i=this.sourceCaches[t].getSource();if("geojson"!==i.type)throw new Error("geojsonSource.type is "+i.type+", which is !== 'geojson");i.setData(e),this._changed=!0;},i.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},i.prototype.addLayer=function(e,i,r){void 0===r&&(r={}),this._checkLoaded();var o=e.id;if(this.getLayer(o))this.fire(new t.ErrorEvent(new Error('Layer "'+o+'" already exists on this map.')));else {var a;if("custom"===e.type){if(Qt(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e);}else {if("object"==typeof e.source&&(this.addSource(o,e.source),e=t.clone$1(e),e=t.extend(e,{source:o})),this._validate(t.validateStyle.layer,"layers."+o,e,{arrayIndex:-1},r))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:o}}),this._serializedLayers[a.id]=a.serialize();}var n=i?this._order.indexOf(i):this._order.length;if(i&&-1===n)this.fire(new t.ErrorEvent(new Error('Cannot add layer "'+o+'" before non-existing layer "'+i+'".')));else {if(this._order.splice(n,0,o),this._layerOrderChanged=!0,this._layers[o]=a,this._removedLayers[o]&&a.source&&"custom"!==a.type){var s=this._removedLayers[o];delete this._removedLayers[o],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause());}this._updateLayer(a),a.onAdd&&a.onAdd(this.map);}}},i.prototype.moveLayer=function(e,i){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==i){var r=this._order.indexOf(e);this._order.splice(r,1);var o=i?this._order.indexOf(i):this._order.length;i&&-1===o?this.fire(new t.ErrorEvent(new Error('Cannot move layer "'+e+'" before non-existing layer "'+i+'".'))):(this._order.splice(o,0,e),this._layerOrderChanged=!0);}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")));},i.prototype.removeLayer=function(e){this._checkLoaded();var i=this._layers[e];if(i){i.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}else this.fire(new t.ErrorEvent(new Error('Cannot remove non-existing layer "'+e+'".')));},i.prototype.getLayer=function(t){return this._layers[t]},i.prototype.hasLayer=function(t){return t in this._layers},i.prototype.setLayerZoomRange=function(e,i,r){this._checkLoaded();var o=this.getLayer(e);o?o.minzoom===i&&o.maxzoom===r||(null!=i&&(o.minzoom=i),null!=r&&(o.maxzoom=r),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error('Cannot set the zoom range of non-existing layer "'+e+'".')));},i.prototype.setFilter=function(e,i,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!o(a.filter,i))return null==i?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",i,null,r)||(a.filter=t.clone$1(i),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error('Cannot filter non-existing layer "'+e+'".')));},i.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},i.prototype.setLayoutProperty=function(e,i,r,a){void 0===a&&(a={}),this._checkLoaded();var n=this.getLayer(e);n?o(n.getLayoutProperty(i),r)||(n.setLayoutProperty(i,r,a),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error('Cannot style non-existing layer "'+e+'".')));},i.prototype.getLayoutProperty=function(e,i){var r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error('Cannot get style of non-existing layer "'+e+'".')));},i.prototype.setPaintProperty=function(e,i,r,a){void 0===a&&(a={}),this._checkLoaded();var n=this.getLayer(e);n?o(n.getPaintProperty(i),r)||(n.setPaintProperty(i,r,a)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error('Cannot style non-existing layer "'+e+'".')));},i.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},i.prototype.setFeatureState=function(e,i){this._checkLoaded();var r=e.source,o=e.sourceLayer,a=this.sourceCaches[r];if(void 0!==a){var n=a.getSource().type;"geojson"===n&&o?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==n||o?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(o,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")));},i.prototype.removeFeatureState=function(e,i){this._checkLoaded();var r=e.source,o=this.sourceCaches[r];if(void 0!==o){var a=o.getSource().type,n="vector"===a?e.sourceLayer:void 0;"vector"!==a||n?i&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):o.removeFeatureState(n,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")));},i.prototype.getFeatureState=function(e){this._checkLoaded();var i=e.source,r=e.sourceLayer,o=this.sourceCaches[i];if(void 0!==o){if("vector"!==o.getSource().type||r)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),o.getFeatureState(r,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));}else this.fire(new t.ErrorEvent(new Error("The source '"+i+"' does not exist in the map's style.")));},i.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},i.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0;},i.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,i=function(t){return "fill-extrusion"===e._layers[t].type},r={},o=[],a=this._order.length-1;a>=0;a--){var n=this._order[a];if(i(n)){r[n]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][n];if(c)for(var h=0,u=c;h<u.length;h+=1)o.push(u[h]);}}}o.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var _=this._order[d];if(i(_))for(var f=o.length-1;f>=0;f--){var m=o[f].feature;if(r[m.layer.id]<d)break;p.push(m),o.pop();}else for(var g=0,v=t;g<v.length;g+=1){var y=v[g][_];if(y)for(var x=0,b=y;x<b.length;x+=1)p.push(b[x].feature);}}return p},i.prototype.queryRenderedFeatures=function(e,i,r){i&&i.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",i.filter,null,i);var o={};if(i&&i.layers){if(!Array.isArray(i.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var a=0,n=i.layers;a<n.length;a+=1){var s=n[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];o[l.source]=!0;}}var c=[];for(var h in i.availableImages=this._availableImages,this.sourceCaches)i.layers&&!o[h]||c.push(k(this.sourceCaches[h],this._layers,this._serializedLayers,e,i,r));return this.placement&&c.push(function(t,e,i,r,o,a,n){for(var s={},l=a.queryRenderedSymbols(r),c=[],h=0,u=Object.keys(l).map(Number);h<u.length;h+=1)c.push(n[u[h]]);c.sort(B);for(var p=function(){var i=_[d],r=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,o.filter,o.layers,o.availableImages,t);for(var a in r){var n=s[a]=s[a]||[],c=r[a];c.sort((function(t,e){var r=i.featureSortOrder;if(r){var o=r.indexOf(t.featureIndex);return r.indexOf(e.featureIndex)-o}return e.featureIndex-t.featureIndex}));for(var h=0,u=c;h<u.length;h+=1)n.push(u[h]);}},d=0,_=c;d<_.length;d+=1)p();var f=function(e){s[e].forEach((function(r){var o=r.feature,a=i[t[e].source].getFeatureState(o.layer["source-layer"],o.id);o.source=o.layer.source,o.layer["source-layer"]&&(o.sourceLayer=o.layer["source-layer"]),o.state=a;}));};for(var m in s)f(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},i.prototype.querySourceFeatures=function(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);var r=this.sourceCaches[e];return r?function(t,e){for(var i=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),r=[],o={},a=0;a<i.length;a++){var n=i[a],s=n.tileID.canonical.key;o[s]||(o[s]=!0,n.querySourceFeatures(r,e));}return r}(r,i):[]},i.prototype.addSourceType=function(t,e,r){return i.getSourceType(t)?r(new Error('A source type called "'+t+'" already exists.')):(i.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},r):r(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(e,i){void 0===i&&(i={}),this._checkLoaded();var r=this.light.getLight(),a=!1;for(var n in e)if(!o(e[n],r[n])){a=!0;break}if(a){var s={now:t.exported.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(s);}},i.prototype._validate=function(e,i,r,o,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Qt(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:r,styleSpec:t.spec},o)))},i.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var i in this.sourceCaches){var r=this.sourceCaches[i];r.setEventedParent(null),r.onRemove(this.map);}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();},i.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles();},i.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload();},i.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t,this.terrain);},i.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t);},i.prototype._updatePlacement=function(e,i,r,o,a){void 0===a&&(a=!1);for(var n=!1,s=!1,l={},c=0,h=this._order;c<h.length;c+=1){var u=this._layers[h[c]];if("symbol"===u.type){if(!l[u.source]){var p=this.sourceCaches[u.source];l[u.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}));}var d=this.crossTileSymbolIndex.addLayer(u,l[u.source],e.center.lng);n=n||d;}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Zt(e,this.terrain,this._order,a,i,r,o,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.exported.now()),s=!0),n&&this.pauseablePlacement.placement.setStale()),s||n)for(var _=0,f=this._order;_<f.length;_+=1){var m=this._layers[f[_]];"symbol"===m.type&&this.placement.updateLayerOpacities(m,l[m.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();},i.prototype.getImages=function(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();var r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons);},i.prototype.getGlyphs=function(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);},i.prototype.getResource=function(e,i,r){return t.makeRequest(i,r)},i}(t.Evented);ie.getSourceType=function(t){return R[t]},ie.setSourceType=function(t,e){R[t]=e;},ie.registerForPluginStateChange=t.registerForPluginStateChange;var re="attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}",oe={prelude:ae("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ae("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ae("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ae("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ae("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:ae("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ae("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ae("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ae("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:ae("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ae("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:ae("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:ae("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ae("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ae("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ae("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ae("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:ae("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:ae("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ae("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:ae("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ae("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ae("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ae("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ae("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ae("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ae("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",re),terrainDepth:ae("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",re),terrainCoords:ae("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",re)};function ae(t,e){var i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),o=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),n=a?a.concat(o):o,s={};return {fragmentSource:t=t.replace(i,(function(t,e,i,r,o){return s[o]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+o+"\nvarying "+i+" "+r+" "+o+";\n#else\nuniform "+i+" "+r+" u_"+o+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+o+"\n "+i+" "+r+" "+o+" = u_"+o+";\n#endif\n"})),vertexSource:e=e.replace(i,(function(t,e,i,r,o){var a="float"===r?"vec2":"vec4",n=o.match(/color/)?"color":a;return s[o]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+o+"\nuniform lowp float u_"+o+"_t;\nattribute "+i+" "+a+" a_"+o+";\nvarying "+i+" "+r+" "+o+";\n#else\nuniform "+i+" "+r+" u_"+o+";\n#endif\n":"vec4"===n?"\n#ifndef HAS_UNIFORM_u_"+o+"\n "+o+" = a_"+o+";\n#else\n "+i+" "+r+" "+o+" = u_"+o+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+o+"\n "+o+" = unpack_mix_"+n+"(a_"+o+", u_"+o+"_t);\n#else\n "+i+" "+r+" "+o+" = u_"+o+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+o+"\nuniform lowp float u_"+o+"_t;\nattribute "+i+" "+a+" a_"+o+";\n#else\nuniform "+i+" "+r+" u_"+o+";\n#endif\n":"vec4"===n?"\n#ifndef HAS_UNIFORM_u_"+o+"\n "+i+" "+r+" "+o+" = a_"+o+";\n#else\n "+i+" "+r+" "+o+" = u_"+o+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+o+"\n "+i+" "+r+" "+o+" = unpack_mix_"+n+"(a_"+o+", u_"+o+"_t);\n#else\n "+i+" "+r+" "+o+" = u_"+o+";\n#endif\n"})),staticAttributes:r,staticUniforms:n}}var ne=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;};function se(t){for(var e=[],i=0;i<t.length;i++)if(null!==t[i]){var r=t[i].split(" ");e.push(r.pop());}return e}ne.prototype.bind=function(t,e,i,r,o,a,n,s,l){this.context=t;for(var c=this.boundPaintVertexBuffers.length!==r.length,h=0;!c&&h<r.length;h++)this.boundPaintVertexBuffers[h]!==r[h]&&(c=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===i&&!c&&this.boundIndexBuffer===o&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===n&&this.boundDynamicVertexBuffer2===s&&this.boundDynamicVertexBuffer3===l?(t.bindVertexArrayOES.set(this.vao),n&&n.bind(),o&&o.dynamicDraw&&o.bind(),s&&s.bind(),l&&l.bind()):this.freshBind(e,i,r,o,a,n,s,l);},ne.prototype.freshBind=function(t,e,i,r,o,a,n,s){var l,c=t.numAttributes,h=this.context,u=h.gl;if(h.extVertexArrayObject)this.vao&&this.destroy(),this.vao=h.extVertexArrayObject.createVertexArrayOES(),h.bindVertexArrayOES.set(this.vao),l=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=r,this.boundVertexOffset=o,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=n,this.boundDynamicVertexBuffer3=s;else {l=h.currentNumAttributes||0;for(var p=c;p<l;p++)u.disableVertexAttribArray(p);}e.enableAttributes(u,t);for(var d=0,_=i;d<_.length;d+=1)_[d].enableAttributes(u,t);a&&a.enableAttributes(u,t),n&&n.enableAttributes(u,t),s&&s.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,o);for(var f=0,m=i;f<m.length;f+=1){var g=m[f];g.bind(),g.setVertexAttribPointers(u,t,o);}a&&(a.bind(),a.setVertexAttribPointers(u,t,o)),r&&r.bind(),n&&(n.bind(),n.setVertexAttribPointers(u,t,o)),s&&(s.bind(),s.setVertexAttribPointers(u,t,o)),h.currentNumAttributes=c;},ne.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null);};var le=function(e,i,r,o,a,n,s){var l=e.gl;this.program=l.createProgram();for(var c=se(r.staticAttributes),h=o?o.getBinderAttributes():[],u=c.concat(h),p=oe.prelude.staticUniforms?se(oe.prelude.staticUniforms):[],d=r.staticUniforms?se(r.staticUniforms):[],_=o?o.getBinderUniforms():[],f=[],m=0,g=p.concat(d).concat(_);m<g.length;m+=1){var v=g[m];f.indexOf(v)<0&&f.push(v);}var y=o?o.defines():[];n&&y.push("#define OVERDRAW_INSPECTOR;"),s&&y.push("#define TERRAIN3D;");var x=y.concat(oe.prelude.fragmentSource,r.fragmentSource).join("\n"),b=y.concat(oe.prelude.vertexSource,r.vertexSource).join("\n"),w=l.createShader(l.FRAGMENT_SHADER);if(l.isContextLost())this.failedToCreate=!0;else {l.shaderSource(w,x),l.compileShader(w),l.attachShader(this.program,w);var T=l.createShader(l.VERTEX_SHADER);if(l.isContextLost())this.failedToCreate=!0;else {l.shaderSource(T,b),l.compileShader(T),l.attachShader(this.program,T),this.attributes={};var E={};this.numAttributes=u.length;for(var I=0;I<this.numAttributes;I++)u[I]&&(l.bindAttribLocation(this.program,I,u[I]),this.attributes[u[I]]=I);l.linkProgram(this.program),l.deleteShader(T),l.deleteShader(w);for(var C=0;C<f.length;C++){var S=f[C];if(S&&!E[S]){var D=l.getUniformLocation(this.program,S);D&&(E[S]=D);}}this.fixedUniforms=a(e,E),this.terrainUniforms=function(e,i){return {u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}}(e,E),this.binderUniforms=o?o.getUniforms(e,E):[];}}};function ce(t,e,i){var r=1/wt(i,1,e.transform.tileZoom),o=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/o,n=a*(i.tileID.canonical.x+i.tileID.wrap*o),s=a*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[n>>16,s>>16],u_pixel_coord_lower:[65535&n,65535&s]}}le.prototype.draw=function(t,e,i,r,o,a,n,s,l,c,h,u,p,d,_,f,m,g){var v=t.gl;if(!this.failedToCreate){if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(o),t.setCullFace(a),s)for(var y in t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,s.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,s.texture),this.terrainUniforms)this.terrainUniforms[y].set(s[y]);for(var x in this.fixedUniforms)this.fixedUniforms[x].set(n[x]);_&&_.setUniforms(t,this.binderUniforms,p,{zoom:d});var b=0;switch(e){case v.LINES:b=2;break;case v.TRIANGLES:b=3;break;case v.LINE_STRIP:b=1;}for(var w=0,T=u.get();w<T.length;w+=1){var E=T[w],I=E.vaos||(E.vaos={});(I[l]||(I[l]=new ne)).bind(t,this,c,_?_.getPaintVertexBuffers():[],h,E.vertexOffset,f,m,g),v.drawElements(e,E.primitiveLength*b,v.UNSIGNED_SHORT,E.primitiveOffset*b*2);}}};var he=function(e,i,r,o){var a=i.style.light,n=a.properties.get("position"),s=[n.x,n.y,n.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get("color");return {u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:o}},ue=function(e,i,r,o,a,n,s){return t.extend(he(e,i,r,o),ce(n,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},pe=function(t){return {u_matrix:t}},de=function(e,i,r,o){return t.extend(pe(e),ce(r,i,o))},_e=function(t,e){return {u_matrix:t,u_world:e}},fe=function(e,i,r,o,a){return t.extend(de(e,i,r,o),{u_world:a})},me=function(t,e,i,r){var o,a,n=t.transform;if("map"===r.paint.get("circle-pitch-alignment")){var s=wt(i,1,n.zoom);o=!0,a=[s,s];}else o=!1,a=n.pixelsToGLUnits;return {u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:a}},ge=function(t,e,i){var r=wt(i,1,e.zoom),o=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*o),e.pixelsToGLUnits[1]/(r*o)],u_overscale_factor:a}},ve=function(t,e,i){return {u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}},ye=function(t,e,i){return void 0===i&&(i=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}},xe=function(t){return {u_matrix:t}},be=function(t,e,i,r){return {u_matrix:t,u_extrude_scale:wt(e,1,i),u_intensity:r}},we=function(t,e,i,r){var o=t.transform;return {u_matrix:Se(t,e,i,r),u_ratio:1/wt(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Te=function(e,i,r,o,a){return t.extend(we(e,i,r,a),{u_image:0,u_image_height:o})},Ee=function(t,e,i,r,o){var a=t.transform,n=Ce(e,a);return {u_matrix:Se(t,e,i,o),u_texsize:e.imageAtlasTexture.size,u_ratio:1/wt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[n,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ie=function(e,i,r,o,a,n){var s=e.lineAtlas,l=Ce(i,e.transform),c="round"===r.layout.get("line-cap"),h=s.getDash(o.from,c),u=s.getDash(o.to,c),p=h.width*a.fromScale,d=u.width*a.toScale;return t.extend(we(e,i,r,n),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:s.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:a.t})};function Ce(t,e){return 1/wt(t,1,e.tileZoom)}function Se(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}var De=function(t,e,i,r,o){return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*o.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:o.paint.get("raster-brightness-min"),u_brightness_high:o.paint.get("raster-brightness-max"),u_saturation_factor:(n=o.paint.get("raster-saturation"),n>0?1-1/(1.001-n):-n),u_contrast_factor:(a=o.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:ze(o.paint.get("raster-hue-rotate"))};var a,n;};function ze(t){t*=Math.PI/180;var e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}var Pe=function(t,e,i,r,o,a,n,s,l,c){var h=o.transform;return {u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:n,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},Me=function(e,i,r,o,a,n,s,l,c,h,u){var p=a.transform;return t.extend(Pe(e,i,r,o,a,n,s,l,c,h),{u_gamma_scale:o?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:a.pixelRatio,u_is_halo:+u})},Ae=function(t,e,i){return {u_matrix:t,u_opacity:e,u_color:i}},Re=function(e,i,r,o,a,n){return t.extend(function(t,e,i,r){var o=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),n=i.imageManager.getPixelSize(),s=n.width,l=n.height,c=Math.pow(2,r.tileID.overscaledZ),h=r.tileSize*Math.pow(2,i.transform.tileZoom)/c,u=h*(r.tileID.canonical.x+r.tileID.wrap*c),p=h*r.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:o.tl,u_pattern_br_a:o.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:o.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/wt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[u>>16,p>>16],u_pixel_coord_lower:[65535&u,65535&p]}}(o,n,r,a),{u_matrix:e,u_opacity:i})},Le={fillExtrusion:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fillExtrusionPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fill:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},fillPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},fillOutline:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}},fillOutlinePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},circle:function(e,i){return {u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},collisionBox:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}},collisionCircle:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}},debug:function(e,i){return {u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}},clippingMask:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmap:function(e,i){return {u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmapTexture:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}},hillshade:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}},hillshadePrepare:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}},line:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}},lineGradient:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}},linePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},lineSDF:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}},raster:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}},symbolIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}},symbolSDF:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},symbolTextAndIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},background:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}},backgroundPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}},terrain:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}},terrainDepth:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},terrainCoords:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)}}},ke=function(t,e,i){this.context=t;var r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};ke.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer);},ke.prototype.updateData=function(t){var e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);},ke.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var Be={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},Oe=function(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;var o=t.gl;this.buffer=o.createBuffer(),t.bindVertexBuffer.set(this.buffer),o.bufferData(o.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};Oe.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer);},Oe.prototype.updateData=function(t){if(t.length!==this.length)throw new Error("Length of new data is "+t.length+", which doesn't match current length of "+this.length);var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);},Oe.prototype.enableAttributes=function(t,e){for(var i=0;i<this.attributes.length;i++){var r=e.attributes[this.attributes[i].name];void 0!==r&&t.enableVertexAttribArray(r);}},Oe.prototype.setVertexAttribPointers=function(t,e,i){for(var r=0;r<this.attributes.length;r++){var o=this.attributes[r],a=e.attributes[o.name];void 0!==a&&t.vertexAttribPointer(a,o.components,t[Be[o.type]],!1,this.itemSize,o.offset+this.itemSize*(i||0));}},Oe.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var Fe=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1;};Fe.prototype.get=function(){return this.current},Fe.prototype.set=function(t){},Fe.prototype.getDefault=function(){return this.default},Fe.prototype.setDefault=function(){this.set(this.default);};var Ue=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(Fe),Ne=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1);},e}(Fe),Ge=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1);},e}(Fe),je=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(Fe),Ze=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1);},e}(Fe),Ve=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1);},e}(Fe),qe=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return {func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1);},e}(Fe),Xe=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1);},e}(Fe),We=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1;}},e}(Fe),He=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1);},e}(Fe),Ke=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1;}},e}(Fe),Ye=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1);},e}(Fe),Je=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1;}},e}(Fe),Qe=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1);},e}(Fe),$e=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(Fe),ti=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1);},e}(Fe),ei=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1;}},e}(Fe),ii=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1);},e}(Fe),ri=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1);},e}(Fe),oi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1);},e}(Fe),ai=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1);},e}(Fe),ni=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(Fe),si=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1;}},e}(Fe),li=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(Fe),ci=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1;}},e}(Fe),hi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1;}},e}(Fe),ui=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1;},e}(Fe),pi=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1);},e}(Fe),di=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1;}},e}(Fe),_i=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1;}},e}(Fe),fi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1;}},e}(Fe),mi=function(t){function e(e,i){t.call(this,e),this.context=e,this.parent=i;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(Fe),gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0;},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1;}},e}(mi),vi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(mi),yi=function(t,e,i,r){this.context=t,this.width=e,this.height=i;var o=t.gl,a=this.framebuffer=o.createFramebuffer();if(this.colorAttachment=new gi(t,a),r&&(this.depthAttachment=new vi(t,a)),o.checkFramebufferStatus(o.FRAMEBUFFER)!==o.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer is not complete")};yi.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var i=this.depthAttachment.get();i&&t.deleteRenderbuffer(i);}t.deleteFramebuffer(this.framebuffer);};var xi=function(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i;};xi.disabled=new xi(xi.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),xi.unblended=new xi(xi.Replace,t.Color.transparent,[!0,!0,!0,!0]),xi.alphaBlended=new xi([1,771],t.Color.transparent,[!0,!0,!0,!0]);var bi=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new Ue(this),this.clearDepth=new Ne(this),this.clearStencil=new Ge(this),this.colorMask=new je(this),this.depthMask=new Ze(this),this.stencilMask=new Ve(this),this.stencilFunc=new qe(this),this.stencilOp=new Xe(this),this.stencilTest=new We(this),this.depthRange=new He(this),this.depthTest=new Ke(this),this.depthFunc=new Ye(this),this.blend=new Je(this),this.blendFunc=new Qe(this),this.blendColor=new $e(this),this.blendEquation=new ti(this),this.cullFace=new ei(this),this.cullFaceSide=new ii(this),this.frontFace=new ri(this),this.program=new oi(this),this.activeTexture=new ai(this),this.viewport=new ni(this),this.bindFramebuffer=new si(this),this.bindRenderbuffer=new li(this),this.bindTexture=new ci(this),this.bindVertexBuffer=new hi(this),this.bindElementBuffer=new ui(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new pi(this),this.pixelStoreUnpack=new di(this),this.pixelStoreUnpackPremultiplyAlpha=new _i(this),this.pixelStoreUnpackFlipY=new fi(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&(t.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=t.getExtension("EXT_color_buffer_half_float")),this.extTimerQuery=t.getExtension("EXT_disjoint_timer_query"),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE);};bi.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault();},bi.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0;},bi.prototype.createIndexBuffer=function(t,e){return new ke(this,t,e)},bi.prototype.createVertexBuffer=function(t,e,i){return new Oe(this,t,e,i)},bi.prototype.createRenderbuffer=function(t,e,i){var r=this.gl,o=r.createRenderbuffer();return this.bindRenderbuffer.set(o),r.renderbufferStorage(r.RENDERBUFFER,t,e,i),this.bindRenderbuffer.set(null),o},bi.prototype.createFramebuffer=function(t,e,i){return new yi(this,t,e,i)},bi.prototype.clear=function(t){var e=t.color,i=t.depth,r=this.gl,o=0;e&&(o|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==i&&(o|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),r.clear(o);},bi.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace));},bi.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1);},bi.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1);},bi.prototype.setColorMode=function(t){o(t.blendFunction,xi.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask);},bi.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null);};var wi=function(t,e,i){this.func=t,this.mask=e,this.range=i;};wi.ReadOnly=!1,wi.ReadWrite=!0,wi.disabled=new wi(519,wi.ReadOnly,[0,1]);var Ti=7680,Ei=function(t,e,i,r,o,a){this.test=t,this.ref=e,this.mask=i,this.fail=r,this.depthFail=o,this.pass=a;};Ei.disabled=new Ei({func:519,mask:0},0,0,Ti,Ti,Ti);var Ii,Ci=function(t,e,i){this.enable=t,this.mode=e,this.frontFace=i;};function Si(e,i,r,o,a,n,s){for(var l=e.context,c=l.gl,h=e.useProgram("collisionBox"),u=[],p=0,d=0,_=0;_<o.length;_++){var f=o[_],m=i.getTile(f),g=m.getBucket(r);if(g){var v=f.posMatrix;0===a[0]&&0===a[1]||(v=e.translatePosMatrix(f.posMatrix,m,a,n));var y=s?g.textCollisionBox:g.iconCollisionBox,x=g.collisionCircleArray;if(x.length>0){var b=t.create(),w=v;t.mul(b,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,g.placementViewportMatrix),u.push({circleArray:x,circleOffset:d,transform:w,invTransform:b,coord:f}),d=p+=x.length/4;}y&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Ci.disabled,ge(v,e.transform,m),e.style.terrain&&e.style.terrain.getTerrainData(f),r.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer);}}if(s&&u.length){var T=e.useProgram("collisionCircle"),E=new t.CollisionCircleLayoutArray;E.resize(4*p),E._trim();for(var I=0,C=0,S=u;C<S.length;C+=1)for(var D=S[C],z=0;z<D.circleArray.length/4;z++){var P=4*z,M=D.circleArray[P+0],A=D.circleArray[P+1],R=D.circleArray[P+2],L=D.circleArray[P+3];E.emplace(I++,M,A,R,L,0),E.emplace(I++,M,A,R,L,1),E.emplace(I++,M,A,R,L,2),E.emplace(I++,M,A,R,L,3);}(!Ii||Ii.length<2*p)&&(Ii=function(e){var i=2*e,r=new t.QuadTriangleArray;r.resize(i),r._trim();for(var o=0;o<i;o++){var a=6*o;r.uint16[a+0]=4*o+0,r.uint16[a+1]=4*o+1,r.uint16[a+2]=4*o+2,r.uint16[a+3]=4*o+2,r.uint16[a+4]=4*o+3,r.uint16[a+5]=4*o+0;}return r}(p));for(var k=l.createIndexBuffer(Ii,!0),B=l.createVertexBuffer(E,t.collisionCircleLayout.members,!0),O=0,F=u;O<F.length;O+=1){var U=F[O],N=ve(U.transform,U.invTransform,e.transform);T.draw(l,c.TRIANGLES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Ci.disabled,N,e.style.terrain&&e.style.terrain.getTerrainData(U.coord),r.id,B,k,t.SegmentVector.simpleSegment(0,2*U.circleOffset,U.circleArray.length,U.circleArray.length/2),null,e.transform.zoom,null,null,null);}B.destroy(),k.destroy();}}Ci.disabled=new Ci(!1,1029,2305),Ci.backCCW=new Ci(!0,1029,2305);var Di=t.identity(new Float32Array(16));function zi(e,i,r,o,a,n){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*i,c=-(s.verticalAlign-.5)*r,h=t.evaluateVariableOffset(e,o);return new t.pointGeometry((l/a+h[0])*n,(c/a+h[1])*n)}function Pi(e,i,r,o,a,n,s,l,c,h,u,p){for(var d=e.context,_=d.gl,f=e.transform,m="map"===l,g="map"===c,v="viewport"!==l&&"point"!==r.layout.get("symbol-placement"),y=m&&!g&&!v,x=!r.layout.get("symbol-sort-key").isConstant(),b=!1,w=e.depthModeForSublayer(0,wi.ReadOnly),T=r.layout.get("text-variable-anchor"),E=[],I=function(){var o=S[C],l=i.getTile(o),c=l.getBucket(r);if(c){var u=a?c.text:c.icon;if(u&&u.segments.get().length){var p=u.programConfigurations.get(r.id),d=a||c.sdfIcons,w=a?c.textSizeData:c.iconSizeData,I=g||0!==f.pitch,D=e.useProgram(function(t,e,i){return i.iconsInText&&e?"symbolTextAndIcon":t?"symbolSDF":"symbolIcon"}(d,a,c),p),z=t.evaluateSizeForZoom(w,f.zoom),P=e.style.terrain&&e.style.terrain.getTerrainData(o),M=void 0,A=[0,0],R=void 0,L=void 0,k=null,B=void 0;if(a)R=l.glyphAtlasTexture,L=_.LINEAR,M=l.glyphAtlasTexture.size,c.iconsInText&&(A=l.imageAtlasTexture.size,k=l.imageAtlasTexture,B=I||e.options.rotating||e.options.zooming||"composite"===w.kind||"camera"===w.kind?_.LINEAR:_.NEAREST);else {var O=1!==r.layout.get("icon-size").constantOr(0)||c.iconsNeedLinear;R=l.imageAtlasTexture,L=d||e.options.rotating||e.options.zooming||O||I?_.LINEAR:_.NEAREST,M=l.imageAtlasTexture.size;}var F=wt(l,1,e.transform.zoom),U=st(o.posMatrix,g,m,e.transform,F),N=lt(o.posMatrix,g,m,e.transform,F),G=T&&c.hasTextData(),j="none"!==r.layout.get("icon-text-fit")&&G&&c.hasIconData();if(v){var Z=e.style.terrain?function(t,i){return e.style.terrain.getElevation(o,t,i)}:null,V="map"===r.layout.get("text-rotation-alignment");!function(e,i,r,o,a,n,s,l,c,h){var u=o?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],_=o?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;_.clear();for(var f=e.lineVertexArray,m=o?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=r.transform.width/r.transform.height,v=!1,y=0;y<m.length;y++){var x=m.get(y);if(x.hidden||x.writingMode===t.WritingMode.vertical&&!v)vt(x.numGlyphs,_);else {v=!1;var b=void 0;if(h?(b=[x.anchorX,x.anchorY,h(x.anchorX,x.anchorY),1],t.transformMat4(b,b,i)):yt(b=[x.anchorX,x.anchorY,0,1],b,i),ut(b,d)){var w=ht(r.transform.cameraToCenterDistance,b[3]),T=t.evaluateSizeForFeature(u,p,x),E=s?T/w:T*w,I=new t.pointGeometry(x.anchorX,x.anchorY),C=ct(I,a,h).point,S={},D=_t(x,E,!1,l,i,a,n,e.glyphOffsetArray,f,_,C,I,S,g,c,h);v=D.useVertical,(D.notEnoughRoom||v||D.needsFlipping&&_t(x,E,!0,l,i,a,n,e.glyphOffsetArray,f,_,C,I,S,g,c,h).notEnoughRoom)&&vt(x.numGlyphs,_);}else vt(x.numGlyphs,_);}}o?e.text.dynamicLayoutVertexBuffer.updateData(_):e.icon.dynamicLayoutVertexBuffer.updateData(_);}(c,o.posMatrix,e,a,U,N,g,h,V,Z);}var q,X=e.translatePosMatrix(o.posMatrix,l,n,s),W=v||a&&T||j?Di:U,H=e.translatePosMatrix(N,l,n,s,!0),K=d&&0!==r.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);q=d?c.iconsInText?function(e,i,r,o,a,n,s,l,c,h){return t.extend(Me(e,i,r,o,a,n,s,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1})}(w.kind,z,y,g,e,X,W,H,M,A):Me(w.kind,z,y,g,e,X,W,H,a,M,!0):Pe(w.kind,z,y,g,e,X,W,H,a,M);var Y={program:D,buffers:u,uniformValues:q,atlasTexture:R,atlasTextureIcon:k,atlasInterpolation:L,atlasInterpolationIcon:B,isSDF:d,hasHalo:K};if(x&&c.canOverlap){b=!0;for(var J=0,Q=u.segments.get();J<Q.length;J+=1){var $=Q[J];E.push({segments:new t.SegmentVector([$]),sortKey:$.sortKey,state:Y,terrainData:P});}}else E.push({segments:u.segments,sortKey:0,state:Y,terrainData:P});}}},C=0,S=o;C<S.length;C+=1)I();b&&E.sort((function(t,e){return t.sortKey-e.sortKey}));for(var D=0,z=E;D<z.length;D+=1){var P=z[D],M=P.state;if(d.activeTexture.set(_.TEXTURE0),M.atlasTexture.bind(M.atlasInterpolation,_.CLAMP_TO_EDGE),M.atlasTextureIcon&&(d.activeTexture.set(_.TEXTURE1),M.atlasTextureIcon&&M.atlasTextureIcon.bind(M.atlasInterpolationIcon,_.CLAMP_TO_EDGE)),M.isSDF){var A=M.uniformValues;M.hasHalo&&(A.u_is_halo=1,Mi(M.buffers,P.segments,r,e,M.program,w,u,p,A,P.terrainData)),A.u_is_halo=0;}Mi(M.buffers,P.segments,r,e,M.program,w,u,p,M.uniformValues,P.terrainData);}}function Mi(t,e,i,r,o,a,n,s,l,c){var h=r.context;o.draw(h,h.gl.TRIANGLES,a,n,s,Ci.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Ai(t,e,i,r,o,a,n){var s,l,c,h,u,p=t.context.gl,d=i.paint.get("fill-pattern"),_=d&&d.constantOr(1),f=i.getCrossfadeParameters();n?(l=_&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=p.LINES):(l=_?"fillPattern":"fill",s=p.TRIANGLES);for(var m=0,g=r;m<g.length;m+=1){var v=g[m],y=e.getTile(v);if(!_||y.patternsLoaded()){var x=y.getBucket(i);if(x){var b=x.programConfigurations.get(i.id),w=t.useProgram(l,b),T=t.style.terrain&&t.style.terrain.getTerrainData(v);_&&(t.context.activeTexture.set(p.TEXTURE0),y.imageAtlasTexture.bind(p.LINEAR,p.CLAMP_TO_EDGE),b.updatePaintBuffers(f));var E=d.constantOr(null);if(E&&y.imageAtlas){var I=y.imageAtlas,C=I.patternPositions[E.to.toString()],S=I.patternPositions[E.from.toString()];C&&S&&b.setConstantPatternPositions(C,S);}var D=T?v:null,z=t.translatePosMatrix(D?D.posMatrix:v.posMatrix,y,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(n){h=x.indexBuffer2,u=x.segments2;var P=[p.drawingBufferWidth,p.drawingBufferHeight];c="fillOutlinePattern"===l&&_?fe(z,t,f,y,P):_e(z,P);}else h=x.indexBuffer,u=x.segments,c=_?de(z,t,f,y):pe(z);w.draw(t.context,s,o,t.stencilModeForClipping(v),a,Ci.disabled,c,T,i.id,x.layoutVertexBuffer,h,u,i.paint,t.transform.zoom,b);}}}}function Ri(t,e,i,r,o,a,n){for(var s=t.context,l=s.gl,c=i.paint.get("fill-extrusion-pattern"),h=c.constantOr(1),u=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity"),d=0,_=r;d<_.length;d+=1){var f=_[d],m=e.getTile(f),g=m.getBucket(i);if(g){var v=t.style.terrain&&t.style.terrain.getTerrainData(f),y=g.programConfigurations.get(i.id),x=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",y);h&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(u));var b=c.constantOr(null);if(b&&m.imageAtlas){var w=m.imageAtlas,T=w.patternPositions[b.to.toString()],E=w.patternPositions[b.from.toString()];T&&E&&y.setConstantPatternPositions(T,E);}var I=t.translatePosMatrix(f.posMatrix,m,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),C=i.paint.get("fill-extrusion-vertical-gradient"),S=h?ue(I,t,C,p,f,u,m):he(I,t,C,p);x.draw(s,s.gl.TRIANGLES,o,a,n,Ci.backCCW,S,v,i.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,i.paint,t.transform.zoom,y,t.style.terrain&&g.centroidVertexBuffer);}}}function Li(e,i,r,o,a,n,s){var l=e.context,c=l.gl,h=r.fbo;if(h){var u=e.useProgram("hillshade"),p=e.style.terrain&&e.style.terrain.getTerrainData(i);l.activeTexture.set(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,h.colorAttachment.get()),u.draw(l,c.TRIANGLES,a,n,s,Ci.disabled,function(e,i,r,o){var a=r.paint.get("hillshade-shadow-color"),n=r.paint.get("hillshade-highlight-color"),s=r.paint.get("hillshade-accent-color"),l=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(l-=e.transform.angle);var c,h,u,p=!e.options.moving;return {u_matrix:o?o.posMatrix:e.transform.calculatePosMatrix(i.tileID.toUnwrapped(),p),u_image:0,u_latrange:(c=i.tileID,h=Math.pow(2,c.canonical.z),u=c.canonical.y,[new t.MercatorCoordinate(0,u/h).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/h).toLngLat().lat]),u_light:[r.paint.get("hillshade-exaggeration"),l],u_shadow:a,u_highlight:n,u_accent:s}}(e,r,o,p?i:null),p,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments);}}function ki(e,i,r,o,a,n){var s=e.context,c=s.gl,h=i.dem;if(h&&h.data){var u=h.dim,p=h.stride,d=h.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(p),i.demTexture){var _=i.demTexture;_.update(d,{premultiply:!1}),_.bind(c.NEAREST,c.CLAMP_TO_EDGE);}else i.demTexture=new l(s,d,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);var f=i.fbo;if(!f){var m=new l(s,{width:u,height:u,data:null},c.RGBA);m.bind(c.LINEAR,c.CLAMP_TO_EDGE),(f=i.fbo=s.createFramebuffer(u,u,!0)).colorAttachment.set(m.texture);}s.bindFramebuffer.set(f.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,c.TRIANGLES,o,a,n,Ci.disabled,function(e,i){var r=i.stride,o=t.create();return t.ortho(o,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(o,o,[0,-t.EXTENT,0]),{u_matrix:o,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}}(i.tileID,h),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function Bi(e,i,r,o,a,n){var s=o.paint.get("raster-fade-duration");if(!n&&s>0){var l=t.exported.now(),c=(l-e.timeAdded)/s,h=i?(l-i.timeAdded)/s:-1,u=r.getSource(),p=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-p)>Math.abs(e.tileID.overscaledZ-p),_=d&&e.refreshedUponExpiration?1:t.clamp(d?c:1-h,0,1);return e.refreshedUponExpiration&&c>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}var Oi=new t.Color(1,0,0,1),Fi=new t.Color(0,1,0,1),Ui=new t.Color(0,0,1,1),Ni=new t.Color(1,0,1,1),Gi=new t.Color(0,1,1,1);function ji(t,e,i,r){Vi(t,0,e+i/2,t.transform.width,i,r);}function Zi(t,e,i,r){Vi(t,e-i/2,0,i,t.transform.height,r);}function Vi(t,e,i,r,o,a){var n=t.context,s=n.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,o*t.pixelRatio),n.clear({color:a}),s.disable(s.SCISSOR_TEST);}function qi(e,i,r){var o=e.context,a=o.gl,n=r.posMatrix,s=e.useProgram("debug"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.terrain&&e.style.terrain.getTerrainData(r);o.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);var d=i.getTileByID(r.key).latestRawTileData,_=Math.floor((d&&d.byteLength||0)/1024),f=i.getTile(r).tileSize,m=512/Math.min(f,512)*(r.overscaledZ/e.transform.zoom)*.5,g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=" => "+r.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var i=t.debugOverlayCanvas,r=t.context.gl,o=t.debugOverlayCanvas.getContext("2d");o.clearRect(0,0,i.width,i.height),o.shadowColor="white",o.shadowBlur=2,o.lineWidth=1.5,o.strokeStyle="white",o.textBaseline="top",o.font="bold 36px Open Sans, sans-serif",o.fillText(e,5,5),o.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE);}(e,g+" "+_+"kB"),s.draw(o,a.TRIANGLES,l,c,xi.alphaBlended,Ci.disabled,ye(n,t.Color.transparent,m),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(o,a.LINE_STRIP,l,c,h,Ci.disabled,ye(n,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);}function Xi(t,e,i){var r=t.context,o=r.gl,a=t.colorModeForRenderPass(),n=new wi(o.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),s=t.useProgram("terrain"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]),r.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());var h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());s.draw(r,o.TRIANGLES,n,Ei.disabled,a,Ci.backCCW,{u_matrix:h,u_texture:0},c,"terrain",l.vertexBuffer,l.indexBuffer,l.segments);}function Wi(t,e,i,r){var o=t.context,a=i.tileSize*e.qualityFactor;i.textures[r]||(i.textures[r]=t.getTileTexture(a)||new l(o,{width:a,height:a,data:null},o.gl.RGBA),i.textures[r].bind(o.gl.LINEAR,o.gl.CLAMP_TO_EDGE),0===r&&e.sourceCache.renderHistory.unshift(i.tileID.key));var n=e.getRTTFramebuffer();n.colorAttachment.set(i.textures[r].texture),o.bindFramebuffer.set(n.framebuffer),o.viewport.set([0,0,a,a]);}var Hi=function(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init();};Hi.prototype._init=function(){var t=this,e=this.painter.style,i=e.terrain;for(var r in e.sourceCaches){this._coordsDescendingInv[r]={};for(var o=0,a=e.sourceCaches[r].getVisibleCoordinates();o<a.length;o+=1){var n=i.sourceCache.getTerrainCoords(a[o]);for(var s in n)this._coordsDescendingInv[r][s]||(this._coordsDescendingInv[r][s]=[]),this._coordsDescendingInv[r][s].push(n[s]);}}for(var l=0,c=e._order;l<c.length;l+=1){var h=e._layers[c[l]],u=h.source;if(this._renderToTexture[h.type]&&!this._coordsDescendingInvStr[u])for(var p in this._coordsDescendingInvStr[u]={},this._coordsDescendingInv[u])this._coordsDescendingInvStr[u][p]=this._coordsDescendingInv[u][p].map((function(t){return t.key})).sort().join();}return this._renderableTiles.forEach((function(e){for(var r in t._coordsDescendingInvStr){var o=t._coordsDescendingInvStr[r][e.tileID.key];o&&o!==e.textureCoords[r]&&e.clearTextures(t.painter),i.needsRerender(r,e.tileID)&&e.clearTextures(t.painter);}t._rerender[e.tileID.key]=!e.textures.length;})),i.clearRerenderCache(),i.sourceCache.removeOutdated(this.painter),this},Hi.prototype.renderLayer=function(e){var i=e.type,r=this.painter,o=r.style._order,a=r.currentLayer,n=a+1===o.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(o[a]),!n))return !0;if(this._renderToTexture[this._prevType]||"hillshade"===i||this._renderToTexture[i]&&n){this._prevType=i;for(var s=this._stacks.length-1,l=this._stacks[s]||[],c=0,h=this._renderableTiles;c<h.length;c+=1){var u=h[c];if(Wi(r,r.style.terrain,u,s),this._rerender[u.tileID.key]){r.context.clear({color:t.Color.transparent});for(var p=0;p<l.length;p++){var d=r.style._layers[l[p]],_=d.source?this._coordsDescendingInv[d.source][u.tileID.key]:[u.tileID];r._renderTileClippingMasks(d,_),r.renderLayer(r,r.style.sourceCaches[d.source],d,_),d.source&&(u.textureCoords[d.source]=this._coordsDescendingInvStr[d.source][u.tileID.key]);}}Xi(r,r.style.terrain,u);}if("hillshade"===i){this._stacks.push([o[a]]);for(var f=0,m=this._renderableTiles;f<m.length;f+=1){var g=m[f],v=this._coordsDescendingInv[e.source][g.tileID.key];Wi(r,r.style.terrain,g,this._stacks.length-1),r.context.clear({color:t.Color.transparent}),r._renderTileClippingMasks(e,v),r.renderLayer(r,r.style.sourceCaches[e.source],e,v),Xi(r,r.style.terrain,g);}return !0}return this._renderToTexture[i]}return !1};var Ki={symbol:function(e,i,r,o,a){if("translucent"===e.renderPass){var n=Ei.disabled,s=e.colorModeForRenderPass();r.layout.get("text-variable-anchor")&&function(e,i,r,o,a,n,s){for(var l=i.transform,c="map"===a,h="map"===n,u=function(){var e=d[p],a=o.getTile(e),n=a.getBucket(r);if(n&&n.text&&n.text.segments.get().length){var u=t.evaluateSizeForZoom(n.textSizeData,l.zoom),_=wt(a,1,i.transform.zoom),f=st(e.posMatrix,h,c,i.transform,_),m="none"!==r.layout.get("icon-text-fit")&&n.hasIconData();if(u){var g=Math.pow(2,l.zoom-a.tileID.overscaledZ);!function(e,i,r,o,a,n,s,l,c,h,u){var p=e.text.placedSymbolArray,d=e.text.dynamicLayoutVertexArray,_=e.icon.dynamicLayoutVertexArray,f={};d.clear();for(var m=0;m<p.length;m++){var g=p.get(m),v=g.hidden||!g.crossTileID||e.allowVerticalPlacement&&!g.placedOrientation?null:o[g.crossTileID];if(v){var y=new t.pointGeometry(g.anchorX,g.anchorY),x=ct(y,r?s:n,u),b=ht(a.cameraToCenterDistance,x.signedDistanceFromCamera),w=t.evaluateSizeForFeature(e.textSizeData,c,g)*b/t.ONE_EM;r&&(w*=e.tilePixelRatio/l);for(var T=zi(v.anchor,v.width,v.height,v.textOffset,v.textBoxScale,w),E=r?ct(y.add(T),n,u).point:x.point.add(i?T.rotate(-a.angle):T),I=e.allowVerticalPlacement&&g.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,C=0;C<g.numGlyphs;C++)t.addDynamicAttributes(d,E,I);h&&g.associatedIconIndex>=0&&(f[g.associatedIconIndex]={shiftedAnchor:E,angle:I});}else vt(g.numGlyphs,d);}if(h){_.clear();for(var S=e.icon.placedSymbolArray,D=0;D<S.length;D++){var z=S.get(D);if(z.hidden)vt(z.numGlyphs,_);else {var P=f[D];if(P)for(var M=0;M<z.numGlyphs;M++)t.addDynamicAttributes(_,P.shiftedAnchor,P.angle);else vt(z.numGlyphs,_);}}e.icon.dynamicLayoutVertexBuffer.updateData(_);}e.text.dynamicLayoutVertexBuffer.updateData(d);}(n,c,h,s,l,f,e.posMatrix,g,u,m,i.style.terrain?function(t,r){return i.style.terrain.getElevation(e,t,r)}:null);}}},p=0,d=e;p<d.length;p+=1)u();}(o,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),a),0!==r.paint.get("icon-opacity").constantOr(1)&&Pi(e,i,r,o,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),n,s),0!==r.paint.get("text-opacity").constantOr(1)&&Pi(e,i,r,o,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),n,s),i.map.showCollisionBoxes&&(Si(e,i,r,o,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Si(e,i,r,o,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1));}},circle:function(e,i,r,o){if("translucent"===e.renderPass){var a=r.paint.get("circle-opacity"),n=r.paint.get("circle-stroke-width"),s=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0!==a.constantOr(1)||0!==n.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),p=Ei.disabled,d=e.colorModeForRenderPass(),_=[],f=0;f<o.length;f++){var m=o[f],g=i.getTile(m),v=g.getBucket(r);if(v){var y=v.programConfigurations.get(r.id),x=e.useProgram("circle",y),b=v.layoutVertexBuffer,w=v.indexBuffer,T=e.style.terrain&&e.style.terrain.getTerrainData(m),E={programConfiguration:y,program:x,layoutVertexBuffer:b,indexBuffer:w,uniformValues:me(e,m,g,r),terrainData:T};if(l)for(var I=0,C=v.segments.get();I<C.length;I+=1){var S=C[I];_.push({segments:new t.SegmentVector([S]),sortKey:S.sortKey,state:E});}else _.push({segments:v.segments,sortKey:0,state:E});}}l&&_.sort((function(t,e){return t.sortKey-e.sortKey}));for(var D=0,z=_;D<z.length;D+=1){var P=z[D],M=P.state;M.program.draw(c,h.TRIANGLES,u,p,d,Ci.disabled,M.uniformValues,M.terrainData,r.id,M.layoutVertexBuffer,M.indexBuffer,P.segments,r.paint,e.transform.zoom,M.programConfiguration);}}}},heatmap:function(e,i,r,o){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var a=e.context,n=a.gl,s=Ei.disabled,c=new xi([n.ONE,n.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){var r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var o=i.heatmapFbo;if(o)r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),t.bindFramebuffer.set(o.framebuffer);else {var a=r.createTexture();r.bindTexture(r.TEXTURE_2D,a),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),o=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,r){var o=t.gl;o.texImage2D(o.TEXTURE_2D,0,o.RGBA,e.width/4,e.height/4,0,o.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:o.UNSIGNED_BYTE,null),r.colorAttachment.set(i);}(t,e,a,o);}}(a,e,r),a.clear({color:t.Color.transparent});for(var h=0;h<o.length;h++){var u=o[h];if(!i.hasRenderableParent(u)){var p=i.getTile(u),d=p.getBucket(r);if(d){var _=d.programConfigurations.get(r.id);e.useProgram("heatmap",_).draw(a,n.TRIANGLES,wi.disabled,s,c,Ci.disabled,be(u.posMatrix,p,e.transform.zoom,r.paint.get("heatmap-intensity")),null,r.id,d.layoutVertexBuffer,d.indexBuffer,d.segments,r.paint,e.transform.zoom,_);}}}a.viewport.set([0,0,e.width,e.height]);}else "translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,i){var r=e.context,o=r.gl,a=i.heatmapFbo;if(a){r.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,a.colorAttachment.get()),r.activeTexture.set(o.TEXTURE1);var n=i.colorRampTexture;n||(n=i.colorRampTexture=new l(r,i.colorRamp,o.RGBA)),n.bind(o.LINEAR,o.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(r,o.TRIANGLES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Ci.disabled,function(e,i,r,o){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var n=e.context.gl;return {u_matrix:a,u_world:[n.drawingBufferWidth,n.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}}(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}}(e,r));},line:function(e,i,r,o){if("translucent"===e.renderPass){var a=r.paint.get("line-opacity"),n=r.paint.get("line-width");if(0!==a.constantOr(1)&&0!==n.constantOr(1))for(var s=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=r.paint.get("line-dasharray"),u=r.paint.get("line-pattern"),p=u.constantOr(1),d=r.paint.get("line-gradient"),_=r.getCrossfadeParameters(),f=p?"linePattern":h?"lineSDF":d?"lineGradient":"line",m=e.context,g=m.gl,v=!0,y=0,x=o;y<x.length;y+=1){var b=x[y],w=i.getTile(b);if(!p||w.patternsLoaded()){var T=w.getBucket(r);if(T){var E=T.programConfigurations.get(r.id),I=e.context.program.get(),C=e.useProgram(f,E),S=v||C.program!==I,D=e.style.terrain&&e.style.terrain.getTerrainData(b),z=u.constantOr(null);if(z&&w.imageAtlas){var P=w.imageAtlas,M=P.patternPositions[z.to.toString()],A=P.patternPositions[z.from.toString()];M&&A&&E.setConstantPatternPositions(M,A);}var R=D?b:null,L=p?Ee(e,w,r,_,R):h?Ie(e,w,r,h,_,R):d?Te(e,w,r,T.lineClipsArray.length,R):we(e,w,r,R);if(p)m.activeTexture.set(g.TEXTURE0),w.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),E.updatePaintBuffers(_);else if(h&&(S||e.lineAtlas.dirty))m.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(m);else if(d){var k=T.gradients[r.id],B=k.texture;if(r.gradientVersion!==k.version){var O=256;if(r.stepInterpolant){var F=i.getSource().maxzoom,U=b.canonical.z===F?Math.ceil(1<<e.transform.maxZoom-b.canonical.z):1;O=t.clamp(t.nextPowerOfTwo(T.maxLineLength/t.EXTENT*1024*U),256,m.maxTextureSize);}k.gradient=t.renderColorRamp({expression:r.gradientExpression(),evaluationKey:"lineProgress",resolution:O,image:k.gradient||void 0,clips:T.lineClipsArray}),k.texture?k.texture.update(k.gradient):k.texture=new l(m,k.gradient,g.RGBA),k.version=r.gradientVersion,B=k.texture;}m.activeTexture.set(g.TEXTURE0),B.bind(r.stepInterpolant?g.NEAREST:g.LINEAR,g.CLAMP_TO_EDGE);}C.draw(m,g.TRIANGLES,s,e.stencilModeForClipping(b),c,Ci.disabled,L,D,r.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,r.paint,e.transform.zoom,E,T.layoutVertexBuffer2),v=!1;}}}}},fill:function(e,i,r,o){var a=r.paint.get("fill-color"),n=r.paint.get("fill-opacity");if(0!==n.constantOr(1)){var s=e.colorModeForRenderPass(),l=r.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===n.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var h=e.depthModeForSublayer(1,"opaque"===e.renderPass?wi.ReadWrite:wi.ReadOnly);Ai(e,i,r,o,h,s,!1);}if("translucent"===e.renderPass&&r.paint.get("fill-antialias")){var u=e.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,wi.ReadOnly);Ai(e,i,r,o,u,s,!0);}}},"fill-extrusion":function(t,e,i,r){var o=i.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===t.renderPass){var a=new wi(t.context.gl.LEQUAL,wi.ReadWrite,t.depthRangeFor3D);if(1!==o||i.paint.get("fill-extrusion-pattern").constantOr(1))Ri(t,e,i,r,a,Ei.disabled,xi.disabled),Ri(t,e,i,r,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else {var n=t.colorModeForRenderPass();Ri(t,e,i,r,a,Ei.disabled,n);}}},hillshade:function(t,e,i,r){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var o=t.context,a=t.depthModeForSublayer(0,wi.ReadOnly),n=t.colorModeForRenderPass(),s="translucent"===t.renderPass?t.stencilConfigForOverlap(r):[{},r],l=s[0],c=0,h=s[1];c<h.length;c+=1){var u=h[c],p=e.getTile(u);void 0!==p.needsHillshadePrepare&&p.needsHillshadePrepare&&"offscreen"===t.renderPass?ki(t,p,i,a,Ei.disabled,n):"translucent"===t.renderPass&&Li(t,u,p,i,a,l[u.overscaledZ],n);}o.viewport.set([0,0,t.width,t.height]);}},raster:function(t,e,i,r){if("translucent"===t.renderPass&&0!==i.paint.get("raster-opacity")&&r.length)for(var o=t.context,a=o.gl,n=e.getSource(),s=t.useProgram("raster"),l=t.colorModeForRenderPass(),c=n instanceof P?[{},r]:t.stencilConfigForOverlap(r),h=c[0],u=c[1],p=u[u.length-1].overscaledZ,d=!t.options.moving,_=0,f=u;_<f.length;_+=1){var m=f[_],g=t.depthModeForSublayer(m.overscaledZ-p,1===i.paint.get("raster-opacity")?wi.ReadWrite:wi.ReadOnly,a.LESS),v=e.getTile(m);v.registerFadeDuration(i.paint.get("raster-fade-duration"));var y=e.findLoadedParent(m,0),x=Bi(v,y,e,i,t.transform,t.style.terrain),b=void 0,w=void 0,T="nearest"===i.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;o.activeTexture.set(a.TEXTURE0),v.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(a.TEXTURE1),y?(y.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),w=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var E=t.style.terrain&&t.style.terrain.getTerrainData(m),I=E?m:null,C=I?I.posMatrix:t.transform.calculatePosMatrix(m.toUnwrapped(),d),S=De(C,w||[0,0],b||1,x,i);n instanceof P?s.draw(o,a.TRIANGLES,g,Ei.disabled,l,Ci.disabled,S,E,i.id,n.boundsBuffer,t.quadTriangleIndexBuffer,n.boundsSegments):s.draw(o,a.TRIANGLES,g,h[m.overscaledZ],l,Ci.disabled,S,E,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}},background:function(t,e,i,r){var o=i.paint.get("background-color"),a=i.paint.get("background-opacity");if(0!==a){var n=t.context,s=n.gl,l=t.transform,c=l.tileSize,h=i.paint.get("background-pattern");if(!t.isPatternMissing(h)){var u=!h&&1===o.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var p=Ei.disabled,d=t.depthModeForSublayer(0,"opaque"===u?wi.ReadWrite:wi.ReadOnly),_=t.colorModeForRenderPass(),f=t.useProgram(h?"backgroundPattern":"background"),m=r||l.coveringTiles({tileSize:c,terrain:t.style.terrain});h&&(n.activeTexture.set(s.TEXTURE0),t.imageManager.bind(t.context));for(var g=i.getCrossfadeParameters(),v=0,y=m;v<y.length;v+=1){var x=y[v],b=r?x.posMatrix:t.transform.calculatePosMatrix(x.toUnwrapped()),w=h?Re(b,a,t,h,{tileID:x,tileSize:c},g):Ae(b,a,o),T=t.style.terrain&&t.style.terrain.getTerrainData(x);f.draw(n,s.TRIANGLES,d,p,_,Ci.disabled,w,T,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}}}},debug:function(t,e,i){for(var r=0;r<i.length;r++)qi(t,e,i[r]);},custom:function(t,e,i){var r=t.context,o=i.implementation;if("offscreen"===t.renderPass){var a=o.prerender;a&&(t.setCustomLayerDefaults(),r.setColorMode(t.colorModeForRenderPass()),a.call(o,r.gl,t.transform.customLayerMatrix()),r.setDirty(),t.setBaseState());}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),r.setColorMode(t.colorModeForRenderPass()),r.setStencilMode(Ei.disabled);var n="3d"===o.renderingMode?new wi(t.context.gl.LEQUAL,wi.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,wi.ReadOnly);r.setDepthMode(n),o.render(r.gl,t.transform.customLayerMatrix()),r.setDirty(),t.setBaseState(),r.bindFramebuffer.set(null);}}},Yi=function(e,i){this.context=new bi(e),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.create(),renderTime:0},this.setup(),this.numSublayers=N.maxUnderzooming+N.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ht,this.gpuTimers={};};Yi.prototype.resize=function(t,e,i){if(this.width=t*i,this.height=e*i,this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var r=0,o=this.style._order;r<o.length;r+=1)this.style._layers[o[r]].resize();},Yi.prototype.setup=function(){var e=this.context,i=new t.PosArray;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,Kt.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var r=new t.PosArray;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(r,Kt.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var o=new t.RasterBoundsArray;o.emplaceBack(0,0,0,0),o.emplaceBack(t.EXTENT,0,t.EXTENT,0),o.emplaceBack(0,t.EXTENT,0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(o,z.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.PosArray;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Kt.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.LineStripIndexArray;n.emplaceBack(0),n.emplaceBack(1),n.emplaceBack(3),n.emplaceBack(2),n.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(n);var s=new t.TriangleIndexArray;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new l(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var c=this.context.gl;this.stencilClearMode=new Ei({func:c.ALWAYS,mask:0},0,255,c.ZERO,c.ZERO,c.ZERO);},Yi.prototype.clearStencil=function(){var e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var r=t.create();t.ortho(r,0,this.width,this.height,0,0,1),t.scale(r,r,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,i.TRIANGLES,wi.disabled,this.stencilClearMode,xi.disabled,Ci.disabled,xe(r),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);},Yi.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var i=this.context,r=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(xi.disabled),i.setDepthMode(wi.disabled);var o=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,n=e;a<n.length;a+=1){var s=n[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++,c=this.style.terrain&&this.style.terrain.getTerrainData(s);o.draw(i,r.TRIANGLES,wi.disabled,new Ei({func:r.ALWAYS,mask:0},l,255,r.KEEP,r.KEEP,r.REPLACE),xi.disabled,Ci.disabled,xe(s.posMatrix),c,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}},Yi.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Yi.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Yi.prototype.stencilConfigForOverlap=function(t){var e,i=this.context.gl,r=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),o=r[r.length-1].overscaledZ,a=r[0].overscaledZ-o+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var n={},s=0;s<a;s++)n[s+o]=new Ei({func:i.GEQUAL,mask:255},s+this.nextStencilID,255,i.KEEP,i.KEEP,i.REPLACE);return this.nextStencilID+=a,[n,r]}return [(e={},e[o]=Ei.disabled,e),r]},Yi.prototype.colorModeForRenderPass=function(){var e=this.context.gl;if(this._showOverdrawInspector){var i=1/8;return new xi([e.CONSTANT_COLOR,e.ONE],new t.Color(i,i,i,0),[!0,!0,!0,!0])}return "opaque"===this.renderPass?xi.unblended:xi.alphaBlended},Yi.prototype.depthModeForSublayer=function(t,e,i){if(!this.opaquePassEnabledForLayer())return wi.disabled;var r=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new wi(i||this.context.gl.LEQUAL,e,[r,r])},Yi.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},Yi.prototype.render=function(e,i){var r=this;this.style=e,this.options=i,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.exported.now()),this.imageManager.beginFrame();var o=this.style._order,a=this.style.sourceCaches,n=this.style.terrain&&new Hi(this);for(var s in a){var l=a[s];l.used&&l.prepare(this.context);}var c,h,u={},p={},d={};for(var _ in a){var f=a[_];u[_]=f.getVisibleCoordinates(),p[_]=u[_].slice().reverse(),d[_]=f.getVisibleCoordinates(!0).reverse();}this.opaquePassCutoff=1/0;for(var m=0;m<o.length;m++)if(this.style._layers[o[m]].is3D()){this.opaquePassCutoff=m;break}if(n){this.opaquePassCutoff=0;var g=this.style.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime);(this.terrainFacilitator.dirty||!t.equals(this.terrainFacilitator.matrix,this.transform.projMatrix)||g.length)&&(t.copy(this.terrainFacilitator.matrix,this.transform.projMatrix),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,i){var r=e.context,o=r.gl,a=xi.unblended,n=new wi(o.LEQUAL,wi.ReadWrite,[0,1]),s=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");r.bindFramebuffer.set(i.getFramebuffer("depth").framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.Color.transparent,depth:1});for(var h=0,u=l;h<u.length;h+=1){var p=u[h],d=i.getTerrainData(p.tileID),_=e.transform.calculatePosMatrix(p.tileID.toUnwrapped());c.draw(r,o.TRIANGLES,n,Ei.disabled,a,Ci.backCCW,{u_matrix:_},d,"terrain",s.vertexBuffer,s.indexBuffer,s.segments);}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height]);}(this,this.style.terrain),function(e,i){var r=e.context,o=r.gl,a=xi.unblended,n=new wi(o.LEQUAL,wi.ReadWrite,[0,1]),s=i.getTerrainMesh(),l=i.getCoordsTexture(),c=i.sourceCache.getRenderableTiles(),h=e.useProgram("terrainCoords");r.bindFramebuffer.set(i.getFramebuffer("coords").framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.Color.transparent,depth:1}),i.coordsIndex=[];for(var u=0,p=c;u<p.length;u+=1){var d=p[u],_=i.getTerrainData(d.tileID);r.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,l.texture);var f=e.transform.calculatePosMatrix(d.tileID.toUnwrapped());h.draw(r,o.TRIANGLES,n,Ei.disabled,a,Ci.backCCW,{u_matrix:f,u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0},_,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),i.coordsIndex.push(d.tileID.key);}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height]);}(this,this.style.terrain));}this.renderPass="offscreen";for(var v=0,y=o;v<y.length;v+=1){var x=this.style._layers[y[v]];if(x.hasOffscreenPass()&&!x.isHidden(this.transform.zoom)){var b=p[x.source];("custom"===x.type||b.length)&&this.renderLayer(this,a[x.source],x,b);}}if(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!n)for(this.renderPass="opaque",this.currentLayer=o.length-1;this.currentLayer>=0;this.currentLayer--){var w=this.style._layers[o[this.currentLayer]],T=a[w.source],E=u[w.source];this._renderTileClippingMasks(w,E),this.renderLayer(this,T,w,E);}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<o.length;this.currentLayer++){var I=this.style._layers[o[this.currentLayer]],C=a[I.source];if(!n||!n.renderLayer(I)){var S=("symbol"===I.type?d:p)[I.source];this._renderTileClippingMasks(I,u[I.source]),this.renderLayer(this,C,I,S);}}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(r.transform.zoom)&&(t.source!==(h&&h.id)&&(h=r.style.sourceCaches[t.source]),(!c||c.getSource().maxzoom<h.getSource().maxzoom)&&(c=h));})),c&&Ki.debug(this,c,c.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;ji(t,t.transform.height-(e.top||0),3,Oi),ji(t,e.bottom||0,3,Fi),Zi(t,e.left||0,3,Ui),Zi(t,t.transform.width-(e.right||0),3,Ni);var i=t.transform.centerPoint;!function(t,e,i,r){Vi(t,e-1,i-10,2,20,r),Vi(t,e-10,i-1,20,2,r);}(t,i.x,t.transform.height-i.y,Gi);}(this),this.context.setDefault();},Yi.prototype.renderLayer=function(t,e,i,r){i.isHidden(this.transform.zoom)||("background"===i.type||"custom"===i.type||(r||[]).length)&&(this.id=i.id,this.gpuTimingStart(i),Ki[i.type](t,e,i,r,this.style.placement.variableOffsets),this.gpuTimingEnd());},Yi.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,i=this.gpuTimers[t.id];i||(i=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),i.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,i.query);}},Yi.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT);}},Yi.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},Yi.prototype.queryGpuTimers=function(t){var e={};for(var i in t){var r=t[i],o=this.context.extTimerQuery,a=o.getQueryObjectEXT(r.query,o.QUERY_RESULT_EXT)/1e6;o.deleteQueryEXT(r.query),e[i]=a;}return e},Yi.prototype.translatePosMatrix=function(e,i,r,o,a){if(!r[0]&&!r[1])return e;var n=a?"map"===o?this.transform.angle:0:"viewport"===o?-this.transform.angle:0;if(n){var s=Math.sin(n),l=Math.cos(n);r=[r[0]*l-r[1]*s,r[0]*s+r[1]*l];}var c=[a?r[0]:wt(i,r[0],this.transform.zoom),a?r[1]:wt(i,r[1],this.transform.zoom),0],h=new Float32Array(16);return t.translate(h,e,c),h},Yi.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];},Yi.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},Yi.prototype.isPatternMissing=function(t){if(!t)return !1;if(!t.from||!t.to)return !0;var e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i},Yi.prototype.useProgram=function(t,e){this.cache=this.cache||{};var i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new le(this.context,t,oe[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]},Yi.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();},Yi.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);},Yi.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));},Yi.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();};var Ji=function(t,e){this.points=t,this.planes=e;};Ji.fromInvProjectionMatrix=function(e,i,r){var o=Math.pow(2,r),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){var a=1/(r=t.transformMat4([],r,e))[3]/i*o;return t.mul$1(r,r,[a,a,1/r[3],a])})),n=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var i=t.sub([],a[e[0]],a[e[1]]),r=t.sub([],a[e[2]],a[e[1]]),o=t.normalize([],t.cross([],i,r)),n=-t.dot(o,a[e[1]]);return o.concat(n)}));return new Ji(a,n)};var Qi=function(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5);};Qi.prototype.quadrant=function(e){for(var i=[e%2==0,e<2],r=t.clone$2(this.min),o=t.clone$2(this.max),a=0;a<i.length;a++)r[a]=i[a]?this.min[a]:this.center[a],o[a]=i[a]?this.center[a]:this.max[a];return o[2]=this.max[2],new Qi(r,o)},Qi.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},Qi.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},Qi.prototype.intersects=function(e){for(var i=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],r=!0,o=0;o<e.planes.length;o++){for(var a=e.planes[o],n=0,s=0;s<i.length;s++)t.dot$1(a,i[s])>=0&&n++;if(0===n)return 0;n!==i.length&&(r=!1);}if(r)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,h=-Number.MAX_VALUE,u=0;u<e.points.length;u++){var p=e.points[u][l]-this.min[l];c=Math.min(c,p),h=Math.max(h,p);}if(h<0||c>this.max[l]-this.min[l])return 0}return 1};var $i=function(t,e,i,r){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=i,this.right=r;};$i.prototype.interpolate=function(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,r)),this},$i.prototype.getCenter=function(e,i){var r=t.clamp((this.left+e-this.right)/2,0,e),o=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(r,o)},$i.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},$i.prototype.clone=function(){return new $i(this.top,this.bottom,this.left,this.right)},$i.prototype.toJSON=function(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var tr=function(e,i,r,o,a){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==o?60:o,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new $i,this._posMatrixCache={},this._alignedPosMatrixCache={};},er={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},elevation:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};tr.prototype.clone=function(){var t=new tr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t._elevation=this._elevation,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},er.minZoom.get=function(){return this._minZoom},er.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));},er.maxZoom.get=function(){return this._maxZoom},er.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));},er.minPitch.get=function(){return this._minPitch},er.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));},er.maxPitch.get=function(){return this._maxPitch},er.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));},er.renderWorldCopies.get=function(){return this._renderWorldCopies},er.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;},er.worldSize.get=function(){return this.tileSize*this.scale},er.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},er.size.get=function(){return new t.pointGeometry(this.width,this.height)},er.bearing.get=function(){return -this.angle/Math.PI*180},er.bearing.set=function(e){var i,r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=(i=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(i[1]=0,i[2]=0),i[0]=1,i[3]=1,i),function(t,e,i){var r=e[0],o=e[1],a=e[2],n=e[3],s=Math.sin(i),l=Math.cos(i);t[0]=r*l+a*s,t[1]=o*l+n*s,t[2]=r*-s+a*l,t[3]=o*-s+n*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));},er.pitch.get=function(){return this._pitch/Math.PI*180},er.pitch.set=function(e){var i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());},er.fov.get=function(){return this._fov/Math.PI*180},er.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());},er.zoom.get=function(){return this._zoom},er.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices());},er.center.get=function(){return this._center},er.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());},er.elevation.get=function(){return this._elevation},er.elevation.set=function(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());},er.padding.get=function(){return this._edgeInsets.toJSON()},er.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());},er.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},tr.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},tr.prototype.interpolatePadding=function(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();},tr.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},tr.prototype.getVisibleUnwrappedCoordinates=function(e){var i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var r=this.pointCoordinate(new t.pointGeometry(0,0)),o=this.pointCoordinate(new t.pointGeometry(this.width,0)),a=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),n=this.pointCoordinate(new t.pointGeometry(0,this.height)),s=Math.floor(Math.min(r.x,o.x,a.x,n.x)),l=Math.floor(Math.max(r.x,o.x,a.x,n.x)),c=s-1;c<=l+1;c++)0!==c&&i.push(new t.UnwrappedTileID(c,e));return i},tr.prototype.coveringTiles=function(e){var i,r,o=this.coveringZoomLevel(e),a=o;if(void 0!==e.minzoom&&o<e.minzoom)return [];void 0!==e.maxzoom&&o>e.maxzoom&&(o=e.maxzoom);var n=this.pointCoordinate(this.getCameraPoint()),s=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,o),c=[l*n.x,l*n.y,0],h=[l*s.x,l*s.y,0],u=Ji.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,o),p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=o);var d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,_=function(t){return {aabb:new Qi([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},f=[],m=[],g=o,v=e.reparseOverscaled?a:o;if(this._renderWorldCopies)for(var y=1;y<=3;y++)f.push(_(-y)),f.push(_(y));for(f.push(_(0));f.length>0;){var x=f.pop(),b=x.x,w=x.y,T=x.fullyVisible;if(!T){var E=x.aabb.intersects(u);if(0===E)continue;T=2===E;}var I=e.terrain?c:h,C=x.aabb.distanceX(I),S=x.aabb.distanceY(I),D=Math.max(Math.abs(C),Math.abs(S));if(x.zoom===g||D>d+(1<<g-x.zoom)-2&&x.zoom>=p){var z=g-x.zoom,P=c[0]-.5-(b<<z),M=c[1]-.5-(w<<z);m.push({tileID:new t.OverscaledTileID(x.zoom===g?v:x.zoom,x.wrap,x.zoom,b,w),distanceSq:t.sqrLen([h[0]-.5-b,h[1]-.5-w]),tileDistanceToCamera:Math.sqrt(P*P+M*M)});}else for(var A=0;A<4;A++){var R=(b<<1)+A%2,L=(w<<1)+(A>>1),k=x.zoom+1,B=x.aabb.quadrant(A);if(e.terrain){var O=new t.OverscaledTileID(k,x.wrap,k,R,L),F=e.terrain.getMinMaxElevation(O),U=null!==(i=F.minElevation)&&void 0!==i?i:this.elevation,N=null!==(r=F.maxElevation)&&void 0!==r?r:this.elevation;B=new Qi([B.min[0],B.min[1],U],[B.max[0],B.max[1],N]);}f.push({aabb:B,zoom:k,x:R,y:L,wrap:x.wrap,fullyVisible:T});}}return m.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},tr.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();},er.unmodified.get=function(){return this._unmodified},tr.prototype.zoomScale=function(t){return Math.pow(2,t)},tr.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},tr.prototype.project=function(e){var i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)},tr.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},er.point.get=function(){return this.project(this.center)},tr.prototype.updateElevation=function(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0);},tr.prototype.getElevation=function(e,i){var r=t.MercatorCoordinate.fromLngLat(e),o=(1<<this.tileZoom)*t.EXTENT,a=r.x*o,n=r.y*o,s=Math.floor(a/t.EXTENT),l=Math.floor(n/t.EXTENT),c=new t.OverscaledTileID(this.tileZoom,0,this.tileZoom,s,l);return i.getElevation(c,a%t.EXTENT,n%t.EXTENT,t.EXTENT)},tr.prototype.getCameraPosition=function(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}},tr.prototype.recalculateZoom=function(e){var i=this.pointLocation(this.centerPoint,e),r=this.getElevation(i,e);if(this.elevation-r){var o=this.getCameraPosition(),a=t.MercatorCoordinate.fromLngLat(o.lngLat,o.altitude),n=t.MercatorCoordinate.fromLngLat(i,r),s=a.x-n.x,l=a.y-n.y,c=a.z-n.z,h=Math.sqrt(s*s+l*l+c*c),u=this.scaleZoom(this.cameraToCenterDistance/h/this.tileSize);this._elevation=r,this._center=i,this.zoom=u;}},tr.prototype.setLocationAtPoint=function(e,i){var r=this.pointCoordinate(i),o=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),n=new t.MercatorCoordinate(a.x-(r.x-o.x),a.y-(r.y-o.y));this.center=this.coordinateLocation(n),this._renderWorldCopies&&(this.center=this.center.wrap());},tr.prototype.locationPoint=function(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),this.getElevation(t,e),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))},tr.prototype.pointLocation=function(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))},tr.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},tr.prototype.coordinateLocation=function(t){return t&&t.toLngLat()},tr.prototype.pointCoordinate=function(e,i){if(i){var r=i.pointCoordinate(e);if(null!=r)return r}var o=[e.x,e.y,0,1],a=[e.x,e.y,1,1];t.transformMat4(o,o,this.pixelMatrixInverse),t.transformMat4(a,a,this.pixelMatrixInverse);var n=o[3],s=a[3],l=o[1]/n,c=a[1]/s,h=o[2]/n,u=a[2]/s,p=h===u?0:(0-h)/(u-h);return new t.MercatorCoordinate(t.number(o[0]/n,a[0]/s,p)/this.worldSize,t.number(l,c,p)/this.worldSize)},tr.prototype.coordinatePoint=function(e,i,r){void 0===i&&(i=0),void 0===r&&(r=this.pixelMatrix);var o=[e.x*this.worldSize,e.y*this.worldSize,i,1];return t.transformMat4(o,o,r),new t.pointGeometry(o[0]/o[3],o[1]/o[3])},tr.prototype.getBounds=function(){var e=Math.max(0,this.height/2-this.getHorizon());return (new t.LngLatBounds).extend(this.pointLocation(new t.pointGeometry(0,e))).extend(this.pointLocation(new t.pointGeometry(this.width,e))).extend(this.pointLocation(new t.pointGeometry(this.width,this.height))).extend(this.pointLocation(new t.pointGeometry(0,this.height)))},tr.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},tr.prototype.getHorizon=function(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85},tr.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude]);},tr.prototype.calculatePosMatrix=function(e,i){void 0===i&&(i=!1);var r=e.key,o=i?this._alignedPosMatrixCache:this._posMatrixCache;if(o[r])return o[r];var a=e.canonical,n=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*n,a.y*n,0]),t.scale(l,l,[n/t.EXTENT,n/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),o[r]=new Float32Array(l),o[r]},tr.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},tr.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,i,r,o,a=-90,n=90,s=-180,l=180,c=this.size,h=this._unmodified;if(this.latRange){var u=this.latRange;a=t.mercatorYfromLat(u[1])*this.worldSize,e=(n=t.mercatorYfromLat(u[0])*this.worldSize)-a<c.y?c.y/(n-a):0;}if(this.lngRange){var p=this.lngRange;s=t.wrap(t.mercatorXfromLng(p[0])*this.worldSize,0,this.worldSize),(l=t.wrap(t.mercatorXfromLng(p[1])*this.worldSize,0,this.worldSize))<s&&(l+=this.worldSize),i=l-s<c.x?c.x/(l-s):0;}var d=this.point,_=Math.max(i||0,e||0);if(_)return this.center=this.unproject(new t.pointGeometry(i?(l+s)/2:d.x,e?(n+a)/2:d.y)),this.zoom+=this.scaleZoom(_),this._unmodified=h,void(this._constraining=!1);if(this.latRange){var f=d.y,m=c.y/2;f-m<a&&(o=a+m),f+m>n&&(o=n-m);}if(this.lngRange){var g=(s+l)/2,v=t.wrap(d.x,g-this.worldSize/2,g+this.worldSize/2),y=c.x/2;v-y<s&&(r=s+y),v+y>l&&(r=l-y);}void 0===r&&void 0===o||(this.center=this.unproject(new t.pointGeometry(void 0!==r?r:d.x,void 0!==o?o:d.y)).wrap()),this._unmodified=h,this._constraining=!1;}},tr.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;var o=t.identity(new Float64Array(16));t.scale(o,o,[this.width/2,-this.height/2,1]),t.translate(o,o,[1,-1,0]),this.labelPlaneMatrix=o,o=t.identity(new Float64Array(16)),t.scale(o,o,[1,-1,1]),t.translate(o,o,[-1,-1,0]),t.scale(o,o,[2/this.width,2/this.height,1]),this.glCoordMatrix=o,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);var a=Math.PI/2+this._pitch,n=this._fov*(.5+e.y/this.height),s=Math.sin(n)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-n,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*s+this.cameraToSeaLevelDistance,p=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,d=1.01*Math.min(u,p),_=this.height/50;o=new Float64Array(16),t.perspective(o,this._fov,this.width/this.height,_,d),o[8]=2*-e.x/this.width,o[9]=2*e.y/this.height,t.scale(o,o,[1,-1,1]),t.translate(o,o,[0,0,-this.cameraToCenterDistance]),t.rotateX(o,o,this._pitch),t.rotateZ(o,o,this.angle),t.translate(o,o,[-i,-r,0]),this.mercatorMatrix=t.scale([],o,[this.worldSize,this.worldSize,this.worldSize]),t.scale(o,o,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,o),t.translate(o,o,[0,0,-this.elevation]),this.projMatrix=o,this.invProjMatrix=t.invert([],o),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,o);var f=this.width%2/2,m=this.height%2/2,g=Math.cos(this.angle),v=Math.sin(this.angle),y=i-Math.round(i)+g*f+v*m,x=r-Math.round(r)+g*m+v*f,b=new Float64Array(o);if(t.translate(b,b,[y>.5?y-1:y,x>.5?x-1:x,0]),this.alignedProjMatrix=b,!(o=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={};}},tr.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance},tr.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))},tr.prototype.getCameraQueryGeometry=function(e){var i=this.getCameraPoint();if(1===e.length)return [e[0],i];for(var r=i.x,o=i.y,a=i.x,n=i.y,s=0,l=e;s<l.length;s+=1){var c=l[s];r=Math.min(r,c.x),o=Math.min(o,c.y),a=Math.max(a,c.x),n=Math.max(n,c.y);}return [new t.pointGeometry(r,o),new t.pointGeometry(a,o),new t.pointGeometry(a,n),new t.pointGeometry(r,n),new t.pointGeometry(r,o)]},Object.defineProperties(tr.prototype,er);var ir=function(e){var i,r,o,a;this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=(i=this._updateHashUnthrottled.bind(this),r=!1,o=null,a=function(){o=null,r&&(i(),o=setTimeout(a,300),r=!1);},function(){return r=!0,o||a(),o});};ir.prototype.addTo=function(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},ir.prototype.remove=function(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},ir.prototype.getHashString=function(t){var e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,r),a=Math.round(e.lng*o)/o,n=Math.round(e.lat*o)/o,s=this._map.getBearing(),l=this._map.getPitch(),c="";if(c+=t?"/"+a+"/"+n+"/"+i:i+"/"+n+"/"+a,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),this._hashName){var h=this._hashName,u=!1,p=window.location.hash.slice(1).split("&").map((function(t){var e=t.split("=")[0];return e===h?(u=!0,e+"="+c):t})).filter((function(t){return t}));return u||p.push(h+"="+c),"#"+p.join("&")}return "#"+c},ir.prototype._getCurrentHash=function(){var t,e=this,i=window.location.hash.replace("#","");return this._hashName?(i.split("&").map((function(t){return t.split("=")})).forEach((function(i){i[0]===e._hashName&&(t=i);})),(t&&t[1]||"").split("/")):i.split("/")},ir.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},ir.prototype._updateHashUnthrottled=function(){var t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t);}catch(t){}};var rr={linearity:.3,easing:t.bezier(0,0,.3,1)},or=t.extend({deceleration:2500,maxSpeed:1400},rr),ar=t.extend({deceleration:20,maxSpeed:1400},rr),nr=t.extend({deceleration:1e3,maxSpeed:360},rr),sr=t.extend({deceleration:1e3,maxSpeed:90},rr),lr=function(t){this._map=t,this.clear();};function cr(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing);}function hr(e,i,r){var o=r.maxSpeed,a=r.linearity,n=r.deceleration,s=t.clamp(e*a/(i/1e3),-o,o),l=Math.abs(s)/(n*a);return {easing:r.easing,duration:1e3*l,amount:s*(l/2)}}lr.prototype.clear=function(){this._inertiaBuffer=[];},lr.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e});},lr.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,i=t.exported.now();e.length>0&&i-e[0].time>160;)e.shift();},lr.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0},r=0,o=this._inertiaBuffer;r<o.length;r+=1){var a=o[r].settings;i.zoom+=a.zoomDelta||0,i.bearing+=a.bearingDelta||0,i.pitch+=a.pitchDelta||0,a.panDelta&&i.pan._add(a.panDelta),a.around&&(i.around=a.around),a.pinchAround&&(i.pinchAround=a.pinchAround);}var n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){var l=hr(i.pan.mag(),n,t.extend({},or,e||{}));s.offset=i.pan.mult(l.amount/i.pan.mag()),s.center=this._map.transform.center,cr(s,l);}if(i.zoom){var c=hr(i.zoom,n,ar);s.zoom=this._map.transform.zoom+c.amount,cr(s,c);}if(i.bearing){var h=hr(i.bearing,n,nr);s.bearing=this._map.transform.bearing+t.clamp(h.amount,-179,179),cr(s,h);}if(i.pitch){var u=hr(i.pitch,n,sr);s.pitch=this._map.transform.pitch+u.amount,cr(s,u);}if(s.zoom||s.bearing){var p=void 0===i.pinchAround?i.around:i.pinchAround;s.around=p?this._map.unproject(p):this._map.getCenter();}return this.clear(),t.extend(s,{noMoveStart:!0})}};var ur=function(e){function i(i,r,o,n){void 0===n&&(n={});var s=a.mousePos(r.getCanvasContainer(),o),l=r.unproject(s);e.call(this,i,t.extend({point:s,lngLat:l,originalEvent:o},n)),this._defaultPrevented=!1,this.target=r;}e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i;var r={defaultPrevented:{configurable:!0}};return i.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(i.prototype,r),i}(t.Event),pr=function(e){function i(i,r,o){var n="touchend"===i?o.changedTouches:o.touches,s=a.touchPos(r.getCanvasContainer(),n),l=s.map((function(t){return r.unproject(t)})),c=s.reduce((function(t,e,i,r){return t.add(e.div(r.length))}),new t.pointGeometry(0,0)),h=r.unproject(c);e.call(this,i,{points:s,point:c,lngLats:l,lngLat:h,originalEvent:o}),this._defaultPrevented=!1;}e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i;var r={defaultPrevented:{configurable:!0}};return i.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(i.prototype,r),i}(t.Event),dr=function(t){function e(e,i,r){t.call(this,e,{originalEvent:r}),this._defaultPrevented=!1;}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var i={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0;},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,i),e}(t.Event),_r=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance;};_r.prototype.reset=function(){delete this._mousedownPos;},_r.prototype.wheel=function(t){return this._firePreventable(new dr(t.type,this._map,t))},_r.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new ur(t.type,this._map,t))},_r.prototype.mouseup=function(t){this._map.fire(new ur(t.type,this._map,t));},_r.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new ur(t.type,this._map,t));},_r.prototype.dblclick=function(t){return this._firePreventable(new ur(t.type,this._map,t))},_r.prototype.mouseover=function(t){this._map.fire(new ur(t.type,this._map,t));},_r.prototype.mouseout=function(t){this._map.fire(new ur(t.type,this._map,t));},_r.prototype.touchstart=function(t){return this._firePreventable(new pr(t.type,this._map,t))},_r.prototype.touchmove=function(t){this._map.fire(new pr(t.type,this._map,t));},_r.prototype.touchend=function(t){this._map.fire(new pr(t.type,this._map,t));},_r.prototype.touchcancel=function(t){this._map.fire(new pr(t.type,this._map,t));},_r.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return {}},_r.prototype.isEnabled=function(){return !0},_r.prototype.isActive=function(){return !1},_r.prototype.enable=function(){},_r.prototype.disable=function(){};var fr=function(t){this._map=t;};fr.prototype.reset=function(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;},fr.prototype.mousemove=function(t){this._map.fire(new ur(t.type,this._map,t));},fr.prototype.mousedown=function(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;},fr.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ur("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);},fr.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new ur(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault();},fr.prototype.isEnabled=function(){return !0},fr.prototype.isActive=function(){return !1},fr.prototype.enable=function(){},fr.prototype.disable=function(){};var mr=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;};function gr(t,e){if(t.length!==e.length)throw new Error("The number of touches and points are not equal - touches "+t.length+", points "+e.length);for(var i={},r=0;r<t.length;r++)i[t[r].identifier]=e[r];return i}mr.prototype.isEnabled=function(){return !!this._enabled},mr.prototype.isActive=function(){return !!this._active},mr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0);},mr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},mr.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(a.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);},mr.prototype.mousemoveWindow=function(t,e){if(this._active){var i=e;if(!(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)<this._clickTolerance)){var r=this._startPos;this._lastPos=i,this._box||(this._box=a.create("div","maplibregl-boxzoom mapboxgl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair","mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var o=Math.min(r.x,i.x),n=Math.max(r.x,i.x),s=Math.min(r.y,i.y),l=Math.max(r.y,i.y);a.setTransform(this._box,"translate("+o+"px,"+s+"px)"),this._box.style.width=n-o+"px",this._box.style.height=l-s+"px";}}},mr.prototype.mouseupWindow=function(e,i){var r=this;if(this._active&&0===e.button){var o=this._startPos,n=i;if(this.reset(),a.suppressClick(),o.x!==n.x||o.y!==n.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(o,n,r._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",e);}},mr.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t));},mr.prototype.reset=function(){this._active=!1,this._container.classList.remove("maplibregl-crosshair","mapboxgl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos;},mr.prototype._fireEvent=function(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))};var vr=function(t){this.reset(),this.numTouches=t.numTouches;};vr.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1;},vr.prototype.touchstart=function(e,i,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){for(var i=new t.pointGeometry(0,0),r=0,o=e;r<o.length;r+=1)i._add(o[r]);return i.div(e.length)}(i),this.touches=gr(r,i)));},vr.prototype.touchmove=function(t,e,i){if(!this.aborted&&this.centroid){var r=gr(i,e);for(var o in this.touches){var a=r[o];(!a||a.dist(this.touches[o])>30)&&(this.aborted=!0);}}},vr.prototype.touchend=function(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){var r=!this.aborted&&this.centroid;if(this.reset(),r)return r}};var yr=function(t){this.singleTap=new vr(t),this.numTaps=t.numTaps,this.reset();};yr.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();},yr.prototype.touchstart=function(t,e,i){this.singleTap.touchstart(t,e,i);},yr.prototype.touchmove=function(t,e,i){this.singleTap.touchmove(t,e,i);},yr.prototype.touchend=function(t,e,i){var r=this.singleTap.touchend(t,e,i);if(r){var o=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(r)<30;if(o&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}};var xr=function(){this._zoomIn=new yr({numTouches:1,numTaps:2}),this._zoomOut=new yr({numTouches:2,numTaps:1}),this.reset();};xr.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();},xr.prototype.touchstart=function(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);},xr.prototype.touchmove=function(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);},xr.prototype.touchend=function(t,e,i){var r=this,o=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return o?(this._active=!0,t.preventDefault(),setTimeout((function(){return r.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(o)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return r.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},xr.prototype.touchcancel=function(){this.reset();},xr.prototype.enable=function(){this._enabled=!0;},xr.prototype.disable=function(){this._enabled=!1,this.reset();},xr.prototype.isEnabled=function(){return this._enabled},xr.prototype.isActive=function(){return this._active};var br={0:1,2:2},wr=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1;};wr.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;},wr.prototype._correctButton=function(t,e){return !1},wr.prototype._move=function(t,e){return {}},wr.prototype.mousedown=function(t,e){if(!this._lastPoint){var i=a.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i);}},wr.prototype.mousemoveWindow=function(t,e){var i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){var i=br[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i)<this._clickTolerance))return this._moved=!0,this._lastPoint=e,this._move(i,e)},wr.prototype.mouseupWindow=function(t){this._lastPoint&&a.mouseButton(t)===this._eventButton&&(this._moved&&a.suppressClick(),this.reset());},wr.prototype.enable=function(){this._enabled=!0;},wr.prototype.disable=function(){this._enabled=!1,this.reset();},wr.prototype.isEnabled=function(){return this._enabled},wr.prototype.isActive=function(){return this._active};var Tr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,i){t.prototype.mousedown.call(this,e,i),this._lastPoint&&(this._active=!0);},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return {around:e,panDelta:e.sub(t)}},e}(wr),Er=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=.8*(e.x-t.x);if(i)return this._active=!0,{bearingDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(wr),Ir=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=-.5*(e.y-t.y);if(i)return this._active=!0,{pitchDelta:i}},e.prototype.contextmenu=function(t){t.preventDefault();},e}(wr),Cr=function(t,e){this._minTouches=t.cooperativeGestures?2:1,this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();};Cr.prototype.reset=function(){var e=this;this._active=!1,this._touches={},this._sum=new t.pointGeometry(0,0),setTimeout((function(){e._cancelCooperativeMessage=!1;}),200);},Cr.prototype.touchstart=function(t,e,i){return this._calculateTransform(t,e,i)},Cr.prototype.touchmove=function(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length<this._minTouches))return t.preventDefault(),this._calculateTransform(t,e,i)},Cr.prototype.touchend=function(t,e,i){this._calculateTransform(t,e,i),this._active&&i.length<this._minTouches&&this.reset();},Cr.prototype.touchcancel=function(){this.reset();},Cr.prototype._calculateTransform=function(e,i,r){r.length>0&&(this._active=!0);var o=gr(r,i),a=new t.pointGeometry(0,0),n=new t.pointGeometry(0,0),s=0;for(var l in o){var c=o[l],h=this._touches[l];h&&(a._add(c),n._add(c.sub(h)),s++,o[l]=c);}if(this._touches=o,!(s<this._minTouches)&&n.mag()){var u=n.div(s);if(this._sum._add(u),!(this._sum.mag()<this._clickTolerance))return {around:a.div(s),panDelta:u}}},Cr.prototype.enable=function(){this._enabled=!0;},Cr.prototype.disable=function(){this._enabled=!1,this.reset();},Cr.prototype.isEnabled=function(){return this._enabled},Cr.prototype.isActive=function(){return this._active};var Sr=function(){this.reset();};function Dr(t,e,i){for(var r=0;r<t.length;r++)if(t[r].identifier===i)return e[r]}function zr(t,e){return Math.log(t/e)/Math.LN2}Sr.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches;},Sr.prototype._start=function(t){},Sr.prototype._move=function(t,e,i){return {}},Sr.prototype.touchstart=function(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]));},Sr.prototype.touchmove=function(t,e,i){if(this._firstTwoTouches){t.preventDefault();var r=this._firstTwoTouches,o=r[1],a=Dr(i,e,r[0]),n=Dr(i,e,o);if(a&&n){var s=this._aroundCenter?null:a.add(n).div(2);return this._move([a,n],s,t)}}},Sr.prototype.touchend=function(t,e,i){if(this._firstTwoTouches){var r=this._firstTwoTouches,o=r[1],n=Dr(i,e,r[0]),s=Dr(i,e,o);n&&s||(this._active&&a.suppressClick(),this.reset());}},Sr.prototype.touchcancel=function(){this.reset();},Sr.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around;},Sr.prototype.disable=function(){this._enabled=!1,this.reset();},Sr.prototype.isEnabled=function(){return this._enabled},Sr.prototype.isActive=function(){return this._active};var Pr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance;},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(zr(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:zr(this._distance,i),pinchAround:e}},e}(Sr);function Mr(t,e){return 180*t.angleWith(e)/Math.PI}var Ar=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector;},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Mr(this._vector,i),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,i=Mr(t,this._startVector);return Math.abs(i)<e},e}(Sr);function Rr(t){return Math.abs(t.y)>Math.abs(t.x)}var Lr=function(t){function e(e){t.call(this),this._map=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints;},e.prototype.touchstart=function(e,i,r){t.prototype.touchstart.call(this,e,i,r),this._currentTouchCount=r.length;},e.prototype._start=function(t){this._lastPoints=t,Rr(t[0].sub(t[1]))&&(this._valid=!1);},e.prototype._move=function(t,e,i){if(!(this._map._cooperativeGestures&&this._currentTouchCount<3)){var r=t[0].sub(this._lastPoints[0]),o=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(r,o,i.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+o.y)/2*-.5}}},e.prototype.gestureBeginsVertically=function(t,e,i){if(void 0!==this._valid)return this._valid;var r=t.mag()>=2,o=e.mag()>=2;if(r||o){if(!r||!o)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return Rr(t)&&Rr(e)&&a}},e}(Sr),kr={panStep:100,bearingStep:15,pitchStep:10},Br=function(){var t=kr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;};function Or(t){return t*(2-t)}Br.prototype.reset=function(){this._active=!1;},Br.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var i=0,r=0,o=0,a=0,n=0;switch(t.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?o=1:(t.preventDefault(),n=-1);break;case 40:t.shiftKey?o=-1:(t.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(r=0,o=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:Or,zoom:i?Math.round(l)+i*(t.shiftKey?2:1):l,bearing:s.getBearing()+r*e._bearingStep,pitch:s.getPitch()+o*e._pitchStep,offset:[-a*e._panStep,-n*e._panStep],center:s.getCenter()},{originalEvent:t});}}}},Br.prototype.enable=function(){this._enabled=!0;},Br.prototype.disable=function(){this._enabled=!1,this.reset();},Br.prototype.isEnabled=function(){return this._enabled},Br.prototype.isActive=function(){return this._active},Br.prototype.disableRotation=function(){this._rotationDisabled=!0;},Br.prototype.enableRotation=function(){this._rotationDisabled=!1;};var Fr=4.000244140625,Ur=function(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this);};Ur.prototype.setZoomRate=function(t){this._defaultZoomRate=t;},Ur.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t;},Ur.prototype.isEnabled=function(){return !!this._enabled},Ur.prototype.isActive=function(){return !!this._active||void 0!==this._finishTimeout},Ur.prototype.isZooming=function(){return !!this._zooming},Ur.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around);},Ur.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},Ur.prototype.wheel=function(e){if(this.isEnabled()){if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault();}var i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,r=t.exported.now(),o=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Fr==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":o>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(o*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}},Ur.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t);},Ur.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var i=a.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}},Ur.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var i=this._map.transform;if(0!==this._delta){var r="wheel"===this._type&&Math.abs(this._delta)>Fr?this._wheelZoomRate:this._defaultZoomRate,o=2/(1+Math.exp(-Math.abs(this._delta*r)));this._delta<0&&0!==o&&(o=1/o);var a="number"==typeof this._targetZoom?i.zoomScale(this._targetZoom):i.scale;this._targetZoom=Math.min(i.maxZoom,Math.max(i.minZoom,i.scaleZoom(a*o))),"wheel"===this._type&&(this._startZoom=i.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}var n,s="number"==typeof this._targetZoom?this._targetZoom:i.zoom,l=this._startZoom,c=this._easing,h=!1;if("wheel"===this._type&&l&&c){var u=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),p=c(u);n=t.number(l,s,p),u<1?this._frameId||(this._frameId=!0):h=!0;}else n=s,h=!0;return this._active=!0,h&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!h,zoomDelta:n-i.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},Ur.prototype._smoothOutEasing=function(e){var i=t.ease;if(this._prevEase){var r=this._prevEase,o=(t.exported.now()-r.start)/r.duration,a=r.easing(o+.01)-r.easing(o),n=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=t.bezier(n,s,.25,1);}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i},Ur.prototype.reset=function(){this._active=!1;};var Nr=function(t,e){this._clickZoom=t,this._tapZoom=e;};Nr.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable();},Nr.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable();},Nr.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Nr.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Gr=function(){this.reset();};Gr.prototype.reset=function(){this._active=!1;},Gr.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}},Gr.prototype.enable=function(){this._enabled=!0;},Gr.prototype.disable=function(){this._enabled=!1,this.reset();},Gr.prototype.isEnabled=function(){return this._enabled},Gr.prototype.isActive=function(){return this._active};var jr=function(){this._tap=new yr({numTouches:1,numTaps:1}),this.reset();};jr.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();},jr.prototype.touchstart=function(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i));},jr.prototype.touchmove=function(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;var r=e[0],o=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:o/128}}}else this._tap.touchmove(t,e,i);},jr.prototype.touchend=function(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);},jr.prototype.touchcancel=function(){this.reset();},jr.prototype.enable=function(){this._enabled=!0;},jr.prototype.disable=function(){this._enabled=!1,this.reset();},jr.prototype.isEnabled=function(){return this._enabled},jr.prototype.isActive=function(){return this._active};var Zr=function(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;};Zr.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan");},Zr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan");},Zr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Zr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Vr=function(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;};Vr.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();},Vr.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable();},Vr.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Vr.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var qr=function(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0;};qr.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate");},qr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate");},qr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},qr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},qr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable();},qr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();};var Xr=function(t){return t.zoom||t.drag||t.pitch||t.rotate},Wr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function Hr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Kr=function(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new lr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll(["handleEvent","handleWindowEvent"],this);var r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(var o=0,n=this._listeners;o<n.length;o+=1){var s=n[o],l=s[0];a.addEventListener(l,s[1],l===document?this.handleWindowEvent:this.handleEvent,s[2]);}};Kr.prototype.destroy=function(){for(var t=0,e=this._listeners;t<e.length;t+=1){var i=e[t],r=i[0];a.removeEventListener(r,i[1],r===document?this.handleWindowEvent:this.handleEvent,i[2]);}},Kr.prototype._addDefaultHandlers=function(t){var e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new _r(e,t));var r=e.boxZoom=new mr(e,t);this._add("boxZoom",r);var o=new xr,a=new Gr;e.doubleClickZoom=new Nr(a,o),this._add("tapZoom",o),this._add("clickZoom",a);var n=new jr;this._add("tapDragZoom",n);var s=e.touchPitch=new Lr(e);this._add("touchPitch",s);var l=new Er(t),c=new Ir(t);e.dragRotate=new Vr(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);var h=new Tr(t),u=new Cr(t,e);e.dragPan=new Zr(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);var p=new Ar,d=new Pr;e.touchZoomRotate=new qr(i,d,p,n),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]);var _=e.scrollZoom=new Ur(e,this);this._add("scrollZoom",_,["mousePan"]);var f=e.keyboard=new Br;this._add("keyboard",f),this._add("blockableMapEvent",new fr(e));for(var m=0,g=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];m<g.length;m+=1){var v=g[m];t.interactive&&t[v]&&e[v].enable(t[v]);}},Kr.prototype._add=function(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;},Kr.prototype.stop=function(t){if(!this._updatingCamera){for(var e=0,i=this._handlers;e<i.length;e+=1)i[e].handler.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}},Kr.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return !0;return !1},Kr.prototype.isZooming=function(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},Kr.prototype.isRotating=function(){return !!this._eventsInProgress.rotate},Kr.prototype.isMoving=function(){return Boolean(Xr(this._eventsInProgress))||this.isZooming()},Kr.prototype._blockedByActive=function(t,e,i){for(var r in t)if(r!==i&&(!e||e.indexOf(r)<0))return !0;return !1},Kr.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+"Window");},Kr.prototype._getMapTouches=function(t){for(var e=[],i=0;i<t.length;i++)this._el.contains(t[i].target)&&e.push(t[i]);return e},Kr.prototype.handleEvent=function(t,e){if("blur"!==t.type){this._updatingCamera=!0;for(var i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},o={},n={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?a.touchPos(this._el,l):a.mousePos(this._el,t),h=0,u=this._handlers;h<u.length;h+=1){var p=u[h],d=p.handlerName,_=p.handler,f=p.allowed;if(_.isEnabled()){var m=void 0;this._blockedByActive(n,f,d)?_.reset():_[e||t.type]&&(m=_[e||t.type](t,c,l),this.mergeHandlerResult(r,o,m,d,i),m&&m.needsRenderFrame&&this._triggerRenderFrame()),(m||_.isActive())&&(n[d]=_);}}var g={};for(var v in this._previousActiveHandlers)n[v]||(g[v]=i);this._previousActiveHandlers=n,(Object.keys(g).length||Hr(r))&&(this._changes.push([r,o,g]),this._triggerRenderFrame()),(Object.keys(n).length||Hr(r))&&this._map._stop(!0),this._updatingCamera=!1;var y=r.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],y(this._map));}else this.stop(!0);},Kr.prototype.mergeHandlerResult=function(e,i,r,o,a){if(r){t.extend(e,r);var n={handlerName:o,originalEvent:r.originalEvent||a};void 0!==r.zoomDelta&&(i.zoom=n),void 0!==r.panDelta&&(i.drag=n),void 0!==r.pitchDelta&&(i.pitch=n),void 0!==r.bearingDelta&&(i.rotate=n);}},Kr.prototype._applyChanges=function(){for(var e={},i={},r={},o=0,a=this._changes;o<a.length;o+=1){var n=a[o],s=n[0],l=n[1],c=n[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(i,l),t.extend(r,c);}this._updateMapTransform(e,i,r),this._changes=[];},Kr.prototype._updateMapTransform=function(e,i,r){var o=this._map,a=o.transform,n=o.style&&o.style.terrain;if(!(Hr(e)||n&&this._drag))return this._fireEvents(i,r,!0);var s=e.panDelta,l=e.zoomDelta,c=e.bearingDelta,h=e.pitchDelta,u=e.around,p=e.pinchAround;void 0!==p&&(u=p),o._stop(!0),u=u||o.transform.centerPoint;var d=a.pointLocation(s?u.sub(s):u);c&&(a.bearing+=c),h&&(a.pitch+=h),l&&(a.zoom+=l),n?i.drag&&!this._drag?(this._drag={center:a.centerPoint,lngLat:a.pointLocation(u),point:u,handlerName:i.drag.handlerName},o.fire(new t.Event("freezeElevation",{freeze:!0}))):this._drag&&r[this._drag.handlerName]?(o.fire(new t.Event("freezeElevation",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(a.center=a.pointLocation(a.centerPoint.sub(s))):a.setLocationAtPoint(d,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,r,!0);},Kr.prototype._fireEvents=function(e,i,r){var o=this,a=Xr(this._eventsInProgress),n=Xr(e),s={};for(var l in e)this._eventsInProgress[l]||(s[l+"start"]=e[l].originalEvent),this._eventsInProgress[l]=e[l];for(var c in !a&&n&&this._fireEvent("movestart",n.originalEvent),s)this._fireEvent(c,s[c]);for(var h in n&&this._fireEvent("move",n.originalEvent),e)this._fireEvent(h,e[h].originalEvent);var u,p={};for(var d in this._eventsInProgress){var _=this._eventsInProgress[d],f=_.handlerName,m=_.originalEvent;this._handlersById[f].isActive()||(delete this._eventsInProgress[d],p[d+"end"]=u=i[f]||m);}for(var g in p)this._fireEvent(g,p[g]);var v=Xr(this._eventsInProgress);if(r&&(a||n)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-o._bearingSnap<t&&t<o._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:u})):(this._map.fire(new t.Event("moveend",{originalEvent:u})),x(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1;}},Kr.prototype._fireEvent=function(e,i){this._map.fire(new t.Event(e,i?{originalEvent:i}:{}));},Kr.prototype._requestFrame=function(){var t=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add((function(e){delete t._frameId,t.handleEvent(new Wr("renderFrame",{timeStamp:e})),t._applyChanges();}))},Kr.prototype._triggerRenderFrame=function(){void 0===this._frameId&&(this._frameId=this._requestFrame());};var Yr=function(e){function i(i,r){e.call(this),this._moving=!1,this._zooming=!1,this.transform=i,this._bearingSnap=r.bearingSnap,t.bindAll(["_renderFrameCallback"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},i.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},i.prototype.panBy=function(e,i,r){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)},i.prototype.panTo=function(e,i,r){return this.easeTo(t.extend({center:e},i),r)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},i.prototype.zoomTo=function(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)},i.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},i.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},i.prototype.getPadding=function(){return this.transform.padding},i.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},i.prototype.rotateTo=function(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)},i.prototype.resetNorth=function(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this},i.prototype.resetNorthPitch=function(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this},i.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},i.prototype.getPitch=function(){return this.transform.pitch},i.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},i.prototype.cameraForBounds=function(e,i){e=t.LngLatBounds.convert(e);var r=i&&i.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),r,i)},i.prototype._cameraForBoxAndBearing=function(e,i,r,o){var a={top:0,bottom:0,right:0,left:0};if("number"==typeof(o=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},o)).padding){var n=o.padding;o.padding={top:n,bottom:n,right:n,left:n};}o.padding=t.extend(a,o.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),h=s.project(t.LngLat.convert(i)),u=c.rotate(-r*Math.PI/180),p=h.rotate(-r*Math.PI/180),d=new t.pointGeometry(Math.max(u.x,p.x),Math.max(u.y,p.y)),_=new t.pointGeometry(Math.min(u.x,p.x),Math.min(u.y,p.y)),f=d.sub(_),m=(s.width-(l.left+l.right+o.padding.left+o.padding.right))/f.x,g=(s.height-(l.top+l.bottom+o.padding.top+o.padding.bottom))/f.y;if(!(g<0||m<0)){var v=Math.min(s.scaleZoom(s.scale*Math.min(m,g)),o.maxZoom),y=t.pointGeometry.convert(o.offset),x=new t.pointGeometry((o.padding.left-o.padding.right)/2,(o.padding.top-o.padding.bottom)/2).rotate(r*Math.PI/180),b=y.add(x).mult(s.scale/s.zoomScale(v));return {center:s.unproject(c.add(h).div(2).sub(b)),zoom:v,bearing:r}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.");},i.prototype.fitBounds=function(t,e,i){return this._fitInternal(this.cameraForBounds(t,e),e,i)},i.prototype.fitScreenCoordinates=function(e,i,r,o,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.pointGeometry.convert(e)),this.transform.pointLocation(t.pointGeometry.convert(i)),r,o),o,a)},i.prototype._fitInternal=function(e,i,r){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,r):this.flyTo(i,r)):this},i.prototype.jumpTo=function(e,i){this.stop();var r=this.transform,o=!1,a=!1,n=!1;return "zoom"in e&&r.zoom!==+e.zoom&&(o=!0,r.zoom=+e.zoom),void 0!==e.center&&(r.center=t.LngLat.convert(e.center)),"bearing"in e&&r.bearing!==+e.bearing&&(a=!0,r.bearing=+e.bearing),"pitch"in e&&r.pitch!==+e.pitch&&(n=!0,r.pitch=+e.pitch),null==e.padding||r.isPaddingEqual(e.padding)||(r.padding=e.padding),this.fire(new t.Event("movestart",i)).fire(new t.Event("move",i)),o&&this.fire(new t.Event("zoomstart",i)).fire(new t.Event("zoom",i)).fire(new t.Event("zoomend",i)),a&&this.fire(new t.Event("rotatestart",i)).fire(new t.Event("rotate",i)).fire(new t.Event("rotateend",i)),n&&this.fire(new t.Event("pitchstart",i)).fire(new t.Event("pitch",i)).fire(new t.Event("pitchend",i)),this.fire(new t.Event("moveend",i))},i.prototype.calculateCameraOptionsFromTo=function(e,i,r,o){void 0===o&&(o=0);var a=t.MercatorCoordinate.fromLngLat(e,i),n=t.MercatorCoordinate.fromLngLat(r,o),s=n.x-a.x,l=n.y-a.y,c=n.z-a.z,h=Math.hypot(s,l,c);if(0===h)throw new Error("Can't calculate camera options with same From and To");var u=Math.hypot(s,l),p=this.transform.scaleZoom(this.transform.cameraToCenterDistance/h/this.transform.tileSize),d=180*Math.atan2(s,-l)/Math.PI,_=180*Math.acos(u/h)/Math.PI;return _=c<0?90-_:90+_,{center:n.toLngLat(),zoom:p,pitch:_,bearing:d}},i.prototype.easeTo=function(e,i){var r=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.exported.prefersReducedMotion)&&(e.duration=0);var o=this.transform,a=this.getZoom(),n=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c="zoom"in e?+e.zoom:a,h="bearing"in e?this._normalizeBearing(e.bearing,n):n,u="pitch"in e?+e.pitch:s,p="padding"in e?e.padding:o.padding,d=t.pointGeometry.convert(e.offset),_=o.centerPoint.add(d),f=o.pointLocation(_),m=t.LngLat.convert(e.center||f);this._normalizeCenter(m);var g,v,y=o.project(f),x=o.project(m).sub(y),b=o.zoomScale(c-a);e.around&&(g=t.LngLat.convert(e.around),v=o.locationPoint(g));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||n!==h,this._pitching=this._pitching||u!==s,this._padding=!o.isPaddingEqual(p),this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,w),this._ease((function(e){if(r._zooming&&(o.zoom=t.number(a,c,e)),r._rotating&&(o.bearing=t.number(n,h,e)),r._pitching&&(o.pitch=t.number(s,u,e)),r._padding&&(o.interpolatePadding(l,p,e),_=o.centerPoint.add(d)),g)o.setLocationAtPoint(g,v);else {var f=o.zoomScale(o.zoom-a),m=c>a?Math.min(2,b):Math.max(.5,b),w=Math.pow(m,1-e),T=o.unproject(y.add(x.mult(e*w)).mult(f));o.setLocationAtPoint(o.renderWorldCopies?T.wrap():T,_);}r._fireMoveEvents(i);}),(function(t){r._afterEase(i,t);}),e),this},i.prototype._prepareEase=function(e,i,r){void 0===r&&(r={}),this._moving=!0,this.fire(new t.Event("freezeElevation",{freeze:!0})),i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e));},i.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e));},i.prototype._afterEase=function(e,i){if(!this._easeId||!i||this._easeId!==i){delete this._easeId,this.fire(new t.Event("freezeElevation",{freeze:!1}));var r=this._zooming,o=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),o&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e));}},i.prototype.flyTo=function(e,i){var r=this;if(!e.essential&&t.exported.prefersReducedMotion){var o=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(o,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,n=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),h="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):n,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,p="pitch"in e?+e.pitch:l,d="padding"in e?e.padding:a.padding,_=a.zoomScale(h-n),f=t.pointGeometry.convert(e.offset),m=a.centerPoint.add(f),g=a.pointLocation(m),v=t.LngLat.convert(e.center||g);this._normalizeCenter(v);var y=a.project(g),x=a.project(v).sub(y),b=e.curve,w=Math.max(a.width,a.height),T=w/_,E=x.mag();if("minZoom"in e){var I=t.clamp(Math.min(e.minZoom,n,h),a.minZoom,a.maxZoom),C=w/a.zoomScale(I-n);b=Math.sqrt(C/E*2);}var S=b*b;function D(t){var e=(T*T-w*w+(t?-1:1)*S*S*E*E)/(2*(t?T:w)*S*E);return Math.log(Math.sqrt(e*e+1)-e)}function z(t){return (Math.exp(t)-Math.exp(-t))/2}function P(t){return (Math.exp(t)+Math.exp(-t))/2}var M=D(0),A=function(t){return P(M)/P(M+b*t)},R=function(t){return w*((P(M)*(z(e=M+b*t)/P(e))-z(M))/S)/E;var e;},L=(D(1)-M)/b;if(Math.abs(E)<1e-6||!isFinite(L)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,i);var k=T<w?-1:1;L=Math.abs(Math.log(T/w))/b,R=function(){return 0},A=function(t){return Math.exp(k*b*t)};}return e.duration="duration"in e?+e.duration:1e3*L/("screenSpeed"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=p!==l,this._padding=!a.isPaddingEqual(d),this._prepareEase(i,!1),this._ease((function(e){var o=e*L,_=1/A(o);a.zoom=1===e?h:n+a.scaleZoom(_),r._rotating&&(a.bearing=t.number(s,u,e)),r._pitching&&(a.pitch=t.number(l,p,e)),r._padding&&(a.interpolatePadding(c,d,e),m=a.centerPoint.add(f));var g=1===e?v:a.unproject(y.add(x.mult(R(o))).mult(_));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,m),r._fireMoveEvents(i);}),(function(){return r._afterEase(i)}),e),this},i.prototype.isEasing=function(){return !!this._easeFrameId},i.prototype.stop=function(){return this._stop()},i.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var i=this._onEaseEnd;delete this._onEaseEnd,i.call(this,e);}if(!t){var r=this.handlers;r&&r.stop(!1);}return this},i.prototype._ease=function(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));},i.prototype._renderFrameCallback=function(){var e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},i.prototype._normalizeBearing=function(e,i){e=t.wrap(e,-180,180);var r=Math.abs(e-i);return Math.abs(e-360-i)<r&&(e-=360),Math.abs(e+360-i)<r&&(e+=360),e},i.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var i=t.lng-e.center.lng;t.lng+=i>180?-360:i<-180?360:0;}},i}(t.Evented),Jr=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateData","_updateCompact","_updateCompactMinimize"],this);};Jr.prototype.getDefaultPosition=function(){return "bottom-right"},Jr.prototype.onAdd=function(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.create("div","maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container},Jr.prototype.onRemove=function(){a.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;},Jr.prototype._setElementTitle=function(t,e){var i=this._map._getUIString("AttributionControl."+e);t.title=i,t.setAttribute("aria-label",i);},Jr.prototype._toggleAttribution=function(){this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")):(this._container.classList.add("maplibregl-compact-show","mapboxgl-compact-show"),this._container.removeAttribute("open")));},Jr.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions();},Jr.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return "string"!=typeof t?"":t}))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id;}var i=this._map.style.sourceCaches;for(var r in i){var o=i[r];if(o.used||o.usedForTerrain){var a=o.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution);}}(t=t.filter((function(t){return String(t).trim()}))).sort((function(t,e){return t.length-e.length}));var n=(t=t.filter((function(e,i){for(var r=i+1;r<t.length;r++)if(t[r].indexOf(e)>=0)return !1;return !0}))).join(" | ");n!==this._attribHTML&&(this._attribHTML=n,t.length?(this._innerContainer.innerHTML=n,this._container.classList.remove("maplibregl-attrib-empty","mapboxgl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty","mapboxgl-attrib-empty"),this._updateCompact(),this._editLink=null);}},Jr.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","mapboxgl-compact","maplibregl-compact-show","mapboxgl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show","mapboxgl-compact","mapboxgl-compact-show"));},Jr.prototype._updateCompactMinimize=function(){this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show");};var Qr=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateCompact"],this);};Qr.prototype.getDefaultPosition=function(){return "bottom-left"},Qr.prototype.onAdd=function(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl mapboxgl-ctrl");var e=a.create("a","maplibregl-ctrl-logo mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Qr.prototype.onRemove=function(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0;},Qr.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact","mapboxgl-compact"):e.classList.remove("maplibregl-compact","mapboxgl-compact");}};var $r=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;};$r.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},$r.prototype.remove=function(t){for(var e=this._currentlyRunning,i=0,r=e?this._queue.concat(e):this._queue;i<r.length;i+=1){var o=r[i];if(o.id===t)return void(o.cancelled=!0)}},$r.prototype.run=function(t){if(void 0===t&&(t=0),this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");var e=this._currentlyRunning=this._queue;this._queue=[];for(var i=0,r=e;i<r.length;i+=1){var o=r[i];if(!o.cancelled&&(o.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1;},$r.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];};var to={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"},eo={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},io=function(i){function r(e){var r,o=this;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},eo,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");var a=new tr(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(i.call(this,a,{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new $r,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},to,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(r=e.pixelRatio)&&void 0!==r?r:devicePixelRatio,this._requestManager=new n(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else {if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return o._update(!1)})),this.on("moveend",(function(){return o._update(!1)})),this.on("zoom",(function(){return o._update(!0)})),this.on("terrain",(function(){o.painter.terrainFacilitator.dirty=!0,o._update(!0);})),"undefined"!=typeof window&&(addEventListener("online",this._onWindowOnline,!1),addEventListener("resize",this._onWindowResize,!1),addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Kr(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new ir("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Jr({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new Qr,e.logoPosition),this.on("style.load",(function(){o.transform.unmodified&&o.jumpTo(o.style.stylesheet);})),this.on("data",(function(e){o._update("style"===e.dataType),o.fire(new t.Event(e.dataType+"data",e));})),this.on("dataloading",(function(e){o.fire(new t.Event(e.dataType+"dataloading",e));})),this.on("dataabort",(function(e){o.fire(new t.Event("sourcedataabort",e));}));}i&&(r.__proto__=i),(r.prototype=Object.create(i&&i.prototype)).constructor=r;var o={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var r=e.onAdd(this);this._controls.push(e);var o=this._controlPositions[i];return -1!==i.indexOf("bottom")?o.insertBefore(r,o.firstChild):o.appendChild(r),this},r.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this},r.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},r.prototype.calculateCameraOptionsFromTo=function(t,e,r,o){return null==o&&this.style.terrain&&(o=this.transform.getElevation(r,this.style.terrain)),i.prototype.calculateCameraOptionsFromTo.call(this,t,e,r,o)},r.prototype.resize=function(e){var i=this._containerDimensions(),r=i[0],o=i[1];this._resizeCanvas(r,o,this.getPixelRatio()),this.transform.resize(r,o),this.painter.resize(r,o,this.getPixelRatio());var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},r.prototype.getPixelRatio=function(){return this._pixelRatio},r.prototype.setPixelRatio=function(t){var e=this._containerDimensions(),i=e[0],r=e[1];this._pixelRatio=t,this._resizeCanvas(i,r,t),this.painter.resize(i,r,t);},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},r.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},r.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)},r.prototype.unproject=function(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(t,e,i){var r,o=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return {layer:e,listener:i,delegates:{mousemove:function(r){var n=o.getLayer(e)?o.queryRenderedFeatures(r.point,{layers:[e]}):[];n.length?a||(a=!0,i.call(o,new ur(t,o,r.originalEvent,{features:n}))):a=!1;},mouseout:function(){a=!1;}}}}if("mouseleave"===t||"mouseout"===t){var n=!1;return {layer:e,listener:i,delegates:{mousemove:function(r){(o.getLayer(e)?o.queryRenderedFeatures(r.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,i.call(o,new ur(t,o,r.originalEvent)));},mouseout:function(e){n&&(n=!1,i.call(o,new ur(t,o,e.originalEvent)));}}}}return {layer:e,listener:i,delegates:(r={},r[t]=function(t){var r=o.getLayer(e)?o.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(o,t),delete t.features);},r)}},r.prototype.on=function(t,e,r){if(void 0===r)return i.prototype.on.call(this,t,e);var o=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o),o.delegates)this.on(a,o.delegates[a]);return this},r.prototype.once=function(t,e,r){if(void 0===r)return i.prototype.once.call(this,t,e);var o=this._createDelegatedListener(t,e,r);for(var a in o.delegates)this.once(a,o.delegates[a]);return this},r.prototype.off=function(t,e,r){var o=this;return void 0===r?i.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(i){for(var a=i[t],n=0;n<a.length;n++){var s=a[n];if(s.layer===e&&s.listener===r){for(var l in s.delegates)o.off(l,s.delegates[l]);return a.splice(n,1),o}}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(e,i){if(!this.style)return [];var r;if(void 0!==i||void 0===e||e instanceof t.pointGeometry||Array.isArray(e)||(i=e,e=void 0),i=i||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.pointGeometry||"number"==typeof e[0])r=[t.pointGeometry.convert(e)];else {var o=t.pointGeometry.convert(e[0]),a=t.pointGeometry.convert(e[1]);r=[o,new t.pointGeometry(a.x,o.y),a,new t.pointGeometry(o.x,a.y),o];}return this.style.queryRenderedFeatures(r,i,this.transform)},r.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},r.prototype.setStyle=function(e,i){return !1!==(i=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(e,i))},r.prototype.setTransformRequest=function(t){return this._requestManager.setTransformRequest(t),this},r.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error("Missing UI string '"+t+"'");return e},r.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new ie(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new ie(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());},r.prototype._diffStyle=function(e,i){var r=this;if("string"==typeof e){var o=this._requestManager.transformRequest(e,t.ResourceType.Style);t.getJSON(o,(function(e,o){e?r.fire(new t.ErrorEvent(e)):o&&r._updateDiff(o,i);}));}else "object"==typeof e&&this._updateDiff(e,i);},r.prototype._updateDiff=function(e,i){try{this.style.setState(e)&&this._update(!0);}catch(r){t.warnOnce("Unable to perform style diff: "+(r.message||r.error||r)+". Rebuilding the style from scratch."),this._updateStyle(e,i);}},r.prototype.getStyle=function(){if(this.style)return this.style.serialize()},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},r.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},r.prototype.isSourceLoaded=function(e){var i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")));},r.prototype.setTerrain=function(t){return this.style.setTerrain(t),this},r.prototype.getTerrain=function(){return this.style.terrain&&this.style.terrain.options},r.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var i=t[e]._tiles;for(var r in i){var o=i[r];if("loaded"!==o.state&&"errored"!==o.state)return !1}}return !0},r.prototype.addSourceType=function(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)},r.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},r.prototype.getSource=function(t){return this.style.getSource(t)},r.prototype.addImage=function(e,i,r){void 0===r&&(r={});var o=r.pixelRatio;void 0===o&&(o=1);var a=r.sdf;void 0===a&&(a=!1);var n=r.stretchX,s=r.stretchY,l=r.content;if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){var c=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:o,stretchX:n,stretchY:s,content:l,sdf:a,version:0});}else {if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var h=i;this.style.addImage(e,{data:new t.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:o,stretchX:n,stretchY:s,content:l,sdf:a,version:0,userImage:h}),h.onAdd&&h.onAdd(this,e);}},r.prototype.updateImage=function(e,i){var r=this.style.getImage(e);if(!r)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var o=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,a=o.width,n=o.height,s=o.data;if(void 0===a||void 0===n)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(a!==r.data.width||n!==r.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));var l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));r.data.replace(s,l),this.style.updateImage(e,r);},r.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},r.prototype.removeImage=function(t){this.style.removeImage(t);},r.prototype.loadImage=function(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},r.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},r.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},r.prototype.getLayer=function(t){return this.style.getLayer(t)},r.prototype.setLayerZoomRange=function(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)},r.prototype.setFilter=function(t,e,i){return void 0===i&&(i={}),this.style.setFilter(t,e,i),this._update(!0)},r.prototype.getFilter=function(t){return this.style.getFilter(t)},r.prototype.setPaintProperty=function(t,e,i,r){return void 0===r&&(r={}),this.style.setPaintProperty(t,e,i,r),this._update(!0)},r.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},r.prototype.setLayoutProperty=function(t,e,i,r){return void 0===r&&(r={}),this.style.setLayoutProperty(t,e,i,r),this._update(!0)},r.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},r.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},r.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},r.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},r.prototype._setupContainer=function(){var t=this._container;t.classList.add("maplibregl-map","mapboxgl-map");var e=this._canvasContainer=a.create("div","maplibregl-canvas-container mapboxgl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive","mapboxgl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");var i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());var r=this._controlContainer=a.create("div","maplibregl-control-container mapboxgl-control-container",t),o=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((function(t){o[t]=a.create("div","maplibregl-ctrl-"+t+" mapboxgl-ctrl-"+t,r);})),this._container.addEventListener("scroll",this._onMapScroll,!1);},r.prototype._setupCooperativeGestures=function(){var t=this,e=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=a.create("div","maplibregl-cooperative-gesture-screen",e);var i="Control",r="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(r="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use ⌘ + scroll to zoom the map",i="Meta"),this._cooperativeGesturesScreen.innerHTML='\n <div class="maplibregl-desktop-message">'+r+'</div>\n <div class="maplibregl-mobile-message">'+("boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map")+"</div>\n ",document.addEventListener("keydown",(function(e){e.key===i&&(t._metaPress=!0);})),document.addEventListener("keyup",(function(e){e.key===i&&(t._metaPress=!1);})),this._canvasContainer.addEventListener("wheel",(function(e){t._onCooperativeGesture(e,t._metaPress,1);}),!1),this._canvasContainer.classList.remove("mapboxgl-touch-drag-pan","maplibregl-touch-drag-pan");},r.prototype._resizeCanvas=function(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px";},r.prototype._setupPainter=function(){var i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);r?(this.painter=new Yi(r,this.transform),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")));},r.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}));},r.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}));},r.prototype._onMapScroll=function(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},r.prototype._onCooperativeGesture=function(t,e,i){var r=this;return !e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((function(){r._cooperativeGesturesScreen.classList.remove("maplibregl-show");}),100)),!1},r.prototype.loaded=function(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},r.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},r.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t);},r.prototype._render=function(e){var i,r=this,o=0,a=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),o=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.exported.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),h=c.crossFadingFactor();1===h&&h===this._crossFadingFactor||(n=!0,this._crossFadingFactor=h),this.style.update(c);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){var u=t.exported.now()-o;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((function(){var e=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),r.fire(new t.Event("gpu-timing-frame",{cpuTime:u,gpuTime:e}));}),50);}if(this.listens("gpu-timing-layer")){var p=this.painter.collectGpuTimers();setTimeout((function(){var e=r.painter.queryGpuTimers(p);r.fire(new t.Event("gpu-timing-layer",{layerTimes:e}));}),50);}var d=this._sourcesDirty||this._styleDirty||this._placementDirty;return d||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),!this._loaded||this._fullyLoaded||d||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}},r.prototype.redraw=function(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this},r.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,i=this._controls;e<i.length;e+=1)i[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&(removeEventListener("resize",this._onWindowResize,!1),removeEventListener("orientationchange",this._onWindowResize,!1),removeEventListener("online",this._onWindowOnline,!1));var r=this.painter.context.gl.getExtension("WEBGL_lose_context");r&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.remove(this._controlContainer),this._cooperativeGestures&&a.remove(this._cooperativeGesturesScreen),this._container.classList.remove("maplibregl-map","mapboxgl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"));},r.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.exported.frame((function(i){t.PerformanceUtils.frame(i),e._frame=null,e._render(i);})));},r.prototype._onWindowOnline=function(){this._update();},r.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update();},o.showTileBoundaries.get=function(){return !!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());},o.showPadding.get=function(){return !!this._showPadding},o.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update());},o.showCollisionBoxes.get=function(){return !!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());},o.showOverdrawInspector.get=function(){return !!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());},o.repaint.get=function(){return !!this._repaint},o.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());},o.vertices.get=function(){return !!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update();},r.prototype._setCacheLimits=function(e,i){t.setCacheLimits(e,i);},o.version.get=function(){return "2.4.0"},Object.defineProperties(r.prototype,o),r}(Yr),ro={showCompass:!0,showZoom:!0,visualizePitch:!1},oo=function(e){var i=this;this.options=t.extend({},ro,e),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in",(function(t){return i._map.zoomIn({},{originalEvent:t})})),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out",(function(t){return i._map.zoomOut({},{originalEvent:t})})),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("maplibregl-ctrl-compass mapboxgl-ctrl-compass",(function(t){i.options.visualizePitch?i._map.resetNorthPitch({},{originalEvent:t}):i._map.resetNorth({},{originalEvent:t});})),this._compassIcon=a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"));};oo.prototype._updateZoomButtons=function(){var t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",i.toString());},oo.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=t;},oo.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new ao(this._map,this._compass,this.options.visualizePitch)),this._container},oo.prototype.onRemove=function(){a.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;},oo.prototype._createButton=function(t,e){var i=a.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i},oo.prototype._setButtonTitle=function(t,e){var i=this._map._getUIString("NavigationControl."+e);t.title=i,t.setAttribute("aria-label",i);};var ao=function(e,i,r){void 0===r&&(r=!1),this._clickTolerance=10,this.element=i,this.mouseRotate=new Er({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ir({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),a.addEventListener(i,"mousedown",this.mousedown),a.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(i,"touchmove",this.touchmove),a.addEventListener(i,"touchend",this.touchend),a.addEventListener(i,"touchcancel",this.reset);};function no(e,i,r){if(e=new t.LngLat(e.lng,e.lat),i){var o=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),n=r.locationPoint(e).distSqr(i);r.locationPoint(o).distSqr(i)<n?e=o:r.locationPoint(a).distSqr(i)<n&&(e=a);}for(;Math.abs(e.lng-r.center.lng)>180;){var s=r.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360;}return e}ao.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),a.disableDrag();},ao.prototype.move=function(t,e){var i=this.map,r=this.mouseRotate.mousemoveWindow(t,e);if(r&&r.bearingDelta&&i.setBearing(i.getBearing()+r.bearingDelta),this.mousePitch){var o=this.mousePitch.mousemoveWindow(t,e);o&&o.pitchDelta&&i.setPitch(i.getPitch()+o.pitchDelta);}},ao.prototype.off=function(){var t=this.element;a.removeEventListener(t,"mousedown",this.mousedown),a.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(t,"touchmove",this.touchmove),a.removeEventListener(t,"touchend",this.touchend),a.removeEventListener(t,"touchcancel",this.reset),this.offTemp();},ao.prototype.offTemp=function(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup);},ao.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),a.mousePos(this.element,e)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup);},ao.prototype.mousemove=function(t){this.move(t,a.mousePos(this.element,t));},ao.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();},ao.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos));},ao.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos));},ao.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset();},ao.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();};var so={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function lo(t,e,i){var r=t.classList;for(var o in so)r.remove("maplibregl-"+i+"-anchor-"+o,"mapboxgl-"+i+"-anchor-"+o);r.add("maplibregl-"+i+"-anchor-"+e,"mapboxgl-"+i+"-anchor-"+e);}var co,ho=function(e){function i(i,r){if(e.call(this),(i instanceof HTMLElement||r)&&(i=t.extend({element:i},r)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=i&&i.anchor||"center",this._color=i&&i.color||"#3FB1CE",this._scale=i&&i.scale||1,this._draggable=i&&i.draggable||!1,this._clickTolerance=i&&i.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=i&&i.rotation||0,this._rotationAlignment=i&&i.rotationAlignment||"auto",this._pitchAlignment=i&&i.pitchAlignment&&"auto"!==i.pitchAlignment?i.pitchAlignment:this._rotationAlignment,i&&i.element)this._element=i.element,this._offset=t.pointGeometry.convert(i&&i.offset||[0,0]);else {this._defaultMarker=!0,this._element=a.create("div"),this._element.setAttribute("aria-label","Map marker");var o=a.createNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"display","block"),o.setAttributeNS(null,"height","41px"),o.setAttributeNS(null,"width","27px"),o.setAttributeNS(null,"viewBox","0 0 27 41");var n=a.createNS("http://www.w3.org/2000/svg","g");n.setAttributeNS(null,"stroke","none"),n.setAttributeNS(null,"stroke-width","1"),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"fill-rule","evenodd");var s=a.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");var l=a.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");for(var c=0,h=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];c<h.length;c+=1){var u=h[c],p=a.createNS("http://www.w3.org/2000/svg","ellipse");p.setAttributeNS(null,"opacity","0.04"),p.setAttributeNS(null,"cx","10.5"),p.setAttributeNS(null,"cy","5.80029008"),p.setAttributeNS(null,"rx",u.rx),p.setAttributeNS(null,"ry",u.ry),l.appendChild(p);}var d=a.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"fill",this._color);var _=a.createNS("http://www.w3.org/2000/svg","path");_.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),d.appendChild(_);var f=a.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"opacity","0.25"),f.setAttributeNS(null,"fill","#000000");var m=a.createNS("http://www.w3.org/2000/svg","path");m.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),f.appendChild(m);var g=a.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"transform","translate(6.0, 7.0)"),g.setAttributeNS(null,"fill","#FFFFFF");var v=a.createNS("http://www.w3.org/2000/svg","g");v.setAttributeNS(null,"transform","translate(8.0, 8.0)");var y=a.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#000000"),y.setAttributeNS(null,"opacity","0.25"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962");var x=a.createNS("http://www.w3.org/2000/svg","circle");x.setAttributeNS(null,"fill","#FFFFFF"),x.setAttributeNS(null,"cx","5.5"),x.setAttributeNS(null,"cy","5.5"),x.setAttributeNS(null,"r","5.4999962"),v.appendChild(y),v.appendChild(x),s.appendChild(l),s.appendChild(d),s.appendChild(f),s.appendChild(g),s.appendChild(v),o.appendChild(s),o.setAttributeNS(null,"height",41*this._scale+"px"),o.setAttributeNS(null,"width",27*this._scale+"px"),this._element.appendChild(o),this._offset=t.pointGeometry.convert(i&&i.offset||[0,-14]);}this._element.classList.add("maplibregl-marker","mapboxgl-marker"),this._element.addEventListener("dragstart",(function(t){t.preventDefault();})),this._element.addEventListener("mousedown",(function(t){t.preventDefault();})),lo(this._element,this._anchor,"marker"),this._popup=null;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},i.prototype.remove=function(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),a.remove(this._element),this._popup&&this._popup.remove(),this},i.prototype.getLngLat=function(){return this._lngLat},i.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},i.prototype.getElement=function(){return this._element},i.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress);}return this},i.prototype._onKeyPress=function(t){var e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup();},i.prototype._onMapClick=function(t){var e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},i.prototype.getPopup=function(){return this._popup},i.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},i.prototype._update=function(t){var e=this;if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=no(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var i="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?i="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(i="rotateZ("+(this._rotation-this._map.getBearing())+"deg)");var r="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r="rotateX("+this._map.getPitch()+"deg)"),t&&"moveend"!==t.type||(this._pos=this._pos.round()),a.setTransform(this._element,so[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+r+" "+i),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((function(){var t=e._map.unproject(e._pos),i=40075016.686*Math.abs(Math.cos(e._lngLat.lat*Math.PI/180))/Math.pow(2,e._map.transform.tileZoom+8);e._element.style.opacity=t.distanceTo(e._lngLat)>20*i?"0.2":"1.0",e._opacityTimeout=null;}),100));}},i.prototype.getOffset=function(){return this._offset},i.prototype.setOffset=function(e){return this._offset=t.pointGeometry.convert(e),this._update(),this},i.prototype._onMove=function(e){if(!this._isDragging){var i=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=i;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")));},i.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive";},i.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp));},i.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},i.prototype.isDraggable=function(){return this._draggable},i.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},i.prototype.getRotation=function(){return this._rotation},i.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},i.prototype.getRotationAlignment=function(){return this._rotationAlignment},i.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},i.prototype.getPitchAlignment=function(){return this._pitchAlignment},i}(t.Evented),uo={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},po=0,_o=!1,fo=function(e){function i(i){e.call(this),this.options=t.extend({},uo,i),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.onAdd=function(t){var e;return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),e=this._setupUI,void 0!==co?e(co):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((function(t){e(co="denied"!==t.state);})):(co=!!window.navigator.geolocation,e(co)),this._container},i.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,po=0,_o=!1;},i.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitude<e.getWest()||i.longitude>e.getEast()||i.latitude<e.getSouth()||i.latitude>e.getNorth())},i.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error("Unexpected watchState "+this._watchState)}},i.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background");break;default:throw new Error("Unexpected watchState "+this._watchState)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish();}},i.prototype._updateCamera=function(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,o=this._map.getBearing(),a=t.extend({bearing:o},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),a,{geolocateSource:!0});},i.prototype._updateMarker=function(e){if(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},i.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),r=e.distanceTo(i),o=Math.ceil(2*this._accuracy/r);this._circleElement.style.width=o+"px",this._circleElement.style.height=o+"px";},i.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},i.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&_o)return;this._setErrorState();}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish();}},i.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},i.prototype._setupUI=function(e){var i=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r);}else {var o=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=o,this._geolocateButton.setAttribute("aria-label",o);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","maplibregl-user-location-dot mapboxgl-user-location-dot"),this._userLocationDotMarker=new ho(this._dotElement),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ho({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){e.geolocateSource||"ACTIVE_LOCK"!==i._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(i._watchState="BACKGROUND",i._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),i._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),i.fire(new t.Event("trackuserlocationend")));}));},i.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":po--,_o=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"));break;default:throw new Error("Unexpected watchState "+this._watchState)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error("Unexpected watchState "+this._watchState)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++po>1?(e={maximumAge:6e5,timeout:0},_o=!0):(e=this.options.positionOptions,_o=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0},i.prototype._clearWatch=function(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null);},i}(t.Evented),mo={maxWidth:100,unit:"metric"},go=function(e){this.options=t.extend({},mo,e),t.bindAll(["_onMove","setUnit"],this);};function vo(t,e,i){var r=i&&i.maxWidth||100,o=t._container.clientHeight/2,a=t.unproject([0,o]),n=t.unproject([r,o]),s=a.distanceTo(n);if(i&&"imperial"===i.unit){var l=3.2808*s;l>5280?yo(e,r,l/5280,t._getUIString("ScaleControl.Miles")):yo(e,r,l,t._getUIString("ScaleControl.Feet"));}else i&&"nautical"===i.unit?yo(e,r,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?yo(e,r,s/1e3,t._getUIString("ScaleControl.Kilometers")):yo(e,r,s,t._getUIString("ScaleControl.Meters"));}function yo(t,e,i,r){var o,a,n,s=(o=i,(a=Math.pow(10,(""+Math.floor(o)).length-1))*(n=(n=o/a)>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(n)));t.style.width=e*(s/i)+"px",t.innerHTML=s+" "+r;}go.prototype.getDefaultPosition=function(){return "bottom-left"},go.prototype._onMove=function(){vo(this._map,this._container,this.options);},go.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},go.prototype.onRemove=function(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0;},go.prototype.setUnit=function(t){this.options.unit=t,vo(this._map,this._container,this.options);};var xo=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange");};xo.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},xo.prototype.onRemove=function(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon);},xo.prototype._checkFullscreenSupport=function(){return !!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)},xo.prototype._setupUI=function(){var t=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen",this._controlContainer);a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon);},xo.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t;},xo.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},xo.prototype._isFullscreen=function(){return this._fullscreen},xo.prototype._changeIcon=function(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle());},xo.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();};var bo=function(e){this.options=e,t.bindAll(["_toggleTerrain","_updateTerrainIcon"],this);};bo.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain mapboxgl-ctrl-terrain",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container},bo.prototype.onRemove=function(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0;},bo.prototype._toggleTerrain=function(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();},bo.prototype._updateTerrainIcon=function(){this._terrainButton.classList.remove("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._map.style.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"));};var wo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},To=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),Eo=function(e){function i(i){e.call(this),this.options=t.extend(Object.create(wo),i),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},i.prototype.isOpen=function(){return !!this._map},i.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},i.prototype.getLngLat=function(){return this._lngLat},i.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer","mapboxgl-track-pointer")),this},i.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")),this},i.prototype.getElement=function(){return this._container},i.prototype.setText=function(t){return this.setDOMContent(document.createTextNode(t))},i.prototype.setHTML=function(t){var e,i=document.createDocumentFragment(),r=document.createElement("body");for(r.innerHTML=t;e=r.firstChild;)i.appendChild(e);return this.setDOMContent(i)},i.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},i.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},i.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=a.create("div","maplibregl-popup-content mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},i.prototype.addClassName=function(t){this._container&&this._container.classList.add(t);},i.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t);},i.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},i.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},i.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=a.create("button","maplibregl-popup-close-button mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose));},i.prototype._onMouseUp=function(t){this._update(t.point);},i.prototype._onMouseMove=function(t){this._update(t.point);},i.prototype._onDrag=function(t){this._update(t.point);},i.prototype._update=function(t){var e=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=a.create("div","maplibregl-popup mapboxgl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=no(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),r=this.options.anchor,o=Io(this.options.offset);if(!r){var n,s=this._container.offsetWidth,l=this._container.offsetHeight;n=i.y+o.bottom.y<l?["top"]:i.y>this._map.transform.height-l?["bottom"]:[],i.x<s/2?n.push("left"):i.x>this._map.transform.width-s/2&&n.push("right"),r=0===n.length?"bottom":n.join("-");}var c=i.add(o[r]).round();a.setTransform(this._container,so[r]+" translate("+c.x+"px,"+c.y+"px)"),lo(this._container,r,"popup");}},i.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(To);t&&t.focus();}},i.prototype._onClose=function(){this.remove();},i}(t.Evented);function Io(e){if(e){if("number"==typeof e){var i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return {center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),"top-left":new t.pointGeometry(i,i),"top-right":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),"bottom-left":new t.pointGeometry(i,-i),"bottom-right":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){var r=t.pointGeometry.convert(e);return {center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return {center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),"top-left":t.pointGeometry.convert(e["top-left"]||[0,0]),"top-right":t.pointGeometry.convert(e["top-right"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),"bottom-left":t.pointGeometry.convert(e["bottom-left"]||[0,0]),"bottom-right":t.pointGeometry.convert(e["bottom-right"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return Io(new t.pointGeometry(0,0))}var Co={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:io,NavigationControl:oo,GeolocateControl:fo,AttributionControl:Jr,LogoControl:Qr,ScaleControl:go,FullscreenControl:xo,TerrainControl:bo,Popup:Eo,Marker:ho,Style:ie,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:A,GeoJSONSource:D,ImageSource:P,RasterDEMTileSource:S,RasterTileSource:C,VectorTileSource:I,VideoSource:M,prewarm:function(){W().acquire(Z);},clearPrewarmedResources:function(){var t=q;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Z),q=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"));},get version(){return "2.4.0"},get workerCount(){return V.workerCount},set workerCount(t){V.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage:function(e){t.clearTileCache(e);},workerUrl:"",addProtocol:function(e,i){t.config.REGISTERED_PROTOCOLS[e]=i;},removeProtocol:function(e){delete t.config.REGISTERED_PROTOCOLS[e];}};return function(e){for(var i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];t.extend.apply(void 0,[e].concat(i));}(Co,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),Co}));
|
|
37
|
+
|
|
38
|
+
//
|
|
39
|
+
|
|
40
|
+
var maplibregl$1 = maplibregl;
|
|
41
|
+
|
|
42
|
+
return maplibregl$1;
|
|
43
|
+
|
|
44
|
+
}));
|
|
45
|
+
//# sourceMappingURL=maplibre-gl-compat.js.map
|