@vtx/map 1.1.48 → 1.1.49

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_unionBy","_default2","_antd","obj","__esModule","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","iter","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","_typeof","String","input","hint","prim","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","Set","Immutable","window","location","protocol","BMAP_PROTOCOL","BMap_loadScriptTime","Date","getTime","gisMapConstant","circle","star","square","rhombus","waterdrop","tiny","smaller","small","normal","big","bigger","huge","BaiduMap","_React$Component","_super","_this","GM","graphicManage","getPolygonArea","initPointIndex","_cluster","_rangingTool","_bmar","_drawmanager","editGraphicChange","editTimeout","_boundary","moveToTimer","heatmap","morepoints","movePoints","popupWindow","state","gis","mapId","mapCreated","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","rectangle","frameSelectProps","loadMapJs","loadPlugin","loadList","BMapLib","DistanceTool","Promise","resolve","reject","$","getScript","concat","configUrl","mapServerURL","TrafficControl","MarkerClusterer","AreaRestriction","DrawingManager","HeatmapOverlay","GeoUtils","TextIconOverlay","InfoBox","all","then","BMap","_this2","loadMapComplete","attr","rel","type","href","appendTo","init","createMap","_this$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","mapVisiblePoints","mapCluster","mapZoomLevel","isOpenTrafficInfo","mapPointCollection","areaRestriction","coverageType","_this$props2","boundaryName","heatMapData","infoWindowData","customizedBoundary","_this$state","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","addBaiduBoundary","heatMapOverlay","infoWindow","addPointCollection","setVisiblePoints","cluster","openTrafficInfo","hideTrafficInfo","setAreaRestriction","showControl","clickMap","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","setState","_t$props","mapCenter","mapStyle","minZoom","maxZoom","options","zoom","center","VtxMap","AnchorConstant","tr","BMAP_ANCHOR_TOP_RIGHT","tl","BMAP_ANCHOR_TOP_LEFT","bl","BMAP_ANCHOR_BOTTOM_LEFT","br","BMAP_ANCHOR_BOTTOM_RIGHT","NavigationConstant","large","BMAP_NAVIGATION_CONTROL_LARGE","BMAP_NAVIGATION_CONTROL_SMALL","pan","BMAP_NAVIGATION_CONTROL_PAN","BMAP_NAVIGATION_CONTROL_ZOOM","map","Map","enableMapClick","setMapStyle","style","styleJson","setTimeout","parent","children","css","centerAndZoom","Point","parseFloat","satelliteSwitch","showMapTypeControl","_trafficCtrl","showPanel","addControl","document","getElementById","remove","removeNode","enableScrollWheelZoom","Boundary","addEventListener","_t$frameSelectProps$b","label","removeOverlay","drawExtData","extData","id","backobj","attributes","geometryType","mapLayer","overlay","geometry","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","_t$dealData","dealData","lnglatAry","_extent","path","x","getPosition","lng","y","lat","distance","calculate","paths","area","rings","getCenter","radius","getRadius","setGraphicParam","close","drawEnd","callback","Function","initPropsForUser","BMAP_NORMAL_MAP","BMAP_HYBRID_MAP","imageAry","item","index","sw","ne","url","opacity","console","warn","swp","nep","option","displayOnMinLevel","displayOnMaxLevel","imageURL","swnep","Bounds","GroundOverlay","addOverlay","_this3","psids","isRepetition","longitude","latitude","cg","width","height","labelContent","labelPixelX","labelPixelY","BAnimationType","markerContentX","markerContentY","deg","markerContent","config","position","marker","markerOption","offset","Size","icon","Icon","setImageSize","Marker","markerLOption","markerL","Label","setStyle","backgroundColor","border","setLabel","setRotation","canShowLabel","labelClass","split","join","markerLabel","zIndex","setZIndex","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","other","updatePoint","_this4","gc","getGraphic","setOffset","setIcon","getLabel","setContent","getIcon","size","labelOffset","isAnimation","moveTo","animationDelay","autoRotation","urlleft","setPosition","moveAnimation","lsids","color","pellucidity","lineWidth","lineType","isHidden","linePath","lineOption","strokeColor","strokeWeight","strokeOpacity","strokeStyle","line","Polyline","hide","show","updateLine","setPath","setStrokeColor","setStrokeOpacity","setStrokeWeight","setStrokeStyle","pgsids","lineColor","lineOpacity","polygonOption","fillColor","fillOpacity","polygonPath","Polygon","updatePolygon","setFillColor","setFillOpacity","ccsids","circleOption","centerPoint","Circle","updateCircle","setCenter","setRadius","bdNames","get","ary","boundaries","Math","random","removeBaiduBoundary","removedBDNames","removedBDIds","indexOf","removeGraphic","d","max","visible","eval","gradient","setDataSet","data","setOptions","sContent","createElement","infowindow","InfoWindow","setWidth","setHeight","onClose","content","render","openInfoWindow","closeInfoWindow","points","shape","VotexpointCollection","PointCollection","clickPointCollection","updatePointCollection","ds","setPoints","setStyles","clearPointCollection","ids","ind","clear","clearAllPointCollection","param","top","clientY","left","clientX","getMapExtent","clickLngLat","pixel","gt","mgt","c","setZoomLevel","z","getZoomLevel","setZoom","fitView","getFitView","a","getViewport","getCurrentCenter","getZoom","allLayers","getGraphicParam","getPath","gp","gg","pts","uniqBy","graphic","removeMarker","splice","doEdit","gtp","endEdit","calculateDistance","pow","PI","clearTimeout","enableDragging","enableEditing","disableDragging","removeEventListener","disableEditing","draw","drawParam","parameter","paramgcr","setDrawingMode","open","markerOptions","polylineOptions","enableCalculate","polygonOptions","circleOptions","rectangleOptions","closeDraw","clearAll","clearMarkers","clearOverlays","clusterToolFunction","addMarkers","removeCluster","removeMarkers","clearClusters","allps","vtxRangingTool","cb","objLngLats","lnglats","showTraffic","hideTraffic","scaleOffset","scaleControl","removeControl","navigationControl","control","ScaleControl","anchor","navigation","NavigationControl","mapTypeControl","mapTypes","BMAP_SATELLITE_MAP","MapTypeControl","BMAP_MAPTYPE_CONTROL_HORIZONTAL","sw_ne","bounds","setBounds","clearAreaRestriction","clearBounds","_map","clearInterval","setInterval","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","tx","ty","b","lnglat","delay","urlright","timer","count","equals","ddeg","rotateDeg","gcicon","setImageUrl","isHave","sp","ep","spLngLat","pointToPixel","tan","atan","disy","bias","ms","xmax","xmin","ymax","ymin","lngX","latX","showGraphicById","hideGraphicById","nowBounds","getBounds","southWest","getSouthWest","northEast","getNorthEast","nowCenter","mapSize","getSize","calculatePointsDistance","fp","round","getDistance","ps","totalDistance","calculateArea","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","showInfoWindow","params","hideInfoWindow","poi","boxStyle","closeIconMargin","enableAutoPan","align","closeIconUrl","frameSelect","_ref","_ref$parameter","_ref$data","includes","message","clearFrameSelect","clearFrameSelectById","searchPoints","searchValue","_this5","pageSize","pageIndex","psc","LocalSearch","onSearchComplete","getPageIndex","gotoPage","res_arr","getCurrentNumPois","getPoi","uid","title","pageCapacity","search","componentDidMount","componentDidUpdate","prevProps","prevState","componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","setCluster","isRangingTool","mapRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd2","_t$dealUpdate2","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd3","_t$dealUpdate3","_iterator3","_step3","oldMapLines","newMapLines","_t$dataMatch5","_t$dealAdd4","_t$dealUpdate4","_iterator4","_step4","_t$dataMatch6","_iterator5","_step5","newBDName","oldBDName","removedBoundaryName","addedBoundaryName","JSON","stringify","refresh","componentWillUnmount","React","Component","_default","exports","module"],"sources":["VtxMap/BMap/Map.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nimport uniqBy from 'lodash/unionBy'\r\nconst {Set} = Immutable;\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\nimport { message } from 'antd';\r\n\r\n// 百度地图js文件内做了一些额外的http or https判断\r\n// 如果协议为Https,我们需要改动全局变量BMAP_PROTOCOL和BMap_loadScriptTime\r\nif (window.location.protocol === 'https:') {\r\n window.BMAP_PROTOCOL = \"https\";\r\n window.BMap_loadScriptTime = (new Date).getTime();\r\n}\r\n\r\nconst gisMapConstant = {\r\n circle: 'BMAP_POINT_SHAPE_CIRCLE',//圆形\r\n star: 1,//星形\r\n square: 4,//方形\r\n rhombus: 5,//菱形\r\n waterdrop: 2,//水滴状,该类型无size和color属性\r\n tiny: 1, //定义点的尺寸为超小,宽高为2px*2px\r\n smaller: 2,//定义点的尺寸为很小,宽高为4px*4px\r\n small: 3,//定义点的尺寸为小,宽高为8px*8px\r\n normal: 4,//定义点的尺寸为正常,宽高为10px*10px,为海量点默认尺寸\r\n big: 5,//定义点的尺寸为大,宽高为16px*16px\r\n bigger: 6,//定义点的尺寸为很大,宽高为20px*20px\r\n huge: 7,//定义点的尺寸为超大,宽高为30px*30px\r\n}\r\n\r\nclass BaiduMap extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.GM = new graphicManage();//初始化 图元管理方法\r\n this.getPolygonArea = getPolygonArea;\r\n this.initPointIndex = 0;//初始化地图时记录点当前位置\r\n this._cluster = null;//点聚合对象\r\n this._rangingTool = null;//测距对象\r\n this._bmar = null;//区域限制对象\r\n this._drawmanager = null;//图元绘制对象\r\n this.editGraphicChange = null;//编辑方法回调\r\n this.editTimeout = null;//圆编辑回调延迟时间对象\r\n this._boundary = null;//获取行政区域数据的对象\r\n this.moveToTimer = null;//moveTo时间对象\r\n this.heatmap = null;//热力图对象\r\n this.morepoints = [];//海量点数组\r\n this.movePoints = [];//移动点的动画集合\r\n this.popupWindow = null;\r\n this.state = {\r\n gis: null,//地图对象\r\n mapId: props.mapId,\r\n mapCreated: false,\r\n pointIds:[], //地图上点的ids\r\n lineIds:[], //地图上线的ids\r\n polygonIds:[], //地图上面的ids\r\n circleIds:[], //地图上圆的ids\r\n editId: '',//当前编辑的图元id\r\n editGraphic: '',//当前编辑完后图元所有数据\r\n boundaryInfo: [],//当前画出的边界线的id和区域名\r\n drawIds: {//绘制工具id集合\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n }\r\n };\r\n this.frameSelectProps = {}\r\n this.loadMapJs();\r\n }\r\n loadPlugin(){\r\n let loadList = [];\r\n if(!window.BMapLib || !window.BMapLib.DistanceTool){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DistanceTool_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TrafficControl){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TrafficControl_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.MarkerClusterer){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/MarkerClusterer_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.AreaRestriction){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/AreaRestriction_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.DrawingManager){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DrawingManager_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.HeatmapOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/Heatmap_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.GeoUtils){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/GeoUtils_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TextIconOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.InfoBox){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/InfoBox_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n loadList.push()\r\n }\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n return Promise.all(loadList).then(()=>{\r\n return window.BMap;\r\n });\r\n }\r\n loadMapJs(){\r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.BMap){\r\n resolve(this.loadPlugin());\r\n }\r\n else{\r\n // EVlFc6DZzAzU5avIjoxNcFgQ\r\n $.getScript('//api.map.baidu.com/getscript?v=3.0&ak=42IughV5lDxAt0wI8AhDVuGR',()=>{\r\n resolve(this.loadPlugin());\r\n });\r\n $(\"<link>\").attr({ rel: \"stylesheet\",type: \"text/css\",href: '//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css'}).appendTo(\"head\");\r\n }\r\n });\r\n }\r\n //初始化地图数据\r\n init(){\r\n let t = this;\r\n //创建地图\r\n t.createMap();\r\n const {\r\n mapPoints,mapLines,mapPolygons,mapCircles,imageOverlays,\r\n mapVisiblePoints,mapCluster,mapZoomLevel,\r\n isOpenTrafficInfo,mapPointCollection,areaRestriction,\r\n coverageType\r\n } = this.props;\r\n let {boundaryName,heatMapData,infoWindowData,customizedBoundary} = this.props;\r\n let {boundaryInfo,pointIds,lineIds,polygonIds,circleIds} = this.state;\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\r\n //添加点\r\n if(mapPoints instanceof Array){\r\n t.addPoint(mapPoints);\r\n }\r\n //添加线\r\n if(mapLines instanceof Array){\r\n t.addLine(mapLines);\r\n }\r\n //添加面\r\n if(mapPolygons instanceof Array){\r\n t.addPolygon(mapPolygons);\r\n }\r\n //添加圆\r\n if(mapCircles instanceof Array){\r\n t.addCircle(mapCircles);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n //画边界线\r\n if(boundaryName instanceof Array && boundaryName.length>0){\r\n t.addBaiduBoundary(boundaryName);\r\n }\r\n // 画热力图\r\n if(heatMapData){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData){\r\n t.infoWindow(infoWindowData);\r\n }\r\n if(mapPointCollection instanceof Array){\r\n t.addPointCollection(mapPointCollection);\r\n }\r\n //初始展示的视野范围\r\n if(mapVisiblePoints){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //设置点聚合\r\n if(mapCluster instanceof Array){\r\n t.cluster(mapCluster);\r\n }\r\n //开关路况\r\n if(isOpenTrafficInfo){\r\n t.openTrafficInfo();\r\n }else{\r\n t.hideTrafficInfo();\r\n }\r\n //设置区域限制\r\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //是否设置比例尺\r\n if(t.props.showControl){\r\n t.showControl();\r\n }\r\n /*地图事件*/\r\n //初始化地图点击事件\r\n t.clickMap();\r\n //地图拖动之前事件\r\n t.dragMapStart();\r\n //地图拖动结束后事件\r\n t.dragMapEnd();\r\n //地图移动之前事件\r\n t.moveStart();\r\n //地图移动结束后事件\r\n t.moveEnd();\r\n //地图缩放开始前事件\r\n t.zoomStart();\r\n //地图缩放结束后事件\r\n t.zoomEnd();\r\n t.setState({\r\n mapCreated:true\r\n })\r\n }\r\n //创建地图\r\n createMap () {\r\n let t = this;\r\n const {mapCenter,mapStyle,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n let options ={\r\n zoom: mapZoomLevel || 10,\r\n center: mapCenter || [116.404,39.915],\r\n minZoom,maxZoom\r\n };\r\n if(window.VtxMap){\r\n window.VtxMap[mapId]= null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n // 控件位置常量\r\n t.AnchorConstant = {\r\n tr: BMAP_ANCHOR_TOP_RIGHT,\r\n tl: BMAP_ANCHOR_TOP_LEFT,\r\n bl: BMAP_ANCHOR_BOTTOM_LEFT,\r\n br: BMAP_ANCHOR_BOTTOM_RIGHT\r\n }\r\n // 平移缩放控件大小\r\n t.NavigationConstant = {\r\n large: BMAP_NAVIGATION_CONTROL_LARGE,\r\n small: BMAP_NAVIGATION_CONTROL_SMALL,\r\n pan: BMAP_NAVIGATION_CONTROL_PAN,\r\n zoom: BMAP_NAVIGATION_CONTROL_ZOOM\r\n }\r\n let map = window.VtxMap[mapId] = t.state.gis = new BMap.Map(mapId.toString(),{\r\n enableMapClick : false,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n if(mapStyle){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n setTimeout(()=>{\r\n $('#myCanvasElement').parent().children('svg').css({'z-index':1});\r\n },500);\r\n // 初始化地图,设置中心点坐标和地图级别\r\n map.centerAndZoom(new BMap.Point(parseFloat(options.center[0]),parseFloat(options.center[1])), options.zoom);\r\n //添加地图类型控件\r\n if(t.props.satelliteSwitch){\r\n t.showMapTypeControl();\r\n }\r\n //初始化路况控件\r\n if(!t._trafficCtrl){\r\n t._trafficCtrl = new BMapLib.TrafficControl({\r\n // 是否显示路况提示面板\r\n showPanel : false\r\n });\r\n map.addControl(t._trafficCtrl);\r\n if(document.getElementById('tcBtn').remove){\r\n document.getElementById('tcBtn').remove();\r\n }else{\r\n document.getElementById('tcBtn').removeNode();\r\n }\r\n }\r\n //开启鼠标滚轮缩放\r\n map.enableScrollWheelZoom(true);\r\n //初始化获取行政区域数据的对象\r\n if(!t._boundary){\r\n t._boundary = new BMap.Boundary();\r\n }\r\n //初始化点聚合对象\r\n if(!t._cluster){\r\n t._cluster = new BMapLib.MarkerClusterer(map,{maxZoom: 17}); \r\n }\r\n //初始化测距对象\r\n if(!t._rangingTool){\r\n t._rangingTool = new BMapLib.DistanceTool(map);\r\n }\r\n //初始化区域限制对象\r\n if(!t._bmar){\r\n t._bmar = new BMapLib.AreaRestriction();\r\n }\r\n //初始化图元绘制对象\r\n if(!t._drawmanager){\r\n t._drawmanager = new BMapLib.DrawingManager(map);\r\n //监听绘制结束事件\r\n t._drawmanager.addEventListener('overlaycomplete', (e)=>{\r\n if(e.label){\r\n t.state.gis.removeOverlay(e.label);\r\n }\r\n let drawExtData = e.extData;\r\n //保存绘制图元的id便于后期比对\r\n t.state.drawIds[drawExtData.type].push(drawExtData.id);\r\n let backobj = {\r\n id: drawExtData.id,\r\n attributes: drawExtData.attributes,\r\n geometryType: drawExtData.type == 'rectangle'?'polygon':drawExtData.type,\r\n mapLayer: e.overlay,\r\n geometry: {\r\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\r\n }\r\n };\r\n //点击事件\r\n e.overlay.addEventListener('click',(e)=>{\r\n t.clickGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移入事件\r\n e.overlay.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移出事件\r\n e.overlay.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(drawExtData.id,e);\r\n });\r\n //缓存绘制的图元信息\r\n t.GM.setGraphic(drawExtData.id,e.overlay);\r\n\r\n //区别点和圆的经纬度数据处理\r\n let {lnglatAry,_extent,path} = t.dealData(e.overlay);\r\n //处理返回数据\r\n switch(drawExtData.type){\r\n case 'point':\r\n backobj.geometry.x = e.overlay.getPosition().lng;\r\n backobj.geometry.y = e.overlay.getPosition().lat;\r\n break;\r\n case 'polyline':\r\n backobj.distance = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.paths = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'polygon':\r\n backobj.area = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'rectangle':\r\n backobj.area = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'circle':\r\n backobj.geometry.x = e.overlay.getCenter().lng;\r\n backobj.geometry.y = e.overlay.getCenter().lat;\r\n backobj.geometry.radius = e.overlay.getRadius();\r\n backobj.area = e.calculate;\r\n break;\r\n }\r\n t.GM.setGraphicParam(drawExtData.id,backobj);\r\n t._drawmanager.close();\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\r\n t.frameSelectProps[backobj.id].callback(backobj);\r\n }\r\n });\r\n }\r\n t.initPropsForUser();\r\n }\r\n /* \r\n 切换地图矢量图和卫星图背景\r\n type: \r\n BMAP_NORMAL_MAP 矢量图\r\n BMAP_SATELLITE_MAP 单卫星图 (暂定不用)\r\n BMAP_HYBRID_MAP 卫星路况图\r\n */\r\n setMapType(type){\r\n switch (type) {\r\n case 'sl':\r\n this.state.gis.setMapType(BMAP_NORMAL_MAP);\r\n break;\r\n case 'wx':\r\n this.state.gis.setMapType(BMAP_HYBRID_MAP);\r\n break;\r\n }\r\n }\r\n //增加图片图层\r\n imageUrlOverlay(imageAry){\r\n let t = this;\r\n imageAry.map((item,index)=>{\r\n let {sw,ne,url,opacity} = item;\r\n if(!url){\r\n console.warn(`图片图层url数据错误`);\r\n return false;\r\n }\r\n if(sw && ne && Array.isArray(sw) && Array.isArray(ne) && sw[0] && sw[1] && ne[0] && ne[1]){\r\n let swp = new BMap.Point(sw[0],sw[1]),\r\n nep = new BMap.Point(ne[0],ne[1]),\r\n option = {\r\n opacity: opacity || 1,\r\n displayOnMinLevel: item.displayOnMinLevel || 3,\r\n displayOnMaxLevel: item.displayOnMaxLevel || 19,\r\n imageURL: url\r\n },\r\n swnep = new BMap.Bounds(swp, nep),\r\n imageUrlOverlay = new BMap.GroundOverlay(swnep, option);\r\n t.state.gis.addOverlay(imageUrlOverlay);\r\n\r\n }else{\r\n console.warn(`区域经纬度sw/ne数据错误`);\r\n return false;\r\n }\r\n })\r\n }\r\n //新增点位\r\n addPoint(mapPoints,type){\r\n let t = this;\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let position = new BMap.Point(item.longitude,item.latitude);\r\n let marker = null;\r\n if(item.markerContent){\r\n /*自定义html加点\r\n 用Label来实现,无法再添加label(高德有判断,实现不同)*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n marker.setLabel(markerL);\r\n }else{\r\n /*添加非html点位*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n //设置选择角度\r\n marker.setRotation(cg.deg);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n //label默认样式\r\n let labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let markerLabel = new BMap.Label(\r\n \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\", {\r\n offset : new BMap.Size(cg.labelPixelX,cg.labelPixelY)\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n marker.setLabel(markerLabel);\r\n }\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n marker.setZIndex(cg.zIndex);\r\n }\r\n //添加点到地图\r\n t.state.gis.addOverlay(marker);\r\n if(!item.markerContent && cg.BAnimationType == 0){\r\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(!item.markerContent && cg.BAnimationType == 1){\r\n marker.setAnimation(BMAP_ANIMATION_DROP);\r\n }\r\n //点击事件\r\n marker.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n marker.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n marker.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存所有点的id\r\n psids.push(item.id);\r\n //缓存当前点的图元对象和基本数据\r\n t.GM.setGraphic(item.id,marker)\r\n .setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: item.longitude,\r\n y: item.latitude\r\n }\r\n });\r\n });\r\n if(type !== 'defined'){\r\n //所有点缓存在state中\r\n // t.setState({\r\n // pointIds: psids\r\n // });\r\n t.state.pointIds = psids;\r\n }\r\n }\r\n //更新点位\r\n updatePoint(mapPoints){\r\n let t = this;\r\n // let dpoints = [],apoints = [];\r\n mapPoints.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n if(item.markerContent){\r\n gc.setOffset(new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2));\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent(item.markerContent);\r\n gc.getLabel().setOffset(new BMap.Size(0,0));\r\n }else{\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n gc.setLabel(markerL);\r\n }\r\n }else{\r\n cg.width = cg.width || gc.getIcon().size.width;\r\n cg.height = cg.height || gc.getIcon().size.height;\r\n //未改变方式的点 直接修改数据\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n gc.setOffset(new BMap.Size((cg.markerContentX || -15) + cg.width/2,\r\n (cg.markerContentY || -30) + cg.height/2));\r\n //修改角度\r\n gc.setRotation(cg.deg || 0);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n let markerLabel = gc.getLabel(),\r\n //label默认样式\r\n labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let labelContent = \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\",\r\n labelOffset = new BMap.Size(cg.labelPixelX,cg.labelPixelY);\r\n if(markerLabel){\r\n markerLabel.setContent(labelContent);\r\n markerLabel.setOffset(labelOffset);\r\n }else{\r\n markerLabel = new BMap.Label(\r\n labelContent, {\r\n offset : labelOffset\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n gc.setLabel(markerLabel);\r\n }\r\n }else{\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent('');\r\n }\r\n }\r\n if(cg.BAnimationType == 0){\r\n gc.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(cg.BAnimationType == 1){\r\n gc.setAnimation(BMAP_ANIMATION_DROP);\r\n }else{\r\n gc.setAnimation(null);\r\n }\r\n /*moveTo*/\r\n }\r\n //动画效果会延迟执行经纬度的切换\r\n if(cg.isAnimation){\r\n t.moveTo(item.id,[item.longitude,item.latitude],cg.animationDelay,cg.autoRotation,item.url,item.urlleft);\r\n }else{\r\n //修改经纬度\r\n gc.setPosition(new BMap.Point(item.longitude,item.latitude));\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n gc.setZIndex(cg.zIndex);\r\n }\r\n t.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {...item,other: item},\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: item.longitude,\r\n y: item.latitude\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n });\r\n t.moveAnimation();\r\n // //删除改变了加载方式的点\r\n // dpoints.map((item,index)=>{\r\n // t.removeGraphic(item,'point');\r\n // });\r\n // if(apoints.length > 0){\r\n // //重新加载改变了方式的点\r\n // setTimeout(()=>{\r\n // t.addPoint(apoints);\r\n // },100);\r\n // }\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false\r\n }\r\n //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n }),\r\n //处理线的参数\r\n lineOption = {\r\n strokeColor : cg.color, // 线颜色\r\n strokeWeight : cg.lineWidth, // 线宽\r\n strokeOpacity : cg.pellucidity, // 线透明度\r\n strokeStyle : cg.lineType// 线样式\r\n };\r\n //创建线对象\r\n let line = new BMap.Polyline(linePath,lineOption);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n line.hide();\r\n }else{\r\n line.show();\r\n }\r\n lsids.push(item.id);\r\n //添加线至地图\r\n t.state.gis.addOverlay(line);\r\n //点击事件\r\n line.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n line.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n line.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n t.GM.setGraphic(item.id,line)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n if(type !== 'defined'){\r\n t.state.lineIds = lsids;\r\n // t.setState({\r\n // lineIds: lsids\r\n // });\r\n }\r\n }\r\n //更新线\r\n updateLine(mapLines){\r\n let t = this;\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n }else{\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n let gc = t.GM.getGraphic(item.id);\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',//'solid' 'dashed'\r\n isHidden: false\r\n }\r\n //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //修改线点位数据\r\n gc.setPath(linePath);\r\n //修改线颜色\r\n gc.setStrokeColor(cg.color);\r\n //修改透明度\r\n gc.setStrokeOpacity(cg.pellucidity);\r\n //修改线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改线的类型\r\n gc.setStrokeStyle(cg.lineType);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n gc.hide();\r\n }else{\r\n gc.show();\r\n }\r\n t.GM.setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons){\r\n let t = this;\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //初始化参数\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要再加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //面的参数\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity\r\n },\r\n polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //创建面对象\r\n let polygon = new BMap.Polygon(polygonPath,polygonOption);\r\n //添加面至地图\r\n t.state.gis.addOverlay(polygon);\r\n //点击事件\r\n polygon.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n polygon.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n polygon.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存面id\r\n pgsids.push(item.id);\r\n //缓存面图元对象和对于传入数据\r\n t.GM.setGraphic(item.id,polygon)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n },\r\n });\r\n });\r\n t.state.polygonIds = pgsids;\r\n // t.setState({\r\n // polygonIds: pgsids\r\n // });\r\n }\r\n //更新面\r\n updatePolygon(mapPolygons){\r\n let t = this;\r\n mapPolygons.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n //初始化参数\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要再加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //更新经纬度\r\n gc.setPath(polygonPath);\r\n //更新边框线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //更新填充色\r\n gc.setFillColor(cg.color);\r\n //更新变线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //更新填充色透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //更新边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //更新边线类型\r\n gc.setStrokeStyle(cg.lineType);\r\n t.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的多边形id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加圆 circle\r\n addCircle(mapCircles){\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //初始化配置数据\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity\r\n },\r\n centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //创建圆图元实例\r\n let circle = new BMap.Circle(centerPoint,item.radius,circleOption);\r\n //添加圆至地图\r\n t.state.gis.addOverlay(circle);\r\n //点击事件\r\n circle.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n circle.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n circle.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n ccsids.push(item.id);\r\n //缓存数据\r\n t.GM.setGraphic(item.id,circle)\r\n .setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n });\r\n });\r\n t.state.circleIds = ccsids;\r\n // t.setState({\r\n // circleIds: ccsids\r\n // });\r\n }\r\n //更新圆\r\n updateCircle(mapCircles){\r\n let t = this;\r\n mapCircles.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //修改中心点\r\n gc.setCenter(centerPoint);\r\n //修改半径\r\n gc.setRadius(item.radius);\r\n //修改边线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //修改填充颜色\r\n gc.setFillColor(cg.color);\r\n //修改边线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //修改填充透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //修改边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改边线样式\r\n gc.setStrokeStyle(cg.lineType);\r\n //缓存图元的数据,便于后期操作\r\n t.GM.setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n });\r\n }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //画出对应边界线 name区域名\r\n addBaiduBoundary(bdNames){\r\n let t = this;\r\n bdNames.forEach(name=>{\r\n t._boundary.get(name,(ary)=>{\r\n // fix 飞地有多个区域的问题\r\n let arr = [];\r\n ary.boundaries.forEach((item) => {\r\n let id = 'boundary' + new Date().getTime() + Math.random();\r\n let paths = item.split(';').map(function (item, index) {\r\n return item.split(',');\r\n });\r\n arr.push({ id: id, rings: paths , name: name})\r\n t.state.boundaryInfo.push({ id: id, name: name });\r\n })\r\n t.addPolygon(arr);\r\n });\r\n })\r\n }\r\n //删除对应应边界线 name区域名\r\n removeBaiduBoundary(removedBDNames){\r\n let t = this;\r\n let removedBDIds = t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\r\n t.setState({boundaryInfo:t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\r\n removedBDIds.forEach(id=>{\r\n t.removeGraphic(id,'polygon');\r\n });\r\n }\r\n //热力图\r\n heatMapOverlay(d = {}){\r\n let t = this;\r\n let cg = {\r\n radius: 20,\r\n max: 100,\r\n visible: true,\r\n opacity: 0.7\r\n };\r\n if(d.config){\r\n cg = {...cg,...d.config};\r\n }\r\n if(!t.heatmap){\r\n t.heatmap = new BMapLib.HeatmapOverlay({\r\n visible: cg.visible\r\n });\r\n t.state.gis.addOverlay(t.heatmap);\r\n }\r\n let option = {\r\n radius: cg.radius,\r\n //百度是1-100,高德是0-1\r\n opacity: eval(cg.opacity) * 100,\r\n visible: cg.visible\r\n }\r\n if(cg.gradient){\r\n option.gradient = cg.gradient;\r\n }\r\n t.heatmap.setDataSet({\r\n max: cg.max,\r\n data: d.data || []\r\n });\r\n t.heatmap.setOptions(option);\r\n if(cg.visible){\r\n t.heatmap.show();\r\n }else{\r\n t.heatmap.hide();\r\n }\r\n }\r\n //信息窗体\r\n infoWindow (d = {}){\r\n let t = this;\r\n var cg = {\r\n width: 300,\r\n height: 172,\r\n };\r\n if (d.config) {\r\n cg = {...cg,...d.config};\r\n }\r\n var sContent = document.createElement('div');\r\n var infowindow = new BMap.InfoWindow(sContent);\r\n \r\n infowindow.setWidth(cg.width);\r\n infowindow.setHeight(cg.height);\r\n\r\n if(d.onClose instanceof Function){\r\n infowindow.addEventListener(\"clickclose\", e => {\r\n d.onClose(e);\r\n })\r\n }\r\n\r\n if(d.lat && d.lng && d.content){\r\n render(d.content, sContent);\r\n t.state.gis.openInfoWindow(infowindow, new BMap.Point(d.lng,d.lat));\r\n\r\n } else {\r\n infowindow && t.state.gis.closeInfoWindow();\r\n }\r\n }\r\n //添加海量点 \r\n addPointCollection(data = []) {\r\n let t = this;\r\n data.map((item,index)=>{\r\n let d = item || {};\r\n let points = [];\r\n (d.points || []).map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n let options = {\r\n size: gisMapConstant[d.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[d.shape] || gisMapConstant['circle'],\r\n color: d.color || '#d340c3'\r\n }\r\n // 初始化PointCollection\r\n let VotexpointCollection = new BMap.PointCollection(points, options); \r\n t.state.gis.addOverlay(VotexpointCollection); // 添加Overlay\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.addEventListener('click', function (e) {\r\n if('clickPointCollection' in t.props && typeof(t.props.clickPointCollection) == 'function'){\r\n let obj = {\r\n id: d.id,\r\n ...e.point,\r\n mapLayer: VotexpointCollection\r\n }\r\n t.props.clickPointCollection(obj);\r\n }\r\n });\r\n });\r\n }\r\n //更新海量点\r\n updatePointCollection(data = []) {\r\n let t = this;\r\n data.map((ds,i)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(item.id == ds.id){\r\n let points = [];\r\n ds.points.map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n item.value.setPoints(points);\r\n item.value.setStyles({\r\n size: gisMapConstant[ds.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[ds.shape] || gisMapConstant['circle'],\r\n color: ds.color || '#d340c3'\r\n })\r\n }\r\n });\r\n });\r\n }\r\n //清空单个海量点\r\n clearPointCollection(ids){\r\n let t = this;\r\n ids.map((id,ind)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(id == item.id){\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n //清空海量点\r\n clearAllPointCollection() {\r\n let t = this;\r\n t.morepoints.map(function (item,index) {\r\n item.value.clear();\r\n })\r\n }\r\n /*图元事件处理*/\r\n //点击图元事件\r\n clickGraphic (id,e) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.clickGraphic) ===\"function\"){\r\n let param = t.getGraphic(id);\r\n let obj = {\r\n param,\r\n type: param.geometry.type,//图元类型\r\n attributes: {...param.attributes.other,...{config:param.attributes.config}},//添加时图元信息\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n e: e\r\n }\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n //图元鼠标悬浮事件\r\n mouseOverGraphic(id,e){\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.mouseOverGraphic) === 'function'){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n }\r\n t.props.mouseOverGraphic(obj);\r\n }\r\n }\r\n //图元鼠标移开事件\r\n mouseOutGraphic(id,e){\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.mouseOutGraphic) ===\"function\"){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n }\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n /*地图事件处理*/\r\n //地图点击事件\r\n clickMap(){\r\n let t =this;\r\n if(typeof(t.props.clickMap) ===\"function\"){\r\n t.state.gis.addEventListener('click',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = e.point;\r\n obj.pixel = e.pixel;\r\n t.props.clickMap(obj);\r\n });\r\n }\r\n }\r\n //地图拖动之前事件\r\n dragMapStart(){\r\n let t = this;\r\n if(typeof(t.props.dragMapStart) === 'function'){\r\n t.state.gis.addEventListener('dragstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapStart(obj);\r\n })\r\n }\r\n }\r\n //地图拖动结束后事件\r\n dragMapEnd(){\r\n let t = this;\r\n if(typeof(t.props.dragMapEnd) === 'function'){\r\n t.state.gis.addEventListener('dragend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapEnd(obj);\r\n })\r\n }\r\n }\r\n //地图移动之前事件\r\n moveStart(){\r\n let t = this;\r\n if(typeof(t.props.moveStart) === 'function'){\r\n t.state.gis.addEventListener('movestart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveStart(obj);\r\n })\r\n }\r\n }\r\n //地图移动结束后事件\r\n moveEnd(){\r\n let t = this;\r\n if(typeof(t.props.moveEnd) === 'function'){\r\n t.state.gis.addEventListener('moveend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveEnd(obj);\r\n })\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(){\r\n let t = this;\r\n if(typeof(t.props.zoomStart) === 'function'){\r\n t.state.gis.addEventListener('zoomstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomStart(obj);\r\n });\r\n }\r\n }\r\n //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(){\r\n let t = this;\r\n if(typeof(t.props.zoomEnd) === 'function'){\r\n t.state.gis.addEventListener('zoomend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomEnd(obj);\r\n });\r\n }\r\n }\r\n /*set方法*/\r\n //设置地图中心位置 lng/经度 lat/纬度\r\n setCenter (gt) {\r\n let t =this;\r\n if(!t.state.gis){\r\n return;\r\n }\r\n let mgt = [116.404,39.915];\r\n if(gt){\r\n //经纬度 必须存在 否则不操作\r\n if (!gt[0] || !gt[1]) {\r\n return false;\r\n }\r\n //如果设置的经纬度 与当前中心点一样 不操作\r\n let c = t.state.gis.getCenter();\r\n if(c.lng == gt[0] && c.lat == gt[1]){\r\n return false;\r\n }\r\n mgt = gt;\r\n }\r\n t.state.gis.setCenter(new BMap.Point(mgt[0],mgt[1]));\r\n t.setState({center: mgt});\r\n }\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n let z = t.getZoomLevel();\r\n if(z == zoom){\r\n return false;\r\n }\r\n t.state.gis.setZoom(zoom);\r\n }\r\n //将制定图元展示在视野内 (强制改变地图中心位置)\r\n /*\r\n 参数arg格式如下1,2\r\n 1.string 格式如:'1,a,2,3,4'\r\n 2.数组 ['1','2']\r\n */\r\n setVisiblePoints (mapVisiblePoints) {\r\n let t = this;\r\n let arg = null;\r\n let type = mapVisiblePoints.type;\r\n let ary = [];\r\n let obj = null;\r\n\r\n switch(mapVisiblePoints.fitView){\r\n case 'point':\r\n arg = this.state.pointIds;\r\n break;\r\n case 'line':\r\n arg = this.state.lineIds;\r\n break;\r\n case 'polygon':\r\n arg = this.state.polygonIds;\r\n break;\r\n case 'circle':\r\n arg = this.state.circleIds;\r\n break;\r\n case 'all':\r\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\r\n break;\r\n default:\r\n arg = mapVisiblePoints.fitView;\r\n break;\r\n }\r\n\r\n /**\r\n * 用法\r\n * map.setVisiblePoints('lng,lat;lng,lat')\r\n */\r\n if(typeof(arg) === 'string'){\r\n ary = arg.split(',');\r\n obj = t.getFitView(ary);\r\n \r\n } else if(arg instanceof Array){\r\n /**\r\n * 用法\r\n * map.setVisiblePoints([[lng,lat],[lng,lat]])\r\n */\r\n if(arg[0] instanceof Array){\r\n let a = [];\r\n for(let i = 0 ; i < arg.length ; i++){\r\n a.push(new BMap.Point(arg[i][0],arg[i][1]));\r\n }\r\n obj = t.state.gis.getViewport(a);\r\n /**\r\n * 用法\r\n * map.setVisiblePoints(['lng,lat','lng,lat'])\r\n */\r\n } else {\r\n obj = t.getFitView(arg);\r\n }\r\n }\r\n if(!obj){return false} \r\n if(!type || type == 'all'){\r\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\r\n }else if(type == 'zoom'){\r\n t.setZoomLevel(obj.zoom);\r\n }else if(type == 'center'){\r\n t.setCenter([obj.center.lng,obj.center.lat]);\r\n }\r\n }\r\n /*get方法*/\r\n //获取当前地图的中心位置\r\n getCurrentCenter(){\r\n let t =this;\r\n return t.state.gis.getCenter();\r\n }\r\n //获取当前比例尺\r\n getZoomLevel (){\r\n let t =this;\r\n return t.state.gis.getZoom();\r\n }\r\n //获取对应经纬的最优 zoomLevel和center\r\n getFitView(ids){\r\n let t = this;\r\n if(ids.length > 0){\r\n let allLayers = [];\r\n for(let i = 0 ; i < ids.length ; i++){\r\n switch((t.GM.getGraphicParam(ids[i]) || {}).geometryType){\r\n case 'point':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getPosition());\r\n }\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers = [...allLayers,...t.GM.getGraphic(ids[i]).getPath()];\r\n }\r\n break;\r\n case 'circle':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getCenter());\r\n }\r\n break;\r\n }\r\n }\r\n if(allLayers.length > 0){\r\n return t.state.gis.getViewport(allLayers);\r\n }\r\n }\r\n }\r\n //获取图元数据\r\n getGraphic (id) {\r\n let t = this;\r\n if(!id){\r\n return false;\r\n }\r\n let gp = t.GM.getGraphicParam(id);\r\n let gg = t.GM.getGraphic(id);\r\n if(!gg){\r\n return false;\r\n }\r\n let p = {},pts = [],lng = 0,lat = 0;\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getPosition().lng;\r\n lat = gg.getPosition().lat;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n }\r\n }\r\n break;\r\n case 'polyline':\r\n pts = gg.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n paths: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n paths: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'polygon':\r\n // fix: 编辑图元时面积计算不正确,需要过滤一下重复的经纬度\r\n pts = uniqBy(gg.getPath(), function(res){\r\n return res.lng && res.lat\r\n }).map((item)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n rings: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n rings: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'circle':\r\n lng = gg.getCenter().lng;\r\n lat = gg.getCenter().lat;\r\n let radius = gg.getRadius();\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n radius\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n radius\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n return p;\r\n }\r\n /*功能方法*/\r\n //单个删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n let graphic = t.GM.getGraphic(id);\r\n if(!!graphic){\r\n //清除聚合点 避免异常\r\n t._cluster.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n t.state.gis.removeOverlay(graphic);\r\n //清除对应id的图元数据缓存\r\n t.GM.removeGraphic(id);\r\n }else{\r\n return false;\r\n }\r\n for(let i = 0 ; i < t.movePoints.length ; i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1);\r\n continue;\r\n }\r\n }\r\n let ids = [];\r\n switch(type){\r\n case 'point':\r\n ids = t.state.pointIds;\r\n break;\r\n case 'line':\r\n ids = t.state.lineIds;\r\n break;\r\n case 'polygon':\r\n ids = t.state.polygonIds;\r\n break;\r\n case 'circle':\r\n ids = t.state.circleIds;\r\n break;\r\n case 'draw':\r\n if(t.state.drawIds.point.indexOf(id) > -1){\r\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.polyline.indexOf(id) > -1){\r\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.polygon.indexOf(id) > -1){\r\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.circle.indexOf(id) > -1){\r\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.rectangle.indexOf(id) > -1){\r\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id),1);\r\n }\r\n break;\r\n default:\r\n if(t.state.pointIds.indexOf(id) > -1){\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id),1);\r\n }\r\n if(t.state.lineIds.indexOf(id) > -1){\r\n t.state.lineIds.splice(t.state.lineIds.indexOf(id),1);\r\n }\r\n if(t.state.polygonIds.indexOf(id) > -1){\r\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id),1);\r\n }\r\n if(t.state.circleIds.indexOf(id) > -1){\r\n t.state.circleIds.splice(t.state.circleIds.indexOf(id),1);\r\n }\r\n break;\r\n }\r\n if(id == t.state.editId){\r\n t.state.editId = '';\r\n }\r\n if(ids.indexOf(id) != -1){\r\n ids.splice(ids.indexOf(id),1);\r\n }\r\n }\r\n /*根据图元id,使图元变成可编辑状态*/\r\n doEdit (id){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(id);\r\n let gtp = t.GM.getGraphicParam(id);\r\n if(!graphic)return false;\r\n //关闭先前编辑的图元\r\n if(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n if(!t.editGraphicChange){\r\n //编辑变动后\r\n t.editGraphicChange = (e)=>{\r\n let id = t.state.editId,\r\n param = t.getGraphic(id),\r\n obj = {\r\n param,e,id,\r\n geometry: param.geometry\r\n };\r\n if(param.geometry.type == 'polygon'){\r\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.mapLayer);\r\n // fix: 只能是数组计算之前的计算因为重复的经纬度导致面积为NAN\r\n obj.area = BMapLib.GeoUtils.getPolygonArea(param.geometry.rings.map((item)=>{\r\n return new BMap.Point(item[0], item[1])\r\n }));\r\n }\r\n if(param.geometry.type == 'polyline'){\r\n obj.distance = t.calculateDistance(param.geometry.paths);\r\n }\r\n if(param.geometry.type == 'circle'){\r\n obj.area = Math.pow(param.geometry.radius,2)*Math.PI;\r\n if(t.editTimeout){\r\n clearTimeout(t.editTimeout);\r\n }\r\n t.editTimeout = setTimeout(()=>{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n },300);\r\n }else{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n }\r\n }\r\n }\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.enableDragging();\r\n graphic.addEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n t.setState({editId:id});\r\n }\r\n //关闭编辑\r\n endEdit (){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(t.state.editId);\r\n let gtp = t.GM.getGraphicParam(t.state.editId);\r\n if(!graphic)return false;\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.disableDragging();\r\n graphic.removeEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n let editGraphic = t.state.editGraphic;\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n },()=>{\r\n if(editGraphic){\r\n t.props.editGraphicChange(editGraphic);\r\n }\r\n })\r\n }\r\n //绘制图元\r\n draw(obj){\r\n let t = this,drawParam = {};\r\n //先关闭(防止连点)\r\n t._drawmanager.close();\r\n //初始化参数\r\n drawParam.geometryType = obj.geometryType || 'point';\r\n drawParam.parameter = obj.parameter?{...obj.parameter}:{};\r\n drawParam.data = obj.data?{...obj.data}:{};\r\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\r\n //判断id是否存在\r\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\r\n if(len > -1){\r\n //如果id存在 删除存在的图元,清除drawId中的id数据\r\n t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len,1);\r\n }\r\n let param = {};\r\n let paramgcr = {};\r\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\r\n paramgcr.fillColor = drawParam.parameter.color;\r\n paramgcr.strokeColor = drawParam.parameter.lineColor;\r\n paramgcr.strokeOpacity = drawParam.parameter.lineOpacity;\r\n paramgcr.strokeWeight = drawParam.parameter.lineWidth;\r\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\r\n paramgcr.strokeStyle = drawParam.parameter.lineType;\r\n paramgcr.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: drawParam.parameter.color,\r\n lineColor: drawParam.parameter.lineColor,\r\n lineOpacity: drawParam.parameter.lineOpacity,\r\n pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: drawParam.geometryType\r\n };\r\n }\r\n switch(drawParam.geometryType){\r\n case 'point':\r\n param.offset = new BMap.Size((drawParam.parameter.markerContentX || -15) + (drawParam.parameter.width || 30)/2,\r\n (drawParam.parameter.markerContentY || -30) + (drawParam.parameter.height || 30)/2);\r\n let icon = new BMap.Icon(\r\n drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30)\r\n );\r\n icon.setImageSize(new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30));\r\n param.icon = icon;\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n url: drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n config: {\r\n width: drawParam.parameter.width || 36,\r\n height: drawParam.parameter.height || 36\r\n }\r\n },\r\n type: 'point'\r\n };\r\n t._drawmanager.setDrawingMode('marker');\r\n t._drawmanager.open({markerOptions: param});\r\n break;\r\n case 'polyline':\r\n param.strokeColor = drawParam.parameter.color;\r\n param.strokeOpacity = drawParam.parameter.pellucidity;\r\n param.strokeWeight = drawParam.parameter.lineWidth;\r\n param.strokeStyle = drawParam.parameter.lineType;\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: drawParam.parameter.color,\r\n pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: 'polyline'\r\n };\r\n t._drawmanager.open({polylineOptions: param,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polyline');\r\n break;\r\n case 'polygon':\r\n t._drawmanager.open({polygonOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polygon');\r\n break;\r\n case 'circle':\r\n t._drawmanager.open({circleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('circle');\r\n break;\r\n case 'rectangle':\r\n t._drawmanager.open({rectangleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('rectangle');\r\n break;\r\n }\r\n }\r\n //关闭绘制图元\r\n closeDraw(){\r\n let t = this;\r\n t._drawmanager.close();\r\n }\r\n //清空地图图元\r\n clearAll(){\r\n let t = this;\r\n //清空聚合\r\n if (t._cluster) {\r\n t._cluster.clearMarkers();\r\n }\r\n //关闭测距\r\n if(t._rangingTool){\r\n t._rangingTool.close();\r\n }\r\n //清空地图\r\n t.state.gis.clearOverlays();\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //关闭编辑\r\n t.endEdit();\r\n //清空历史数据记录\r\n t.setState({\r\n pointIds: [],\r\n lineIds: [],\r\n polygonIds: [],\r\n circleIds: [],\r\n boundaryInfo: [],\r\n drawIds: {\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n }\r\n });\r\n }\r\n /*工具方法*/\r\n //聚合地图图元(arg为空时聚合全部点)\r\n cluster (arg) {\r\n let t = this;\r\n let ary = t.clusterToolFunction((arg && arg?.length>0) ? arg : t.state.pointIds);\r\n t._cluster.addMarkers(ary);\r\n }\r\n //删除点聚合效果\r\n removeCluster(arg){\r\n let t = this;\r\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\r\n let ary = t.clusterToolFunction(ids);\r\n if(ary.length > 0){\r\n t._cluster.removeMarkers(ary);\r\n }\r\n ids.map(id=>{\r\n t.GM.removeGraphic(id);\r\n })\r\n // 重新加点\r\n t.addPoint(t.props.mapPoints);\r\n }\r\n //清空聚合效果\r\n clearClusters(){\r\n let t = this;\r\n t._cluster.clearMarkers();\r\n }\r\n //聚合功能公共方法(获取图元集合)\r\n clusterToolFunction(arg){\r\n let t = this;\r\n let ary = [];\r\n if(!arg){\r\n let {pointIds} = t.state;\r\n ary = pointIds;\r\n }else{\r\n if(Object.prototype.toString.apply(arg) === '[object Array]'){\r\n ary = arg;\r\n }else if(typeof arg === 'string'){\r\n ary = arg.split(',');\r\n }\r\n }\r\n //过滤moveTo的点位\r\n //缓存所有聚合的点位\r\n let allps = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n allps.push(t.GM.getGraphic(ary[i]));\r\n }\r\n return allps;\r\n }\r\n //测距\r\n vtxRangingTool (callback) {\r\n let t = this;\r\n let cb = (e)=>{\r\n //关闭测距\r\n t._rangingTool.close();\r\n //注销事件(避免重复)\r\n t._rangingTool.removeEventListener('drawend',cb);\r\n if(typeof(callback) ===\"function\"){\r\n let obj = {\r\n distance : e.distance\r\n };\r\n let objLngLats = new Array();\r\n for (let i = 0; i < e.points.length; i++) {\r\n objLngLats.push([ e.points[i].lng, e.points[i].lat ]);\r\n }\r\n obj.lnglats = objLngLats;\r\n callback(obj);\r\n }\r\n }\r\n t._rangingTool.addEventListener('drawend',cb);\r\n t._rangingTool.open(this.state.gis);\r\n }\r\n //开启路况\r\n openTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.showTraffic();\r\n }\r\n //关闭路况\r\n hideTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.hideTraffic();\r\n }\r\n //展示比例尺\r\n showControl (props){\r\n let t = this,location = t.AnchorConstant['tr'],type = '',offset=null, scaleOffset=null;\r\n let config = props || t.props;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n }\r\n if(config.showControl.location){\r\n location = t.AnchorConstant[config.showControl.location];\r\n }\r\n if(config.showControl.type){\r\n type = t.NavigationConstant[config.showControl.type];\r\n }\r\n if(config.showControl.offset && config.showControl.offset.length>0){\r\n offset = new BMap.Size(config.showControl.offset[0],config.showControl.offset[1])\r\n scaleOffset = new BMap.Size(config.showControl.offset[0] + 70,config.showControl.offset[1])\r\n }\r\n // 左上角,添加比例尺\r\n let control = new BMap.ScaleControl({anchor: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n if(type !== 'null'){\r\n //右上角,仅包含平移和缩放按钮\r\n let navigation = new BMap.NavigationControl({anchor: location, type: type, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation;\r\n }\r\n }\r\n // 移除比例尺\r\n removeControl() {\r\n const t = this;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n t.scaleControl = null;\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n t.navigationControl = null;\r\n }\r\n }\r\n //展示地图切换控件\r\n showMapTypeControl (props){\r\n let t = this,location = t.AnchorConstant['br'],offset=null;\r\n let config = props || t.props;\r\n if(t.mapTypeControl) {\r\n t.state.gis.removeControl(t.mapTypeControl);\r\n }\r\n if(config.satelliteSwitch.location){\r\n location = t.AnchorConstant[config.satelliteSwitch.location];\r\n }\r\n if(config.satelliteSwitch.offset && config.satelliteSwitch.offset.length>0){\r\n offset = new BMap.Size(config.satelliteSwitch.offset[0],config.satelliteSwitch.offset[1])\r\n }\r\n let mapTypes = [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]\r\n // 地图切换控件\r\n let control = new BMap.MapTypeControl({mapTypes, anchor: location, type: BMAP_MAPTYPE_CONTROL_HORIZONTAL, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n }\r\n /*设置显示区域*/\r\n setAreaRestriction(sw_ne){\r\n let t = this;\r\n //修改了区域限制的js文件.\r\n let bounds = new BMap.Bounds(new BMap.Point(sw_ne[0][0],sw_ne[0][1]),new BMap.Point(sw_ne[1][0],sw_ne[1][1]));\r\n t._bmar.setBounds(this.state.gis,bounds);\r\n }\r\n /*取消显示区域*/\r\n clearAreaRestriction(){\r\n let t = this;\r\n t._bmar.clearBounds();\r\n }\r\n //渲染\r\n render(){\r\n let t = this;\r\n let _map = this.props;\r\n return(\r\n <div id={_map.mapId} style={{width:'100%',height:'100%'}}></div>\r\n );\r\n }\r\n /*公共方法*/\r\n moveAnimation(){\r\n let t = this;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n t.moveToTimer = setInterval(()=>{\r\n for(let i = 0;i < t.movePoints.length; i++){\r\n t.movePoints[i].waitTime += 10;\r\n t.movePoints[i].deleteTime -= 10;\r\n }\r\n t.movePoints.sort((x,y)=>{\r\n return y.waitTime -x.waitTime;\r\n });\r\n let nowMovePoints = t.movePoints.slice(0,10),deleteIndex=[];\r\n for(let i = 0;i < nowMovePoints.length; i++){\r\n let {id,rx,ry,waitTime,deleteTime} = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if(!gc){\r\n clearInterval(t.moveToTimer);\r\n }else{\r\n let gg = gc.getPosition();\r\n let tx = gg.lng + rx,ty = gg.lat + ry;\r\n gc.setPosition(new BMap.Point(tx,ty));\r\n t.movePoints[i].waitTime = 0;\r\n if(deleteTime <= 0){\r\n deleteIndex.push(i);\r\n }\r\n }\r\n }\r\n deleteIndex.sort((a,b)=>{return b-a});\r\n for(let i = 0 ; i < deleteIndex.length ; i++){\r\n t.movePoints.splice(deleteIndex[i],1);\r\n }\r\n if(nowMovePoints.length == 0){\r\n clearInterval(t.moveToTimer);\r\n }\r\n },10);\r\n }\r\n moveTo(id,lnglat,delay,autoRotation,urlright,urlleft){\r\n delay = delay || 3;\r\n let t = this,timer = 10,\r\n gc = t.GM.getGraphic(id);\r\n delay = eval(delay)*1000;\r\n let count = delay/timer;\r\n let s = gc.getPosition(),e = new BMap.Point(lnglat[0],lnglat[1]);\r\n if(s.equals(e)){\r\n return false;\r\n }else{\r\n let url= null;\r\n //计算角度,旋转\r\n if(autoRotation){\r\n let ddeg = t.rotateDeg(gc.getPosition(),lnglat);\r\n if(urlleft && (ddeg < -90 && ddeg > -270)){\r\n ddeg += 180;\r\n url = urlleft;\r\n }else{\r\n url = urlright;\r\n }\r\n let gcicon = gc.getIcon();\r\n gcicon.setImageUrl(url);\r\n gc.setIcon(gcicon);\r\n gc.setRotation(ddeg);\r\n }\r\n //拆分延迟移动定位\r\n let rx = (e.lng - s.lng)/count, ry = (e.lat - s.lat)/count;\r\n let isHave = false;\r\n for(let i = 0 ; i < t.movePoints.length ;i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1,{\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n isHave = true;\r\n }\r\n }\r\n if(!isHave){\r\n t.movePoints.push({\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n }\r\n }\r\n \r\n }\r\n //点位角度旋转(以指向东(右)为0°)\r\n rotateDeg(sp,ep){\r\n let t = this;\r\n let spLngLat = sp;\r\n if(Array.isArray(sp)){\r\n spLngLat = new BMap.Point(sp[0],sp[1]);\r\n }\r\n let s = t.state.gis.pointToPixel(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.pointToPixel(new BMap.Point(ep[0],ep[1])),\r\n deg = 0;\r\n if(e.x != s.x){\r\n var tan = (e.y - s.y)/(e.x - s.x),\r\n atan = Math.atan(tan);\r\n deg = atan*360/(2*Math.PI);\r\n //degree correction;\r\n if(e.x < s.x){\r\n deg = -deg + 90 + 90;\r\n\r\n } else {\r\n deg = -deg;\r\n }\r\n deg = -deg;\r\n }else {\r\n var disy = e.y- s.y ;\r\n var bias = 0;\r\n if(disy > 0)\r\n bias=-1;\r\n else\r\n bias = 1;\r\n if(disy == 0)\r\n bias = 0; \r\n deg = -bias * 90;\r\n }\r\n return deg;\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(ms){\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],_extent = {xmax: 0,xmin: 0,ymax: 0,ymin: 0},path=[];\r\n if('getPath' in ms){\r\n path = ms.getPath();\r\n path = path.map((item,index)=>{\r\n let lng = item.lng,lat = item.lat;\r\n if(lng > _extent.xmax){\r\n _extent.xmax = lng;\r\n }\r\n if(lng < _extent.xmin || _extent.xmin == 0){\r\n _extent.xmin = lng;\r\n }\r\n if(lat > _extent.ymax){\r\n _extent.ymax = lat;\r\n }\r\n if(lat < _extent.ymin || _extent.ymin == 0){\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat\r\n });\r\n return [lng,lat];\r\n })\r\n }\r\n return {lnglatAry,_extent,path};\r\n }\r\n //显示隐藏的图元\r\n showGraphicById (id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).show();\r\n }\r\n }\r\n //隐藏图元\r\n hideGraphicById(id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).hide();\r\n }\r\n }\r\n //获取地图当前的位置状态信息\r\n getMapExtent() {\r\n let t = this;\r\n let nowBounds = t.state.gis.getBounds();\r\n let obj = {};\r\n obj.southWest = {\r\n lng : nowBounds.getSouthWest().lng,\r\n lat : nowBounds.getSouthWest().lat\r\n };\r\n obj.northEast = {\r\n lng : nowBounds.getNorthEast().lng,\r\n lat : nowBounds.getNorthEast().lat\r\n };\r\n obj.nowCenter = t.state.gis.getCenter();\r\n obj.zoom = t.state.gis.getZoom();\r\n obj.mapSize = t.state.gis.getSize();\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],\r\n [obj.northEast.lng,obj.northEast.lat]);\r\n return obj;\r\n }\r\n //计算2点间距离 单位m 精确到2位小数\r\n calculatePointsDistance(fp,ep){\r\n return Math.round(this.state.gis.getDistance(new BMap.Point(fp[0], fp[1]), \r\n new BMap.Point(ep[0], ep[1]))*100)/100;\r\n }\r\n //计算多个点的距离(常用于线计算)\r\n calculateDistance(ps){\r\n let t = this,totalDistance = 0;\r\n if (ps.length < 0) {return false;}\r\n for(let i= 0 ; i< ps.length ; i++){\r\n if(i < ps.length-1){\r\n totalDistance += t.calculatePointsDistance(ps[i],ps[i+1]);\r\n }\r\n }\r\n return Math.round(totalDistance*100)/100;\r\n }\r\n //计算图元面积(面,圆)\r\n calculateArea(id){\r\n var t = this;\r\n return t.state.gis.calculateArea(t.getGraphic(id));\r\n }\r\n //对比对象数据是否相等\r\n deepEqual(a,b){\r\n return Immutable.is(Immutable.fromJS(a),Immutable.fromJS(b));\r\n }\r\n //数据解析(分析,新增,更新,删除对应的数据)\r\n dataMatch(oldData,newData,type){\r\n let onlyOldData = Set(oldData).subtract(Set(newData)).toJS();\r\n let onlyNewData = Set(newData).subtract(Set(oldData)).toJS();\r\n let onlyOldIDs = onlyOldData.map(item=>item[type]);\r\n let onlyNewIDs = onlyNewData.map(item=>item[type]);\r\n let updateDataIDs = Set(onlyOldIDs).intersect(Set(onlyNewIDs)).toJS();\r\n let updatedData = onlyNewData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\r\n let replacedData = onlyOldData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\r\n let deletedDataIDs = onlyOldIDs.filter(oldID=>updateDataIDs.indexOf(oldID)==-1);\r\n let addedData = onlyNewData.filter(item=>updateDataIDs.indexOf(item[type])==-1)\r\n \r\n return {deletedDataIDs,addedData,updatedData,replacedData};\r\n }\r\n //处理需要增加图元的数据(避免意外问题)\r\n dealAdd(ary,ids){\r\n let ads = [], otherupds = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n if(ids.indexOf(ary[i].id) > -1){\r\n otherupds.push(ary[i]);\r\n }else{\r\n ads.push(ary[i]);\r\n }\r\n }\r\n return {ads,otherupds};\r\n }\r\n //处理需要更新图元的数据(避免意外问题)\r\n dealUpdate(ary,ids){\r\n let upds = [], otherads = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n if(ids.indexOf(ary[i].id) > -1){\r\n upds.push(ary[i]);\r\n }else{\r\n otherads.push(ary[i]);\r\n }\r\n }\r\n return {upds,otherads};\r\n }\r\n // 信息窗口\r\n showInfoWindow(params){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n let poi = new BMap.Point(params.position[0], params.position[1]);\r\n t.popupWindow = new BMapLib.InfoBox(t.state.gis, params.content,{\r\n boxStyle: params.boxStyle,\r\n closeIconMargin: \"1px 1px 0 0\",\r\n enableAutoPan: true,\r\n align: 1,\r\n closeIconUrl: params.closeIconUrl || `${configUrl.mapServerURL}/images/close.png`,\r\n });\r\n let marker = new BMap.Marker(poi);\r\n t.popupWindow.open(marker);\r\n }\r\n // 框选\r\n frameSelect({geometryType,parameter={},data={}},callback){\r\n if(!['polygon','circle','rectangle'].includes(geometryType)){\r\n message.warn(\"传入的类型不支持框选!\")\r\n return false;\r\n }\r\n const t = this;\r\n let params = {},\r\n type = geometryType||'polygon',\r\n id= data.id || `frameSelectFeature_${Math.random()}`;\r\n\r\n params.color = parameter.color||'red';\r\n params.lineColor = parameter.lineColor||'red';\r\n params.lineOpacity = parameter.lineOpacity||1;\r\n params.lineWidth = parameter.lineWidth||2;\r\n params.pellucidity = parameter.pellucidity||0.6;\r\n params.lineType = parameter.lineType||'solid';\r\n\r\n t.draw({\r\n geometryType: type,\r\n parameter: {\r\n ...parameter,\r\n ...params\r\n },\r\n data:{\r\n id: id\r\n }\r\n });\r\n\r\n t.frameSelectProps[id] = {\r\n callback,\r\n id,\r\n type: geometryType\r\n } \r\n }\r\n // 清除框选\r\n clearFrameSelect(){\r\n for(let key in this.frameSelectProps){\r\n this.removeGraphic(this.frameSelectProps[key].id,this.frameSelectProps[key].type);\r\n }\r\n this.frameSelectProps = {};\r\n }\r\n // 清除框选ById\r\n clearFrameSelectById(id){\r\n let obj = this.frameSelectProps[id];\r\n this.removeGraphic(obj.id, obj.type);\r\n delete this.frameSelectProps[id];\r\n }\r\n // 关闭信息窗口\r\n hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.popupWindow.close();\r\n }\r\n t.popupWindow = null;\r\n }\r\n //百度搜索功能\r\n searchPoints(searchValue,pageSize=10,pageIndex=0){\r\n return new Promise((resolve)=>{\r\n let psc = new BMap.LocalSearch(this.state.gis,{\r\n onSearchComplete:(result)=>{\r\n if(!result){\r\n resolve([]);\r\n }\r\n else if(result.getPageIndex()!=pageIndex){\r\n psc.gotoPage(pageIndex);\r\n }\r\n else{\r\n let res_arr = [];\r\n for(let i=0,len=result.getCurrentNumPois();i<len;i++){\r\n res_arr.push(result.getPoi(i));\r\n }\r\n resolve(res_arr.map((r)=>({\r\n id: r.uid,\r\n longitude: r.point.lng,\r\n latitude: r.point.lat,\r\n canShowLabel: true,\r\n config: {\r\n labelContent: r.title,\r\n labelPixelY: 27\r\n },\r\n other: 'search'\r\n })));\r\n }\r\n // console.log(result,result.getNumPages(),result.getPageIndex()); \r\n },\r\n pageCapacity:pageSize\r\n });\r\n psc.search(searchValue); \r\n })\r\n }\r\n //初始化\r\n componentDidMount(){\r\n let t = this;\r\n t.loadMapComplete.then(()=>{\r\n t.init();\r\n }) \r\n }\r\n //重新渲染结束\r\n componentDidUpdate(prevProps, prevState) {}\r\n //已加载组件,收到新的参数时调用\r\n componentWillReceiveProps(nextProps) {\r\n let t = this;\r\n //点/线旧数据\r\n let {pointIds,lineIds,polygonIds,circleIds,drawIds} = t.state;\r\n let {point,polyline,polygon,circle,rectangle} = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [],mapLines = [],mapPolygons = [],mapCircles = [],customizedBoundary =[],\r\n isOpenTrafficInfo,boundaryName,heatMapData,imageOverlays,\r\n mapVisiblePoints,setVisiblePoints,\r\n setCenter,mapCenter,\r\n setZoomLevel,mapZoomLevel,\r\n setCluster,mapCluster,\r\n isRangingTool,mapRangingTool,\r\n isRemove,mapRemove,\r\n mapDraw,isDraw,isCloseDraw,\r\n editGraphicId,isDoEdit,isEndEdit,\r\n mapPointCollection,isclearAllPointCollection,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n isClearAll,mapStyle,coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n let props = t.props;\r\n\r\n // 设置地图地图样式\r\n if(mapStyle && !t.deepEqual(mapStyle,props.mapStyle)){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType && !t.deepEqual(coverageType,props.coverageType)){\r\n t.setMapType(coverageType);\r\n }\r\n // 等待地图加载\r\n if(!t.state.mapCreated)return;\r\n \r\n /*添加海量点*/\r\n if(mapPointCollection instanceof Array && props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection,props.mapPointCollection)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.mapPointCollection,mapPointCollection,'id');\r\n t.clearPointCollection(deletedDataIDs);\r\n t.addPointCollection(addedData);\r\n t.updatePointCollection(updatedData);\r\n }\r\n if((typeof(isclearAllPointCollection) == 'boolean' && isclearAllPointCollection) || (isclearAllPointCollection && isclearAllPointCollection !== t.props.isclearAllPointCollection)){\r\n t.clearAllPointCollection();\r\n }\r\n /*点数据处理\r\n pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if(mapPoints instanceof Array && props.mapPoints instanceof Array && !t.deepEqual(mapPoints,props.mapPoints)){\r\n let oldMapPoints = props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if(!!t.state.editId){\r\n oldMapPoints = props.mapPoints.filter((item)=>{return item.id !== editGraphicId});\r\n newMapPoints = mapPoints.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPoints,newMapPoints,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...pointIds,...point]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...pointIds,...point]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'point');\r\n }\r\n //增加\r\n t.addPoint([...ads,...otherads]);\r\n //更新\r\n t.updatePoint([...upds,...otherupds]);\r\n }\r\n /*\r\n 面数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapPolygons instanceof Array && props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons,props.mapPolygons)){\r\n let oldMapPolygons = props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if(!!t.state.editId){\r\n oldMapPolygons = props.mapPolygons.filter((item)=>{return item.id !== editGraphicId});\r\n newMapPolygons = mapPolygons.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPolygons,newMapPolygons,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...rectangle,...polygon,...polygonIds]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...rectangle,...polygon,...polygonIds]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'polygon');\r\n }\r\n //增加\r\n t.addPolygon([...ads,...otherads]);\r\n //更新\r\n t.updatePolygon([...upds,...otherupds]);\r\n }\r\n /*\r\n 圆数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapCircles instanceof Array && props.mapCircles instanceof Array && !t.deepEqual(mapCircles,props.mapCircles)){\r\n let oldMapCircles = props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if(!!t.state.editId){\r\n oldMapCircles = props.mapCircles.filter((item)=>{return item.id !== editGraphicId});\r\n newMapCircles = mapCircles.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapCircles,newMapCircles,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...circleIds,...circle]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...circleIds,...circle]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'circle');\r\n }\r\n //增加\r\n t.addCircle([...ads,...otherads]);\r\n //更新\r\n t.updateCircle([...upds,...otherupds]);\r\n }\r\n /*\r\n 线数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapLines instanceof Array && props.mapLines instanceof Array && !t.deepEqual(mapLines,props.mapLines)){\r\n let oldMapLines = props.mapLines;\r\n let newMapLines = mapLines;\r\n if(!!t.state.editId){\r\n oldMapLines = props.mapLines.filter((item)=>{return item.id !== editGraphicId});\r\n newMapLines = mapLines.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapLines,newMapLines,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...lineIds,...polyline]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...lineIds,...polyline]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'line');\r\n }\r\n //增加\r\n t.addLine([...ads,...otherads]);\r\n //更新\r\n t.updateLine([...upds,...otherupds]); \r\n }\r\n //画其他特例线专用\r\n if(customizedBoundary instanceof Array && props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,props.customizedBoundary)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.customizedBoundary,customizedBoundary,'id');\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'line');\r\n }\r\n t.addLine(addedData);\r\n t.updateLine(updatedData); \r\n }\r\n //绘制边界线\r\n if(boundaryName instanceof Array && props.boundaryName instanceof Array && !t.deepEqual(boundaryName,props.boundaryName)){\r\n let newBDName = Set(boundaryName);\r\n let oldBDName = Set(props.boundaryName);\r\n let removedBoundaryName = oldBDName.subtract(newBDName).toJS();\r\n let addedBoundaryName = newBDName.subtract(oldBDName).toJS();\r\n t.removeBaiduBoundary(removedBoundaryName);\r\n t.addBaiduBoundary(addedBoundaryName);\r\n }\r\n // 获取热力图\r\n if(heatMapData && !t.deepEqual(heatMapData,props.heatMapData)){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData && !t.deepEqual(infoWindowData,props.infoWindowData)){\r\n t.infoWindow(infoWindowData);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array && props.imageOverlays instanceof Array && !t.deepEqual(imageOverlays,props.imageOverlays)){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n //图元编辑调用\r\n if((typeof(isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)){\r\n t.doEdit(editGraphicId);\r\n }\r\n //关闭图元编辑\r\n if((typeof(isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)){\r\n t.endEdit();\r\n }\r\n //开启图元绘制\r\n if((typeof(isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)){\r\n t.draw(mapDraw);\r\n }\r\n //关闭图元绘制\r\n if((typeof(isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)){\r\n t.closeDraw();\r\n }\r\n //设置中心点\r\n if((typeof(setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)){\r\n t.setCenter(mapCenter);\r\n }\r\n //设置点聚合\r\n if((typeof(setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)){\r\n t.cluster(mapCluster);\r\n }\r\n // 清除聚合\r\n if(!setCluster && setCluster !== t.props.setCluster){\r\n t.removeCluster(mapCluster);\r\n }\r\n //设置比例尺\r\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n //设置最优视野\r\n if((typeof(setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //测距工具调用\r\n if((typeof(isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)){\r\n t.vtxRangingTool(mapRangingTool);\r\n }\r\n //开关路况\r\n if(isOpenTrafficInfo){\r\n t.openTrafficInfo();\r\n }else{\r\n t.hideTrafficInfo();\r\n }\r\n //设置区域限制\r\n if((typeof(isSetAreaRestriction) == 'boolean' && isSetAreaRestriction) \r\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction) \r\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //关闭区域限制\r\n if((typeof(isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)){\r\n t.clearAreaRestriction();\r\n }\r\n //清空地图\r\n if((typeof(isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)){\r\n t.clearAll();\r\n }\r\n //删除指定图元\r\n if((typeof(isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)){\r\n mapRemove.map((item,index)=>{\r\n t.removeGraphic(item.id,item.type);\r\n });\r\n }\r\n // 比例尺控件位置改变\r\n if(nextProps.showControl && JSON.stringify(nextProps.showControl)!=JSON.stringify(t.props.showControl)){\r\n t.showControl(nextProps);\r\n }\r\n // 比例尺移除\r\n if(!nextProps.showControl) {\r\n t.removeControl();\r\n }\r\n // 地图类型控件位置改变\r\n if(nextProps.satelliteSwitch && JSON.stringify(nextProps.satelliteSwitch)!=JSON.stringify(t.props.satelliteSwitch)){\r\n t.showMapTypeControl(nextProps);\r\n }\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n // t.state.gis[\"getCenter\"] = () => {\r\n // return t.getCurrentCenter();\r\n // }\r\n t.state.gis[\"setMapCenter\"] = (gt) => {\r\n t.setCenter(gt);\r\n }\r\n t.state.gis[\"getZoomLevel\"] = () => {\r\n return t.getZoomLevel();\r\n }\r\n t.state.gis[\"showInfoWindow\"] = (obj) => {\r\n return t.showInfoWindow(obj);\r\n }\r\n t.state.gis[\"hideInfoWindow\"] = () => {\r\n return t.hideInfoWindow();\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"refresh\"] = () => {\r\n t.refresh();\r\n }\r\n }\r\n componentWillUnmount() {\r\n //关闭moveTo定时\r\n let t = this;\r\n if(t.state.gis){\r\n t.state.gis.clearOverlays();\r\n }\r\n t.state.gis = null;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\r\n }\r\n}\r\n\r\nexport default BaiduMap;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAGA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAA+B,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,oBAAAA,EAAA,8BAAAkB,MAAA,QAAAC,GAAA;AAAA,SAAAK,QAAAX,CAAA,EAAAY,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAA/B,CAAA,GAAA6B,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAY,CAAA,KAAA3B,CAAA,GAAAA,CAAA,CAAAgC,MAAA,WAAAL,CAAA,WAAAE,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAY,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAA5B,CAAA,YAAA4B,CAAA;AAAA,SAAAS,cAAAtB,CAAA,aAAAY,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAA9B,MAAA,EAAAmB,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAW,OAAA,WAAAZ,CAAA,IAAAa,eAAA,CAAAzB,CAAA,EAAAY,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAAb,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAE,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAY,CAAA,EAAAE,MAAA,CAAAI,wBAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAZ,CAAA;AAAA,SAAAyB,gBAAA3C,GAAA,EAAA+C,GAAA,EAAA9B,KAAA,IAAA8B,GAAA,GAAAC,cAAA,CAAAD,GAAA,OAAAA,GAAA,IAAA/C,GAAA,IAAAgC,MAAA,CAAAc,cAAA,CAAA9C,GAAA,EAAA+C,GAAA,IAAA9B,KAAA,EAAAA,KAAA,EAAAoB,UAAA,QAAAY,YAAA,QAAAC,QAAA,oBAAAlD,GAAA,CAAA+C,GAAA,IAAA9B,KAAA,WAAAjB,GAAA;AAAA,SAAAmD,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAA1C,2BAAA,CAAA0C,GAAA,KAAAG,kBAAA;AAAA,SAAAA,mBAAA,cAAAlC,SAAA;AAAA,SAAAX,4BAAAP,CAAA,EAAAqD,MAAA,SAAArD,CAAA,qBAAAA,CAAA,sBAAAsD,iBAAA,CAAAtD,CAAA,EAAAqD,MAAA,OAAAzC,CAAA,GAAAiB,MAAA,CAAA0B,SAAA,CAAAC,QAAA,CAAAlC,IAAA,CAAAtB,CAAA,EAAAyD,KAAA,aAAA7C,CAAA,iBAAAZ,CAAA,CAAA0D,WAAA,EAAA9C,CAAA,GAAAZ,CAAA,CAAA0D,WAAA,CAAAC,IAAA,MAAA/C,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAAuD,IAAA,CAAA5D,CAAA,OAAAY,CAAA,+DAAAiD,IAAA,CAAAjD,CAAA,UAAA0C,iBAAA,CAAAtD,CAAA,EAAAqD,MAAA;AAAA,SAAAF,iBAAAW,IAAA,eAAA3D,MAAA,oBAAA2D,IAAA,CAAA3D,MAAA,CAAAC,QAAA,aAAA0D,IAAA,+BAAAzD,KAAA,CAAAuD,IAAA,CAAAE,IAAA;AAAA,SAAAZ,mBAAAD,GAAA,QAAA5C,KAAA,CAAAC,OAAA,CAAA2C,GAAA,UAAAK,iBAAA,CAAAL,GAAA;AAAA,SAAAK,kBAAAL,GAAA,EAAAc,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAd,GAAA,CAAAzC,MAAA,EAAAuD,GAAA,GAAAd,GAAA,CAAAzC,MAAA,WAAAC,CAAA,MAAAuD,IAAA,OAAA3D,KAAA,CAAA0D,GAAA,GAAAtD,CAAA,GAAAsD,GAAA,EAAAtD,CAAA,IAAAuD,IAAA,CAAAvD,CAAA,IAAAwC,GAAA,CAAAxC,CAAA,UAAAuD,IAAA;AAAA,SAAAC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAjD,SAAA;AAAA,SAAAkD,kBAAAC,MAAA,EAAAC,KAAA,aAAA7D,CAAA,MAAAA,CAAA,GAAA6D,KAAA,CAAA9D,MAAA,EAAAC,CAAA,UAAA8D,UAAA,GAAAD,KAAA,CAAA7D,CAAA,GAAA8D,UAAA,CAAArC,UAAA,GAAAqC,UAAA,CAAArC,UAAA,WAAAqC,UAAA,CAAAzB,YAAA,wBAAAyB,UAAA,EAAAA,UAAA,CAAAxB,QAAA,SAAAlB,MAAA,CAAAc,cAAA,CAAA0B,MAAA,EAAAxB,cAAA,CAAA0B,UAAA,CAAA3B,GAAA,GAAA2B,UAAA;AAAA,SAAAC,aAAAL,WAAA,EAAAM,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAL,iBAAA,CAAAD,WAAA,CAAAZ,SAAA,EAAAkB,UAAA,OAAAC,WAAA,EAAAN,iBAAA,CAAAD,WAAA,EAAAO,WAAA,GAAA7C,MAAA,CAAAc,cAAA,CAAAwB,WAAA,iBAAApB,QAAA,mBAAAoB,WAAA;AAAA,SAAAtB,eAAA8B,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,oBAAAE,OAAA,CAAAjC,GAAA,iBAAAA,GAAA,GAAAkC,MAAA,CAAAlC,GAAA;AAAA,SAAAgC,aAAAG,KAAA,EAAAC,IAAA,QAAAH,OAAA,CAAAE,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA5E,MAAA,CAAA+E,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAA3D,IAAA,CAAAyD,KAAA,EAAAC,IAAA,oBAAAH,OAAA,CAAAO,GAAA,uBAAAA,GAAA,YAAAlE,SAAA,4DAAA8D,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAAA,SAAAO,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAAtE,SAAA,0DAAAqE,QAAA,CAAAhC,SAAA,GAAA1B,MAAA,CAAA4D,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAAjC,SAAA,IAAAG,WAAA,IAAA5C,KAAA,EAAAyE,QAAA,EAAAxC,QAAA,QAAAD,YAAA,aAAAjB,MAAA,CAAAc,cAAA,CAAA4C,QAAA,iBAAAxC,QAAA,gBAAAyC,UAAA,EAAAE,eAAA,CAAAH,QAAA,EAAAC,UAAA;AAAA,SAAAE,gBAAA1F,CAAA,EAAA2F,CAAA,IAAAD,eAAA,GAAA7D,MAAA,CAAA+D,cAAA,GAAA/D,MAAA,CAAA+D,cAAA,CAAAC,IAAA,cAAAH,gBAAA1F,CAAA,EAAA2F,CAAA,IAAA3F,CAAA,CAAA8F,SAAA,GAAAH,CAAA,SAAA3F,CAAA,YAAA0F,eAAA,CAAA1F,CAAA,EAAA2F,CAAA;AAAA,SAAAI,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA3C,WAAA,EAAA4C,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAA9D,SAAA,EAAAiE,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhE,KAAA,OAAAE,SAAA,YAAAoE,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAC,IAAA,EAAArF,IAAA,QAAAA,IAAA,KAAAuD,OAAA,CAAAvD,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAJ,SAAA,uEAAA0F,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAT,0BAAA,eAAAM,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAzD,SAAA,CAAA0D,OAAA,CAAA3F,IAAA,CAAAkF,OAAA,CAAAC,SAAA,CAAAO,OAAA,8CAAAjG,CAAA;AAAA,SAAAsF,gBAAArG,CAAA,IAAAqG,eAAA,GAAAxE,MAAA,CAAA+D,cAAA,GAAA/D,MAAA,CAAAqF,cAAA,CAAArB,IAAA,cAAAQ,gBAAArG,CAAA,WAAAA,CAAA,CAAA8F,SAAA,IAAAjE,MAAA,CAAAqF,cAAA,CAAAlH,CAAA,aAAAqG,eAAA,CAAArG,CAAA;AAH/B,IAAOmH,GAAG,GAAIC,qBAAS,CAAhBD,GAAG;AACV;;AAIA;AACA;AACA,IAAIE,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;EACvCF,MAAM,CAACG,aAAa,GAAG,OAAO;EAC9BH,MAAM,CAACI,mBAAmB,GAAI,IAAIC,IAAI,CAAD,CAAC,CAAEC,OAAO,CAAC,CAAC;AACrD;AAEA,IAAMC,cAAc,GAAG;EACnBC,MAAM,EAAE,yBAAyB;EAAC;EAClCC,IAAI,EAAE,CAAC;EAAC;EACRC,MAAM,EAAE,CAAC;EAAC;EACVC,OAAO,EAAE,CAAC;EAAC;EACXC,SAAS,EAAE,CAAC;EAAC;EACbC,IAAI,EAAE,CAAC;EAAE;EACTC,OAAO,EAAE,CAAC;EAAC;EACXC,KAAK,EAAE,CAAC;EAAC;EACTC,MAAM,EAAE,CAAC;EAAC;EACVC,GAAG,EAAE,CAAC;EAAC;EACPC,MAAM,EAAE,CAAC;EAAC;EACVC,IAAI,EAAE,CAAC,CAAC;AACZ,CAAC;AAAA,IAEKC,QAAQ,0BAAAC,gBAAA;EAAApD,SAAA,CAAAmD,QAAA,EAAAC,gBAAA;EAAA,IAAAC,MAAA,GAAA5C,YAAA,CAAA0C,QAAA;EACV,SAAAA,SAAYnE,KAAK,EAAC;IAAA,IAAAsE,KAAA;IAAA3E,eAAA,OAAAwE,QAAA;IACdG,KAAA,GAAAD,MAAA,CAAArH,IAAA,OAAMgD,KAAK;IACXsE,KAAA,CAAKC,EAAE,GAAG,IAAIC,8BAAa,CAAC,CAAC,CAAC;IAC9BF,KAAA,CAAKG,cAAc,GAAGA,+BAAc;IACpCH,KAAA,CAAKI,cAAc,GAAG,CAAC,CAAC;IACxBJ,KAAA,CAAKK,QAAQ,GAAG,IAAI,CAAC;IACrBL,KAAA,CAAKM,YAAY,GAAG,IAAI,CAAC;IACzBN,KAAA,CAAKO,KAAK,GAAG,IAAI,CAAC;IAClBP,KAAA,CAAKQ,YAAY,GAAG,IAAI,CAAC;IACzBR,KAAA,CAAKS,iBAAiB,GAAG,IAAI,CAAC;IAC9BT,KAAA,CAAKU,WAAW,GAAG,IAAI,CAAC;IACxBV,KAAA,CAAKW,SAAS,GAAG,IAAI,CAAC;IACtBX,KAAA,CAAKY,WAAW,GAAG,IAAI,CAAC;IACxBZ,KAAA,CAAKa,OAAO,GAAG,IAAI,CAAC;IACpBb,KAAA,CAAKc,UAAU,GAAG,EAAE,CAAC;IACrBd,KAAA,CAAKe,UAAU,GAAG,EAAE,CAAC;IACrBf,KAAA,CAAKgB,WAAW,GAAG,IAAI;IACvBhB,KAAA,CAAKiB,KAAK,GAAG;MACTC,GAAG,EAAE,IAAI;MAAC;MACVC,KAAK,EAAEzF,KAAK,CAACyF,KAAK;MAClBC,UAAU,EAAE,KAAK;MACjBC,QAAQ,EAAC,EAAE;MAAE;MACbC,OAAO,EAAC,EAAE;MAAE;MACZC,UAAU,EAAC,EAAE;MAAE;MACfC,SAAS,EAAC,EAAE;MAAE;MACdC,MAAM,EAAE,EAAE;MAAC;MACXC,WAAW,EAAE,EAAE;MAAC;MAChBC,YAAY,EAAE,EAAE;MAAC;MACjBC,OAAO,EAAE;QAAC;QACNC,KAAK,EAAE,EAAE;QACTC,QAAQ,EAAE,EAAE;QACZC,OAAO,EAAE,EAAE;QACX9C,MAAM,EAAE,EAAE;QACV+C,SAAS,EAAE;MACf;IACJ,CAAC;IACDhC,KAAA,CAAKiC,gBAAgB,GAAG,CAAC,CAAC;IAC1BjC,KAAA,CAAKkC,SAAS,CAAC,CAAC;IAAC,OAAAlC,KAAA;EACrB;EAACpE,YAAA,CAAAiE,QAAA;IAAA7F,GAAA;IAAA9B,KAAA,EACD,SAAAiK,WAAA,EAAY;MACR,IAAIC,QAAQ,GAAG,EAAE;MACjB,IAAG,CAAC3D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACC,YAAY,EAAC;QAC/CF,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,2BAAuB,YAAI;YAC5DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACU,cAAc,EAAC;QACjDX,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,6BAAyB,YAAI;YAC9DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACW,eAAe,EAAC;QAClDZ,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,8BAA0B,YAAI;YAC/DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACY,eAAe,EAAC;QAClDb,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,8BAA0B,YAAI;YAC/DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACa,cAAc,EAAC;QACjDd,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,6BAAyB,YAAI;YAC9DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACc,cAAc,EAAC;QACjDf,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,sBAAkB,YAAI;YACvDN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACe,QAAQ,EAAC;QAC3ChB,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,uBAAmB,YAAI;YACxDN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACgB,eAAe,EAAC;QAClDjB,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,8BAA0B,YAAI;YAC/DN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;MACP;MACA,IAAG,CAAC/D,MAAM,CAAC4D,OAAO,IAAI,CAAC5D,MAAM,CAAC4D,OAAO,CAACiB,OAAO,EAAC;QAC1ClB,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;UACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,sBAAkB,YAAI;YACvDN,OAAO,CAAC,CAAC;UACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACHJ,QAAQ,CAAC7I,IAAI,CAAC,CAAC;MACnB;MACA6I,QAAQ,CAAC7I,IAAI,CAAC,IAAIgJ,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;QACxCC,CAAC,CAACC,SAAS,IAAAC,MAAA,CAAIC,oBAAS,CAACC,YAAY,8BAA0B,YAAI;UAC/DN,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;MACN,CAAC,CAAC,CAAC;MACH,OAAOD,OAAO,CAACgB,GAAG,CAACnB,QAAQ,CAAC,CAACoB,IAAI,CAAC,YAAI;QAClC,OAAO/E,MAAM,CAACgF,IAAI;MACtB,CAAC,CAAC;IACN;EAAC;IAAAzJ,GAAA;IAAA9B,KAAA,EACD,SAAAgK,UAAA,EAAW;MAAA,IAAAwB,MAAA;MACP,IAAI,CAACC,eAAe,GAAG,IAAIpB,OAAO,CAAC,UAACC,OAAO,EAACC,MAAM,EAAG;QACjD,IAAGhE,MAAM,CAACgF,IAAI,EAAC;UACXjB,OAAO,CAACkB,MAAI,CAACvB,UAAU,CAAC,CAAC,CAAC;QAC9B,CAAC,MACG;UACA;UACAO,CAAC,CAACC,SAAS,CAAC,iEAAiE,EAAC,YAAI;YAC9EH,OAAO,CAACkB,MAAI,CAACvB,UAAU,CAAC,CAAC,CAAC;UAC9B,CAAC,CAAC;UACFO,CAAC,CAAC,QAAQ,CAAC,CAACkB,IAAI,CAAC;YAAEC,GAAG,EAAE,YAAY;YAACC,IAAI,EAAE,UAAU;YAACC,IAAI,EAAE;UAA2E,CAAC,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;QAC9J;MACJ,CAAC,CAAC;IACN;IACA;EAAA;IAAAhK,GAAA;IAAA9B,KAAA,EACA,SAAA+L,KAAA,EAAM;MACF,IAAIjL,CAAC,GAAG,IAAI;MACZ;MACAA,CAAC,CAACkL,SAAS,CAAC,CAAC;MACb,IAAAC,WAAA,GAKI,IAAI,CAACzI,KAAK;QAJV0I,SAAS,GAAAD,WAAA,CAATC,SAAS;QAACC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QAACC,WAAW,GAAAH,WAAA,CAAXG,WAAW;QAACC,UAAU,GAAAJ,WAAA,CAAVI,UAAU;QAACC,aAAa,GAAAL,WAAA,CAAbK,aAAa;QACvDC,gBAAgB,GAAAN,WAAA,CAAhBM,gBAAgB;QAACC,UAAU,GAAAP,WAAA,CAAVO,UAAU;QAACC,YAAY,GAAAR,WAAA,CAAZQ,YAAY;QACxCC,iBAAiB,GAAAT,WAAA,CAAjBS,iBAAiB;QAACC,kBAAkB,GAAAV,WAAA,CAAlBU,kBAAkB;QAACC,eAAe,GAAAX,WAAA,CAAfW,eAAe;QACpDC,YAAY,GAAAZ,WAAA,CAAZY,YAAY;MAEhB,IAAAC,YAAA,GAAmE,IAAI,CAACtJ,KAAK;QAAxEuJ,YAAY,GAAAD,YAAA,CAAZC,YAAY;QAACC,WAAW,GAAAF,YAAA,CAAXE,WAAW;QAACC,cAAc,GAAAH,YAAA,CAAdG,cAAc;QAACC,kBAAkB,GAAAJ,YAAA,CAAlBI,kBAAkB;MAC/D,IAAAC,WAAA,GAA2D,IAAI,CAACpE,KAAK;QAAhEU,YAAY,GAAA0D,WAAA,CAAZ1D,YAAY;QAACN,QAAQ,GAAAgE,WAAA,CAARhE,QAAQ;QAACC,OAAO,GAAA+D,WAAA,CAAP/D,OAAO;QAACC,UAAU,GAAA8D,WAAA,CAAV9D,UAAU;QAACC,SAAS,GAAA6D,WAAA,CAAT7D,SAAS;MACvD;MACA,IAAGuD,YAAY,EAAC;QACZ/L,CAAC,CAACsM,UAAU,CAACP,YAAY,CAAC;MAC9B;MACA;MACA,IAAGX,SAAS,YAAY3M,KAAK,EAAC;QAC1BuB,CAAC,CAACuM,QAAQ,CAACnB,SAAS,CAAC;MACzB;MACA;MACA,IAAGC,QAAQ,YAAY5M,KAAK,EAAC;QACzBuB,CAAC,CAACwM,OAAO,CAACnB,QAAQ,CAAC;MACvB;MACA;MACA,IAAGC,WAAW,YAAY7M,KAAK,EAAC;QAC5BuB,CAAC,CAACyM,UAAU,CAACnB,WAAW,CAAC;MAC7B;MACA;MACA,IAAGC,UAAU,YAAY9M,KAAK,EAAC;QAC3BuB,CAAC,CAAC0M,SAAS,CAACnB,UAAU,CAAC;MAC3B;MACA;MACA,IAAGC,aAAa,YAAY/M,KAAK,EAAC;QAC9BuB,CAAC,CAAC2M,eAAe,CAACnB,aAAa,CAAC;MACpC;MACA;MACA,IAAGS,YAAY,YAAYxN,KAAK,IAAIwN,YAAY,CAACrN,MAAM,GAAC,CAAC,EAAC;QACtDoB,CAAC,CAAC4M,gBAAgB,CAACX,YAAY,CAAC;MACpC;MACA;MACA,IAAGC,WAAW,EAAC;QACXlM,CAAC,CAAC6M,cAAc,CAACX,WAAW,CAAC;MACjC;MACA;MACA,IAAGC,cAAc,EAAC;QACdnM,CAAC,CAAC8M,UAAU,CAACX,cAAc,CAAC;MAChC;MACA,IAAGN,kBAAkB,YAAYpN,KAAK,EAAC;QACnCuB,CAAC,CAAC+M,kBAAkB,CAAClB,kBAAkB,CAAC;MAC5C;MACA;MACA,IAAGJ,gBAAgB,EAAC;QAChBzL,CAAC,CAACgN,gBAAgB,CAACvB,gBAAgB,CAAC;MACxC;MACA;MACA,IAAGC,UAAU,YAAYjN,KAAK,EAAC;QAC3BuB,CAAC,CAACiN,OAAO,CAACvB,UAAU,CAAC;MACzB;MACA;MACA,IAAGE,iBAAiB,EAAC;QACjB5L,CAAC,CAACkN,eAAe,CAAC,CAAC;MACvB,CAAC,MAAI;QACDlN,CAAC,CAACmN,eAAe,CAAC,CAAC;MACvB;MACA;MACA,IAAGrB,eAAe,IAAI,CAAC,CAACA,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAACA,eAAe,CAAC,CAAC,CAAC,EAAC;QAC/D9L,CAAC,CAACoN,kBAAkB,CAACtB,eAAe,CAAC;MACzC;MACA;MACA,IAAG9L,CAAC,CAAC0C,KAAK,CAAC2K,WAAW,EAAC;QACnBrN,CAAC,CAACqN,WAAW,CAAC,CAAC;MACnB;MACA;MACA;MACArN,CAAC,CAACsN,QAAQ,CAAC,CAAC;MACZ;MACAtN,CAAC,CAACuN,YAAY,CAAC,CAAC;MAChB;MACAvN,CAAC,CAACwN,UAAU,CAAC,CAAC;MACd;MACAxN,CAAC,CAACyN,SAAS,CAAC,CAAC;MACb;MACAzN,CAAC,CAAC0N,OAAO,CAAC,CAAC;MACX;MACA1N,CAAC,CAAC2N,SAAS,CAAC,CAAC;MACb;MACA3N,CAAC,CAAC4N,OAAO,CAAC,CAAC;MACX5N,CAAC,CAAC6N,QAAQ,CAAC;QACPzF,UAAU,EAAC;MACf,CAAC,CAAC;IACN;IACA;EAAA;IAAApH,GAAA;IAAA9B,KAAA,EACA,SAAAgM,UAAA,EAAa;MACT,IAAIlL,CAAC,GAAG,IAAI;MACZ,IAAA8N,QAAA,GAAgE9N,CAAC,CAAC0C,KAAK;QAAhEqL,SAAS,GAAAD,QAAA,CAATC,SAAS;QAACC,QAAQ,GAAAF,QAAA,CAARE,QAAQ;QAAC7F,KAAK,GAAA2F,QAAA,CAAL3F,KAAK;QAACwD,YAAY,GAAAmC,QAAA,CAAZnC,YAAY;QAACsC,OAAO,GAAAH,QAAA,CAAPG,OAAO;QAACC,OAAO,GAAAJ,QAAA,CAAPI,OAAO;MAC5D,IAAIC,OAAO,GAAE;QACTC,IAAI,EAAEzC,YAAY,IAAI,EAAE;QACxB0C,MAAM,EAAEN,SAAS,IAAI,CAAC,OAAO,EAAC,MAAM,CAAC;QACrCE,OAAO,EAAPA,OAAO;QAACC,OAAO,EAAPA;MACZ,CAAC;MACD,IAAGzI,MAAM,CAAC6I,MAAM,EAAC;QACb7I,MAAM,CAAC6I,MAAM,CAACnG,KAAK,CAAC,GAAE,IAAI;MAC9B,CAAC,MAAI;QACD1C,MAAM,CAAC6I,MAAM,GAAG,CAAC,CAAC;MACtB;MACA;MACAtO,CAAC,CAACuO,cAAc,GAAG;QACfC,EAAE,EAAEC,qBAAqB;QACzBC,EAAE,EAAEC,oBAAoB;QACxBC,EAAE,EAAEC,uBAAuB;QAC3BC,EAAE,EAAEC;MACR,CAAC;MACD;MACA/O,CAAC,CAACgP,kBAAkB,GAAG;QACnBC,KAAK,EAAEC,6BAA6B;QACpC1I,KAAK,EAAE2I,6BAA6B;QACpCC,GAAG,EAAEC,2BAA2B;QAChCjB,IAAI,EAAEkB;MACV,CAAC;MACD,IAAIC,GAAG,GAAG9J,MAAM,CAAC6I,MAAM,CAACnG,KAAK,CAAC,GAAGnI,CAAC,CAACiI,KAAK,CAACC,GAAG,GAAG,IAAIuC,IAAI,CAAC+E,GAAG,CAACrH,KAAK,CAACvG,QAAQ,CAAC,CAAC,EAAC;QACzE6N,cAAc,EAAG,KAAK;QACtBxB,OAAO,EAAEE,OAAO,CAACF,OAAO;QACxBC,OAAO,EAAEC,OAAO,CAACD;MACrB,CAAC,CAAC;MACF,IAAGF,QAAQ,EAAC;QACR,IAAG,OAAOA,QAAS,KAAK,QAAQ,EAAC;UAC7BhO,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwH,WAAW,CAAC;YAACC,KAAK,EAAC3B;UAAQ,CAAC,CAAC;QAC7C;QACA,IAAGA,QAAQ,YAAYvP,KAAK,EAAC;UACzBuB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwH,WAAW,CAAC;YAACE,SAAS,EAAC5B;UAAQ,CAAC,CAAC;QACjD;MACJ;MACA6B,UAAU,CAAC,YAAI;QACXnG,CAAC,CAAC,kBAAkB,CAAC,CAACoG,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC,CAACC,GAAG,CAAC;UAAC,SAAS,EAAC;QAAC,CAAC,CAAC;MACrE,CAAC,EAAC,GAAG,CAAC;MACN;MACAT,GAAG,CAACU,aAAa,CAAC,IAAIxF,IAAI,CAACyF,KAAK,CAACC,UAAU,CAAChC,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC8B,UAAU,CAAChC,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEF,OAAO,CAACC,IAAI,CAAC;MAC5G;MACA,IAAGpO,CAAC,CAAC0C,KAAK,CAAC0N,eAAe,EAAC;QACvBpQ,CAAC,CAACqQ,kBAAkB,CAAC,CAAC;MAC1B;MACA;MACA,IAAG,CAACrQ,CAAC,CAACsQ,YAAY,EAAC;QACftQ,CAAC,CAACsQ,YAAY,GAAG,IAAIjH,OAAO,CAACU,cAAc,CAAC;UACxC;UACAwG,SAAS,EAAG;QAChB,CAAC,CAAC;QACFhB,GAAG,CAACiB,UAAU,CAACxQ,CAAC,CAACsQ,YAAY,CAAC;QAC9B,IAAGG,QAAQ,CAACC,cAAc,CAAC,OAAO,CAAC,CAACC,MAAM,EAAC;UACvCF,QAAQ,CAACC,cAAc,CAAC,OAAO,CAAC,CAACC,MAAM,CAAC,CAAC;QAC7C,CAAC,MAAI;UACDF,QAAQ,CAACC,cAAc,CAAC,OAAO,CAAC,CAACE,UAAU,CAAC,CAAC;QACjD;MACJ;MACA;MACArB,GAAG,CAACsB,qBAAqB,CAAC,IAAI,CAAC;MAC/B;MACA,IAAG,CAAC7Q,CAAC,CAAC2H,SAAS,EAAC;QACZ3H,CAAC,CAAC2H,SAAS,GAAG,IAAI8C,IAAI,CAACqG,QAAQ,CAAC,CAAC;MACrC;MACA;MACA,IAAG,CAAC9Q,CAAC,CAACqH,QAAQ,EAAC;QACXrH,CAAC,CAACqH,QAAQ,GAAG,IAAIgC,OAAO,CAACW,eAAe,CAACuF,GAAG,EAAC;UAACrB,OAAO,EAAE;QAAE,CAAC,CAAC;MAC/D;MACA;MACA,IAAG,CAAClO,CAAC,CAACsH,YAAY,EAAC;QACftH,CAAC,CAACsH,YAAY,GAAG,IAAI+B,OAAO,CAACC,YAAY,CAACiG,GAAG,CAAC;MAClD;MACA;MACA,IAAG,CAACvP,CAAC,CAACuH,KAAK,EAAC;QACRvH,CAAC,CAACuH,KAAK,GAAG,IAAI8B,OAAO,CAACY,eAAe,CAAC,CAAC;MAC3C;MACA;MACA,IAAG,CAACjK,CAAC,CAACwH,YAAY,EAAC;QACfxH,CAAC,CAACwH,YAAY,GAAG,IAAI6B,OAAO,CAACa,cAAc,CAACqF,GAAG,CAAC;QAChD;QACAvP,CAAC,CAACwH,YAAY,CAACuJ,gBAAgB,CAAC,iBAAiB,EAAE,UAAC5R,CAAC,EAAG;UAAA,IAAA6R,qBAAA;UACpD,IAAG7R,CAAC,CAAC8R,KAAK,EAAC;YACPjR,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACgJ,aAAa,CAAC/R,CAAC,CAAC8R,KAAK,CAAC;UACtC;UACA,IAAIE,WAAW,GAAGhS,CAAC,CAACiS,OAAO;UAC3B;UACApR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACuI,WAAW,CAACrG,IAAI,CAAC,CAACvK,IAAI,CAAC4Q,WAAW,CAACE,EAAE,CAAC;UACtD,IAAIC,OAAO,GAAG;YACVD,EAAE,EAAEF,WAAW,CAACE,EAAE;YAClBE,UAAU,EAAEJ,WAAW,CAACI,UAAU;YAClCC,YAAY,EAAEL,WAAW,CAACrG,IAAI,IAAI,WAAW,GAAC,SAAS,GAACqG,WAAW,CAACrG,IAAI;YACxE2G,QAAQ,EAAEtS,CAAC,CAACuS,OAAO;YACnBC,QAAQ,EAAE;cACN7G,IAAI,EAAGqG,WAAW,CAACrG,IAAI,IAAI,WAAW,GAAC,SAAS,GAACqG,WAAW,CAACrG;YACjE;UACJ,CAAC;UACD;UACA3L,CAAC,CAACuS,OAAO,CAACX,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;YACpCa,CAAC,CAAC4R,YAAY,CAACT,WAAW,CAACE,EAAE,EAAClS,CAAC,CAAC;UACpC,CAAC,CAAC;UACF;UACAA,CAAC,CAACuS,OAAO,CAACX,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;YACxCa,CAAC,CAAC6R,gBAAgB,CAACV,WAAW,CAACE,EAAE,EAAClS,CAAC,CAAC;UACxC,CAAC,CAAC;UACF;UACAA,CAAC,CAACuS,OAAO,CAACX,gBAAgB,CAAC,UAAU,EAAC,UAAC5R,CAAC,EAAG;YACvCa,CAAC,CAAC8R,eAAe,CAACX,WAAW,CAACE,EAAE,EAAClS,CAAC,CAAC;UACvC,CAAC,CAAC;UACF;UACAa,CAAC,CAACiH,EAAE,CAAC8K,UAAU,CAACZ,WAAW,CAACE,EAAE,EAAClS,CAAC,CAACuS,OAAO,CAAC;;UAEzC;UACA,IAAAM,WAAA,GAA+BhS,CAAC,CAACiS,QAAQ,CAAC9S,CAAC,CAACuS,OAAO,CAAC;YAA/CQ,SAAS,GAAAF,WAAA,CAATE,SAAS;YAACC,OAAO,GAAAH,WAAA,CAAPG,OAAO;YAACC,IAAI,GAAAJ,WAAA,CAAJI,IAAI;UAC3B;UACA,QAAOjB,WAAW,CAACrG,IAAI;YACnB,KAAK,OAAO;cACRwG,OAAO,CAACK,QAAQ,CAACU,CAAC,GAAGlT,CAAC,CAACuS,OAAO,CAACY,WAAW,CAAC,CAAC,CAACC,GAAG;cAChDjB,OAAO,CAACK,QAAQ,CAACa,CAAC,GAAGrT,CAAC,CAACuS,OAAO,CAACY,WAAW,CAAC,CAAC,CAACG,GAAG;cACpD;YACA,KAAK,UAAU;cACXnB,OAAO,CAACoB,QAAQ,GAAGvT,CAAC,CAACwT,SAAS;cAC9BrB,OAAO,CAACY,SAAS,GAAGA,SAAS;cAC7BZ,OAAO,CAACK,QAAQ,CAACiB,KAAK,GAAGR,IAAI;cAC7Bd,OAAO,CAACK,QAAQ,CAACQ,OAAO,GAAGA,OAAO;cACtC;YACA,KAAK,SAAS;cACVb,OAAO,CAACuB,IAAI,GAAG1T,CAAC,CAACwT,SAAS;cAC1BrB,OAAO,CAACY,SAAS,GAAGA,SAAS;cAC7BZ,OAAO,CAACK,QAAQ,CAACmB,KAAK,GAAGV,IAAI;cAC7Bd,OAAO,CAACK,QAAQ,CAACQ,OAAO,GAAGA,OAAO;cACtC;YACA,KAAK,WAAW;cACZb,OAAO,CAACuB,IAAI,GAAG1T,CAAC,CAACwT,SAAS;cAC1BrB,OAAO,CAACY,SAAS,GAAGA,SAAS;cAC7BZ,OAAO,CAACK,QAAQ,CAACmB,KAAK,GAAGV,IAAI;cAC7Bd,OAAO,CAACK,QAAQ,CAACQ,OAAO,GAAGA,OAAO;cACtC;YACA,KAAK,QAAQ;cACTb,OAAO,CAACK,QAAQ,CAACU,CAAC,GAAGlT,CAAC,CAACuS,OAAO,CAACqB,SAAS,CAAC,CAAC,CAACR,GAAG;cAC9CjB,OAAO,CAACK,QAAQ,CAACa,CAAC,GAAGrT,CAAC,CAACuS,OAAO,CAACqB,SAAS,CAAC,CAAC,CAACN,GAAG;cAC9CnB,OAAO,CAACK,QAAQ,CAACqB,MAAM,GAAG7T,CAAC,CAACuS,OAAO,CAACuB,SAAS,CAAC,CAAC;cAC/C3B,OAAO,CAACuB,IAAI,GAAG1T,CAAC,CAACwT,SAAS;cAC9B;UACJ;UACA3S,CAAC,CAACiH,EAAE,CAACiM,eAAe,CAAC/B,WAAW,CAACE,EAAE,EAACC,OAAO,CAAC;UAC5CtR,CAAC,CAACwH,YAAY,CAAC2L,KAAK,CAAC,CAAC;UACtB,IAAG,SAAS,IAAInT,CAAC,CAAC0C,KAAK,EAAC;YACpB1C,CAAC,CAAC0C,KAAK,CAAC0Q,OAAO,CAAC9B,OAAO,CAAC;UAC5B;UACA,IAAG,EAAAN,qBAAA,GAAAhR,CAAC,CAACiJ,gBAAgB,CAACqI,OAAO,CAACD,EAAE,CAAC,cAAAL,qBAAA,uBAA9BA,qBAAA,CAAgCqC,QAAQ,aAAYC,QAAQ,EAAC;YAC5DtT,CAAC,CAACiJ,gBAAgB,CAACqI,OAAO,CAACD,EAAE,CAAC,CAACgC,QAAQ,CAAC/B,OAAO,CAAC;UACpD;QACJ,CAAC,CAAC;MACN;MACAtR,CAAC,CAACuT,gBAAgB,CAAC,CAAC;IACxB;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAAvS,GAAA;IAAA9B,KAAA,EAOA,SAAAoN,WAAWxB,IAAI,EAAC;MACZ,QAAQA,IAAI;QACR,KAAK,IAAI;UACL,IAAI,CAAC7C,KAAK,CAACC,GAAG,CAACoE,UAAU,CAACkH,eAAe,CAAC;UAC9C;QACA,KAAK,IAAI;UACL,IAAI,CAACvL,KAAK,CAACC,GAAG,CAACoE,UAAU,CAACmH,eAAe,CAAC;UAC9C;MACJ;IACJ;IACA;EAAA;IAAAzS,GAAA;IAAA9B,KAAA,EACA,SAAAyN,gBAAgB+G,QAAQ,EAAC;MACrB,IAAI1T,CAAC,GAAG,IAAI;MACZ0T,QAAQ,CAACnE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACvB,IAAKC,EAAE,GAAmBF,IAAI,CAAzBE,EAAE;UAACC,EAAE,GAAgBH,IAAI,CAAtBG,EAAE;UAACC,GAAG,GAAYJ,IAAI,CAAnBI,GAAG;UAACC,OAAO,GAAIL,IAAI,CAAfK,OAAO;QACtB,IAAG,CAACD,GAAG,EAAC;UACJE,OAAO,CAACC,IAAI,sDAAc,CAAC;UAC3B,OAAO,KAAK;QAChB;QACA,IAAGL,EAAE,IAAIC,EAAE,IAAIrV,KAAK,CAACC,OAAO,CAACmV,EAAE,CAAC,IAAIpV,KAAK,CAACC,OAAO,CAACoV,EAAE,CAAC,IAAID,EAAE,CAAC,CAAC,CAAC,IAAIA,EAAE,CAAC,CAAC,CAAC,IAAIC,EAAE,CAAC,CAAC,CAAC,IAAIA,EAAE,CAAC,CAAC,CAAC,EAAC;UACtF,IAAIK,GAAG,GAAG,IAAI1J,IAAI,CAACyF,KAAK,CAAC2D,EAAE,CAAC,CAAC,CAAC,EAACA,EAAE,CAAC,CAAC,CAAC,CAAC;YACjCO,GAAG,GAAG,IAAI3J,IAAI,CAACyF,KAAK,CAAC4D,EAAE,CAAC,CAAC,CAAC,EAACA,EAAE,CAAC,CAAC,CAAC,CAAC;YACjCO,MAAM,GAAG;cACLL,OAAO,EAAEA,OAAO,IAAI,CAAC;cACrBM,iBAAiB,EAAEX,IAAI,CAACW,iBAAiB,IAAI,CAAC;cAC9CC,iBAAiB,EAAEZ,IAAI,CAACY,iBAAiB,IAAI,EAAE;cAC/CC,QAAQ,EAAET;YACd,CAAC;YACDU,KAAK,GAAG,IAAIhK,IAAI,CAACiK,MAAM,CAACP,GAAG,EAAEC,GAAG,CAAC;YACjCzH,eAAe,GAAG,IAAIlC,IAAI,CAACkK,aAAa,CAACF,KAAK,EAAEJ,MAAM,CAAC;UACvDrU,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAACjI,eAAe,CAAC;QAE/C,CAAC,MAAI;UACDsH,OAAO,CAACC,IAAI,8DAAiB,CAAC;UAC9B,OAAO,KAAK;QAChB;MACJ,CAAC,CAAC;IACN;IACA;EAAA;IAAAlT,GAAA;IAAA9B,KAAA,EACA,SAAAqN,SAASnB,SAAS,EAACN,IAAI,EAAC;MAAA,IAAA+J,MAAA;MACpB,IAAI7U,CAAC,GAAG,IAAI;MACZ,IAAI8U,KAAK,GAAA1T,kBAAA,CAAOpB,CAAC,CAACiI,KAAK,CAACI,QAAQ,CAAC;MACjC+C,SAAS,CAACmE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACxB;QACA,IAAIiB,MAAI,CAAC5N,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC/B4C,OAAO,CAACC,IAAI,oBAAAtK,MAAA,CAAU+J,IAAI,CAACtC,EAAE,kBAAK,CAAC;UACnC,OAAO,KAAK;QAChB;QACA;QACA,IAAG,CAACsC,IAAI,CAACqB,SAAS,IAAI,CAACrB,IAAI,CAACsB,QAAQ,EAAC;UACjChB,OAAO,CAACC,IAAI,qDAAa,CAAC;UAC1B,OAAO,KAAK;QAChB;QACA,IAAIgB,EAAE,GAAG;UACLC,KAAK,EAAG,EAAE;UACVC,MAAM,EAAG,EAAE;UACXC,YAAY,EAAE,EAAE;UAChBC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAE,EAAE;UACfC,cAAc,EAAE,CAAC;UACjB;UACA;UACAC,cAAc,EAAE,CAAC,EAAE;UACnBC,cAAc,EAAE,CAAC,EAAE;UACnBC,GAAG,EAAE;QACT,CAAC;QACD,IAAGhC,IAAI,CAACiC,aAAa,EAAC;UAClBV,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE;YAACO,cAAc,EAAE,CAAC;YAACC,cAAc,EAAE,CAAC;YAACP,KAAK,EAAC,GAAG;YAACC,MAAM,EAAC;UAAE,EAAC;QACxE;QACA;QACA,IAAGzB,IAAI,CAACkC,MAAM,EAAC;UACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;QAC/B;QACA,IAAIC,QAAQ,GAAG,IAAIrL,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAACqB,SAAS,EAACrB,IAAI,CAACsB,QAAQ,CAAC;QAC3D,IAAIc,MAAM,GAAG,IAAI;QACjB,IAAGpC,IAAI,CAACiC,aAAa,EAAC;UAClB;AAChB;UACiB;UACD,IAAII,YAAY,GAAG;YACfC,MAAM,EAAE,IAAIxL,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACO,cAAc,GAAGP,EAAE,CAACC,KAAK,GAAC,CAAC,EAC5BD,EAAE,CAACQ,cAAc,GAAGR,EAAE,CAACE,MAAM,GAAC,CAAC,CAAC;YACxDe,IAAI,EAAE;UACV,CAAC;UACD,IAAIA,IAAI,GAAG,IAAI1L,IAAI,CAAC2L,IAAI,IAAAxM,MAAA,CACjBC,oBAAS,CAACC,YAAY,0BACzB,IAAIW,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CACpC,CAAC;UACDe,IAAI,CAACE,YAAY,CAAC,IAAI5L,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CAAC,CAAC;UACpDY,YAAY,GAAAvV,aAAA,CAAAA,aAAA,KAAOuV,YAAY;YAACG,IAAI,EAAJA;UAAI,EAAC;UACrCJ,MAAM,GAAG,IAAItL,IAAI,CAAC6L,MAAM,CAACR,QAAQ,EAACE,YAAY,CAAC;;UAE/C;UACA,IAAIO,aAAa,GAAG;YAChBN,MAAM,EAAE,IAAIxL,IAAI,CAACyL,IAAI,CAAC,CAAC,EAAC,CAAC;UAC7B,CAAC;UACD,IAAIM,OAAO,GAAG,IAAI/L,IAAI,CAACgM,KAAK,CAAC9C,IAAI,CAACiC,aAAa,EAACW,aAAa,CAAC;UAC9DC,OAAO,CAACE,QAAQ,CAAC;YACbC,eAAe,EAAG,EAAE;YACpBC,MAAM,EAAG;UACb,CAAC,CAAC;UACFb,MAAM,CAACc,QAAQ,CAACL,OAAO,CAAC;QAC5B,CAAC,MAAI;UACD;UACA;UACA,IAAIR,aAAY,GAAG;YACfC,MAAM,EAAE,IAAIxL,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACO,cAAc,GAAGP,EAAE,CAACC,KAAK,GAAC,CAAC,EAC5BD,EAAE,CAACQ,cAAc,GAAGR,EAAE,CAACE,MAAM,GAAC,CAAC,CAAC;YACxDe,IAAI,EAAE;UACV,CAAC;UACD,IAAIA,KAAI,GAAG,IAAI1L,IAAI,CAAC2L,IAAI,CACpBzC,IAAI,CAACI,GAAG,OAAAnK,MAAA,CAAOC,oBAAS,CAACC,YAAY,8BAA2B,EAChE,IAAIW,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CACpC,CAAC;UACDe,KAAI,CAACE,YAAY,CAAC,IAAI5L,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CAAC,CAAC;UACpDY,aAAY,GAAAvV,aAAA,CAAAA,aAAA,KAAOuV,aAAY;YAACG,IAAI,EAAJA;UAAI,EAAC;UACrCJ,MAAM,GAAG,IAAItL,IAAI,CAAC6L,MAAM,CAACR,QAAQ,EAACE,aAAY,CAAC;UAC/C;UACAD,MAAM,CAACe,WAAW,CAAC5B,EAAE,CAACS,GAAG,CAAC;UAC1B;UACA,IAAGhC,IAAI,CAACoD,YAAY,IAAI7B,EAAE,CAACG,YAAY,EAAC;YACpC;YACA,IAAI2B,UAAU,GAAG,eAAe;YAChC;YACA,IAAGrD,IAAI,CAACqD,UAAU,EAAC;cACfA,UAAU,GAAGrD,IAAI,CAACqD,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;YACrD;YACA,IAAIC,WAAW,GAAG,IAAI1M,IAAI,CAACgM,KAAK,CAC5B,cAAc,GAACO,UAAU,GAAC,8BAA8B,GAClD9B,EAAE,CAACG,YAAY,GAAG,QAAQ,EAAE;cAClCY,MAAM,EAAG,IAAIxL,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACI,WAAW,EAACJ,EAAE,CAACK,WAAW;YACxD,CAAC,CAAC;YACF4B,WAAW,CAACT,QAAQ,CAAC;cACjBE,MAAM,EAAG,GAAG;cACZD,eAAe,EAAG;YACtB,CAAC,CAAC;YACFZ,MAAM,CAACc,QAAQ,CAACM,WAAW,CAAC;UAChC;QACJ;QACA,IAAGjC,EAAE,CAACkC,MAAM,IAAIlC,EAAE,CAACkC,MAAM,KAAK,CAAC,EAAC;UAC5BrB,MAAM,CAACsB,SAAS,CAACnC,EAAE,CAACkC,MAAM,CAAC;QAC/B;QACA;QACApX,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAACmB,MAAM,CAAC;QAC9B,IAAG,CAACpC,IAAI,CAACiC,aAAa,IAAIV,EAAE,CAACM,cAAc,IAAI,CAAC,EAAC;UAC7CO,MAAM,CAACuB,YAAY,CAACC,qBAAqB,CAAC;QAC9C,CAAC,MAAK,IAAG,CAAC5D,IAAI,CAACiC,aAAa,IAAIV,EAAE,CAACM,cAAc,IAAI,CAAC,EAAC;UACnDO,MAAM,CAACuB,YAAY,CAACE,mBAAmB,CAAC;QAC5C;QACA;QACAzB,MAAM,CAAChF,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;UACjCa,CAAC,CAAC4R,YAAY,CAAC+B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF;QACA4W,MAAM,CAAChF,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UACrCa,CAAC,CAAC6R,gBAAgB,CAAC8B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QACjC,CAAC,CAAC;QACF;QACA4W,MAAM,CAAChF,gBAAgB,CAAC,UAAU,EAAC,UAAC5R,CAAC,EAAG;UACpCa,CAAC,CAAC8R,eAAe,CAAC6B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAChC,CAAC,CAAC;QACF;QACA2V,KAAK,CAACvU,IAAI,CAACoT,IAAI,CAACtC,EAAE,CAAC;QACnB;QACArR,CAAC,CAACiH,EAAE,CAAC8K,UAAU,CAAC4B,IAAI,CAACtC,EAAE,EAAC0E,MAAM,CAAC,CAC9B7C,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;UACrBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KAAMkT,IAAI;YAAC8D,KAAK,EAAE9D;UAAI,EAAC;UACjCnC,YAAY,EAAE,OAAO;UACrBG,QAAQ,EAAE;YACN7G,IAAI,EAAE,OAAO;YACbuH,CAAC,EAAEsB,IAAI,CAACqB,SAAS;YACjBxC,CAAC,EAAEmB,IAAI,CAACsB;UACZ;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACF,IAAGnK,IAAI,KAAK,SAAS,EAAC;QAClB;QACA;QACA;QACA;QACA9K,CAAC,CAACiI,KAAK,CAACI,QAAQ,GAAGyM,KAAK;MAC5B;IACJ;IACA;EAAA;IAAA9T,GAAA;IAAA9B,KAAA,EACA,SAAAwY,YAAYtM,SAAS,EAAC;MAAA,IAAAuM,MAAA;MAClB,IAAI3X,CAAC,GAAG,IAAI;MACZ;MACAoL,SAAS,CAACmE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACxB;QACA,IAAI+D,MAAI,CAAC1Q,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC/B;UACA,IAAG,CAACsC,IAAI,CAACqB,SAAS,IAAI,CAACrB,IAAI,CAACsB,QAAQ,EAAC;YACjChB,OAAO,CAACC,IAAI,qDAAa,CAAC;YAC1B,OAAO,KAAK;UAChB;UACA;UACA,IAAI0D,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAClE,IAAI,CAACtC,EAAE,CAAC;UACjC,IAAI6D,EAAE,GAAG;YACLC,KAAK,EAAG,EAAE;YACVC,MAAM,EAAG,EAAE;YACXC,YAAY,EAAE,EAAE;YAChBC,WAAW,EAAE,CAAC;YACdC,WAAW,EAAE,EAAE;YACfC,cAAc,EAAE,CAAC;YACjB;YACA;YACAC,cAAc,EAAE,CAAC,EAAE;YACnBC,cAAc,EAAE,CAAC,EAAE;YACnBC,GAAG,EAAE;UACT,CAAC;UACD,IAAGhC,IAAI,CAACiC,aAAa,EAAC;YAClBV,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE;cAACO,cAAc,EAAE,CAAC;cAACC,cAAc,EAAE,CAAC;cAACP,KAAK,EAAC,GAAG;cAACC,MAAM,EAAC;YAAE,EAAC;UACxE;UACA,IAAGzB,IAAI,CAACkC,MAAM,EAAC;YACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;UAC/B;UACA,IAAGlC,IAAI,CAACiC,aAAa,EAAC;YAClBgC,EAAE,CAACE,SAAS,CAAC,IAAIrN,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACO,cAAc,GAAGP,EAAE,CAACC,KAAK,GAAC,CAAC,EACjCD,EAAE,CAACQ,cAAc,GAAGR,EAAE,CAACE,MAAM,GAAC,CAAC,CAAC,CAAC;YACzD,IAAIe,IAAI,GAAG,IAAI1L,IAAI,CAAC2L,IAAI,IAAAxM,MAAA,CACjBC,oBAAS,CAACC,YAAY,0BACzB,IAAIW,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CACpC,CAAC;YACDe,IAAI,CAACE,YAAY,CAAC,IAAI5L,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CAAC,CAAC;YACpDwC,EAAE,CAACG,OAAO,CAAC5B,IAAI,CAAC;YAChB,IAAG,CAAC,CAACyB,EAAE,CAACI,QAAQ,CAAC,CAAC,EAAC;cACfJ,EAAE,CAACI,QAAQ,CAAC,CAAC,CAACC,UAAU,CAACtE,IAAI,CAACiC,aAAa,CAAC;cAC5CgC,EAAE,CAACI,QAAQ,CAAC,CAAC,CAACF,SAAS,CAAC,IAAIrN,IAAI,CAACyL,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,MAAI;cACD;cACA,IAAIK,aAAa,GAAG;gBAChBN,MAAM,EAAE,IAAIxL,IAAI,CAACyL,IAAI,CAAC,CAAC,EAAC,CAAC;cAC7B,CAAC;cACD,IAAIM,OAAO,GAAG,IAAI/L,IAAI,CAACgM,KAAK,CAAC9C,IAAI,CAACiC,aAAa,EAACW,aAAa,CAAC;cAC9DC,OAAO,CAACE,QAAQ,CAAC;gBACbC,eAAe,EAAG,EAAE;gBACpBC,MAAM,EAAG;cACb,CAAC,CAAC;cACFgB,EAAE,CAACf,QAAQ,CAACL,OAAO,CAAC;YACxB;UACJ,CAAC,MAAI;YACDtB,EAAE,CAACC,KAAK,GAAGD,EAAE,CAACC,KAAK,IAAIyC,EAAE,CAACM,OAAO,CAAC,CAAC,CAACC,IAAI,CAAChD,KAAK;YAC9CD,EAAE,CAACE,MAAM,GAAGF,EAAE,CAACE,MAAM,IAAIwC,EAAE,CAACM,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC/C,MAAM;YACjD;YACA,IAAIe,MAAI,GAAG,IAAI1L,IAAI,CAAC2L,IAAI,CACpBzC,IAAI,CAACI,GAAG,OAAAnK,MAAA,CAAOC,oBAAS,CAACC,YAAY,8BAA2B,EAChE,IAAIW,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CACpC,CAAC;YACDe,MAAI,CAACE,YAAY,CAAC,IAAI5L,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACC,KAAK,EAACD,EAAE,CAACE,MAAM,CAAC,CAAC;YACpDwC,EAAE,CAACG,OAAO,CAAC5B,MAAI,CAAC;YAChByB,EAAE,CAACE,SAAS,CAAC,IAAIrN,IAAI,CAACyL,IAAI,CAAC,CAAChB,EAAE,CAACO,cAAc,IAAI,CAAC,EAAE,IAAIP,EAAE,CAACC,KAAK,GAAC,CAAC,EACtC,CAACD,EAAE,CAACQ,cAAc,IAAI,CAAC,EAAE,IAAIR,EAAE,CAACE,MAAM,GAAC,CAAC,CAAC,CAAC;YACtE;YACAwC,EAAE,CAACd,WAAW,CAAC5B,EAAE,CAACS,GAAG,IAAI,CAAC,CAAC;YAC3B;YACA,IAAGhC,IAAI,CAACoD,YAAY,IAAI7B,EAAE,CAACG,YAAY,EAAC;cACpC,IAAI8B,WAAW,GAAGS,EAAE,CAACI,QAAQ,CAAC,CAAC;gBAC/B;gBACAhB,UAAU,GAAG,eAAe;cAC5B;cACA,IAAGrD,IAAI,CAACqD,UAAU,EAAC;gBACfA,UAAU,GAAGrD,IAAI,CAACqD,UAAU,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;cACrD;cACA,IAAI7B,YAAY,GAAG,cAAc,GAAC2B,UAAU,GAAC,8BAA8B,GAC7D9B,EAAE,CAACG,YAAY,GAAG,QAAQ;gBACpC+C,WAAW,GAAG,IAAI3N,IAAI,CAACyL,IAAI,CAAChB,EAAE,CAACI,WAAW,EAACJ,EAAE,CAACK,WAAW,CAAC;cAC9D,IAAG4B,WAAW,EAAC;gBACXA,WAAW,CAACc,UAAU,CAAC5C,YAAY,CAAC;gBACpC8B,WAAW,CAACW,SAAS,CAACM,WAAW,CAAC;cACtC,CAAC,MAAI;gBACDjB,WAAW,GAAG,IAAI1M,IAAI,CAACgM,KAAK,CACxBpB,YAAY,EAAE;kBACdY,MAAM,EAAGmC;gBACb,CAAC,CAAC;gBACFjB,WAAW,CAACT,QAAQ,CAAC;kBACjBE,MAAM,EAAG,GAAG;kBACZD,eAAe,EAAG;gBACtB,CAAC,CAAC;gBACFiB,EAAE,CAACf,QAAQ,CAACM,WAAW,CAAC;cAC5B;YACJ,CAAC,MAAI;cACD,IAAG,CAAC,CAACS,EAAE,CAACI,QAAQ,CAAC,CAAC,EAAC;gBACfJ,EAAE,CAACI,QAAQ,CAAC,CAAC,CAACC,UAAU,CAAC,EAAE,CAAC;cAChC;YACJ;YACA,IAAG/C,EAAE,CAACM,cAAc,IAAI,CAAC,EAAC;cACtBoC,EAAE,CAACN,YAAY,CAACC,qBAAqB,CAAC;YAC1C,CAAC,MAAK,IAAGrC,EAAE,CAACM,cAAc,IAAI,CAAC,EAAC;cAC5BoC,EAAE,CAACN,YAAY,CAACE,mBAAmB,CAAC;YACxC,CAAC,MAAI;cACDI,EAAE,CAACN,YAAY,CAAC,IAAI,CAAC;YACzB;YACA;UACJ;UACA;UACA,IAAGpC,EAAE,CAACmD,WAAW,EAAC;YACdrY,CAAC,CAACsY,MAAM,CAAC3E,IAAI,CAACtC,EAAE,EAAC,CAACsC,IAAI,CAACqB,SAAS,EAACrB,IAAI,CAACsB,QAAQ,CAAC,EAACC,EAAE,CAACqD,cAAc,EAACrD,EAAE,CAACsD,YAAY,EAAC7E,IAAI,CAACI,GAAG,EAACJ,IAAI,CAAC8E,OAAO,CAAC;UAC5G,CAAC,MAAI;YACD;YACAb,EAAE,CAACc,WAAW,CAAC,IAAIjO,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAACqB,SAAS,EAACrB,IAAI,CAACsB,QAAQ,CAAC,CAAC;UAChE;UACA,IAAGC,EAAE,CAACkC,MAAM,IAAIlC,EAAE,CAACkC,MAAM,KAAK,CAAC,EAAC;YAC5BQ,EAAE,CAACP,SAAS,CAACnC,EAAE,CAACkC,MAAM,CAAC;UAC3B;UACApX,CAAC,CAACiH,EAAE,CAACiM,eAAe,CAChBS,IAAI,CAACtC,EAAE,EACP;YACIE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KAAMkT,IAAI;cAAC8D,KAAK,EAAE9D;YAAI,EAAC;YACjCnC,YAAY,EAAE,OAAO;YACrBG,QAAQ,EAAE;cACN7G,IAAI,EAAE,OAAO;cACbuH,CAAC,EAAEsB,IAAI,CAACqB,SAAS;cACjBxC,CAAC,EAAEmB,IAAI,CAACsB;YACZ;UACJ,CACJ,CAAC;QACL,CAAC,MAAI;UACDhB,OAAO,CAACC,IAAI,sDAAc,CAAC;UAC3B,OAAO,KAAK;QAChB;MACJ,CAAC,CAAC;MACFlU,CAAC,CAAC2Y,aAAa,CAAC,CAAC;MACjB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACJ;IACA;EAAA;IAAA3X,GAAA;IAAA9B,KAAA,EACA,SAAAsN,QAAQnB,QAAQ,EAACP,IAAI,EAAC;MAClB,IAAI9K,CAAC,GAAG,IAAI;MACZ,IAAI4Y,KAAK,GAAAxX,kBAAA,CAAOpB,CAAC,CAACiI,KAAK,CAACK,OAAO,CAAC;MAC/B;MACD+C,QAAQ,CAACkE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACvB;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B4C,OAAO,CAACC,IAAI,0BAAAtK,MAAA,CAAW+J,IAAI,CAACtC,EAAE,kBAAK,CAAC;UACpC,OAAO,KAAK;QAChB;QACA;QACA,IAAG,EAAEsC,IAAI,CAACf,KAAK,IAAIe,IAAI,CAACf,KAAK,CAAChU,MAAM,IAAI,CAAC,CAAC,EAAC;UACvCqV,OAAO,CAACC,IAAI,kDAAe,CAAC;UAC5B,OAAO,KAAK;QAChB;QACA;QACA,IAAIgB,EAAE,GAAG;UACL2D,KAAK,EAAE,SAAS;UAChBC,WAAW,EAAE,GAAG;UAChBC,SAAS,EAAE,CAAC;UACZC,QAAQ,EAAE,OAAO;UACjBC,QAAQ,EAAE;QACd,CAAC;QACD;QACA,IAAGtF,IAAI,CAACkC,MAAM,EAAC;UACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;QAC/B;QACA;QACA,IAAIqD,QAAQ,GAAGvF,IAAI,CAACf,KAAK,CAACrD,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;YACxC,OAAO,IAAInJ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAAC,CAAC,CAAC,EAACA,IAAI,CAAC,CAAC,CAAC,CAAC;UAC1C,CAAC,CAAC;UACF;UACAwF,UAAU,GAAG;YACTC,WAAW,EAAGlE,EAAE,CAAC2D,KAAK;YAAE;YACxBQ,YAAY,EAAGnE,EAAE,CAAC6D,SAAS;YAAE;YAC7BO,aAAa,EAAGpE,EAAE,CAAC4D,WAAW;YAAE;YAChCS,WAAW,EAAGrE,EAAE,CAAC8D,QAAQ;UAC7B,CAAC;QACD;QACA,IAAIQ,IAAI,GAAG,IAAI/O,IAAI,CAACgP,QAAQ,CAACP,QAAQ,EAACC,UAAU,CAAC;QACjD;QACA,IAAGjE,EAAE,CAAC+D,QAAQ,EAAC;UACXO,IAAI,CAACE,IAAI,CAAC,CAAC;QACf,CAAC,MAAI;UACDF,IAAI,CAACG,IAAI,CAAC,CAAC;QACf;QACAf,KAAK,CAACrY,IAAI,CAACoT,IAAI,CAACtC,EAAE,CAAC;QACnB;QACArR,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAAC4E,IAAI,CAAC;QAC5B;QACAA,IAAI,CAACzI,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;UAC/Ba,CAAC,CAAC4R,YAAY,CAAC+B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF;QACAqa,IAAI,CAACzI,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UACnCa,CAAC,CAAC6R,gBAAgB,CAAC8B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QACjC,CAAC,CAAC;QACF;QACAqa,IAAI,CAACzI,gBAAgB,CAAC,UAAU,EAAC,UAAC5R,CAAC,EAAG;UAClCa,CAAC,CAAC8R,eAAe,CAAC6B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAChC,CAAC,CAAC;QACFa,CAAC,CAACiH,EAAE,CAAC8K,UAAU,CAAC4B,IAAI,CAACtC,EAAE,EAACmI,IAAI,CAAC,CAC5BtG,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;UACrBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACHkT,IAAI;YACPf,KAAK,EAAEe,IAAI,CAACf,KAAK;YACjB6E,KAAK,EAAE9D;UAAI,EACd;UACDnC,YAAY,EAAE,UAAU;UACxBG,QAAQ,EAAE;YACN7G,IAAI,EAAE,UAAU;YAChB8H,KAAK,EAAEe,IAAI,CAACf;UAChB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACF,IAAG9H,IAAI,KAAK,SAAS,EAAC;QAClB9K,CAAC,CAACiI,KAAK,CAACK,OAAO,GAAGsQ,KAAK;QACvB;QACA;QACA;MACJ;IACJ;IACA;EAAA;IAAA5X,GAAA;IAAA9B,KAAA,EACA,SAAA0a,WAAWvO,QAAQ,EAAC;MAChB,IAAIrL,CAAC,GAAG,IAAI;MACZ;MACAqL,QAAQ,CAACkE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACvB;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B;UACA,IAAG,EAAEsC,IAAI,CAACf,KAAK,IAAIe,IAAI,CAACf,KAAK,CAAChU,MAAM,IAAI,CAAC,CAAC,EAAC;YACvCqV,OAAO,CAACC,IAAI,kDAAe,CAAC;YAC5B,OAAO,KAAK;UAChB;QACJ,CAAC,MAAI;UACDD,OAAO,CAACC,IAAI,4DAAe,CAAC;UAC5B,OAAO,KAAK;QAChB;QACA,IAAI0D,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAClE,IAAI,CAACtC,EAAE,CAAC;QACjC;QACA,IAAI6D,EAAE,GAAG;UACL2D,KAAK,EAAE,SAAS;UAChBC,WAAW,EAAE,GAAG;UAChBC,SAAS,EAAE,CAAC;UACZC,QAAQ,EAAE,OAAO;UAAC;UAClBC,QAAQ,EAAE;QACd,CAAC;QACD;QACA,IAAGtF,IAAI,CAACkC,MAAM,EAAC;UACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;QAC/B;QACA;QACA,IAAIqD,QAAQ,GAAGvF,IAAI,CAACf,KAAK,CAACrD,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;UACxC,OAAO,IAAInJ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAAC,CAAC,CAAC,EAACA,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF;QACAiE,EAAE,CAACiC,OAAO,CAACX,QAAQ,CAAC;QACpB;QACAtB,EAAE,CAACkC,cAAc,CAAC5E,EAAE,CAAC2D,KAAK,CAAC;QAC3B;QACAjB,EAAE,CAACmC,gBAAgB,CAAC7E,EAAE,CAAC4D,WAAW,CAAC;QACnC;QACAlB,EAAE,CAACoC,eAAe,CAAC9E,EAAE,CAAC6D,SAAS,CAAC;QAChC;QACAnB,EAAE,CAACqC,cAAc,CAAC/E,EAAE,CAAC8D,QAAQ,CAAC;QAC9B;QACA,IAAG9D,EAAE,CAAC+D,QAAQ,EAAC;UACXrB,EAAE,CAAC8B,IAAI,CAAC,CAAC;QACb,CAAC,MAAI;UACD9B,EAAE,CAAC+B,IAAI,CAAC,CAAC;QACb;QACA3Z,CAAC,CAACiH,EAAE,CAACiM,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;UACzBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACHkT,IAAI;YACPf,KAAK,EAAEe,IAAI,CAACf,KAAK;YACjB6E,KAAK,EAAE9D;UAAI,EACd;UACDnC,YAAY,EAAE,UAAU;UACxBG,QAAQ,EAAE;YACN7G,IAAI,EAAE,UAAU;YAChB8H,KAAK,EAAEe,IAAI,CAACf;UAChB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IACA;EAAA;IAAA5R,GAAA;IAAA9B,KAAA,EACA,SAAAuN,WAAWnB,WAAW,EAAC;MACnB,IAAItL,CAAC,GAAG,IAAI;MACZ,IAAIka,MAAM,GAAA9Y,kBAAA,CAAOpB,CAAC,CAACiI,KAAK,CAACM,UAAU,CAAC;MACpC;MACA+C,WAAW,CAACiE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QAC1B;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B4C,OAAO,CAACC,IAAI,0BAAAtK,MAAA,CAAW+J,IAAI,CAACtC,EAAE,kBAAK,CAAC;UACpC,OAAO,KAAK;QAChB;QACA;QACA,IAAG,EAAEsC,IAAI,CAACb,KAAK,IAAIa,IAAI,CAACb,KAAK,CAAClU,MAAM,IAAI,CAAC,CAAC,EAAC;UACvCqV,OAAO,CAACC,IAAI,kDAAe,CAAC;UAC5B,OAAO,KAAK;QAChB;QACA;QACA,IAAIgB,EAAE,GAAG;UACL8D,QAAQ,EAAE,OAAO;UACjBD,SAAS,EAAE,CAAC;UACZoB,SAAS,EAAE,SAAS;UACpBC,WAAW,EAAE,CAAC;UACdvB,KAAK,EAAE,MAAM;UACbC,WAAW,EAAE;UACb;QACJ,CAAC;QACD,IAAGnF,IAAI,CAACkC,MAAM,EAAC;UACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;QAC/B;QACA;QACA,IAAIwE,aAAa,GAAG;YAChBjB,WAAW,EAAElE,EAAE,CAACiF,SAAS;YACzBb,aAAa,EAAEpE,EAAE,CAACkF,WAAW;YAC7Bf,YAAY,EAAEnE,EAAE,CAAC6D,SAAS;YAC1BQ,WAAW,EAAErE,EAAE,CAAC8D,QAAQ;YACxBsB,SAAS,EAAEpF,EAAE,CAAC2D,KAAK;YACnB0B,WAAW,EAAErF,EAAE,CAAC4D;UACpB,CAAC;UACD0B,WAAW,GAAG7G,IAAI,CAACb,KAAK,CAACvD,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;YACvC,OAAO,IAAInJ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAAC,CAAC,CAAC,EAACA,IAAI,CAAC,CAAC,CAAC,CAAC;UAC1C,CAAC,CAAC;QACF;QACA,IAAI5K,OAAO,GAAG,IAAI0B,IAAI,CAACgQ,OAAO,CAACD,WAAW,EAACH,aAAa,CAAC;QACzD;QACAra,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAAC7L,OAAO,CAAC;QAC/B;QACAA,OAAO,CAACgI,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;UAClCa,CAAC,CAAC4R,YAAY,CAAC+B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF;QACA4J,OAAO,CAACgI,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UACtCa,CAAC,CAAC6R,gBAAgB,CAAC8B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QACjC,CAAC,CAAC;QACF;QACA4J,OAAO,CAACgI,gBAAgB,CAAC,UAAU,EAAC,UAAC5R,CAAC,EAAG;UACrCa,CAAC,CAAC8R,eAAe,CAAC6B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAChC,CAAC,CAAC;QACF;QACA+a,MAAM,CAAC3Z,IAAI,CAACoT,IAAI,CAACtC,EAAE,CAAC;QACpB;QACArR,CAAC,CAACiH,EAAE,CAAC8K,UAAU,CAAC4B,IAAI,CAACtC,EAAE,EAACtI,OAAO,CAAC,CAC/BmK,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;UACrBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACHkT,IAAI;YACPb,KAAK,EAAEa,IAAI,CAACb,KAAK;YACjB2E,KAAK,EAAE9D;UAAI,EACd;UACDnC,YAAY,EAAE,SAAS;UACvBG,QAAQ,EAAE;YACN7G,IAAI,EAAE,SAAS;YACfgI,KAAK,EAAEa,IAAI,CAACb;UAChB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACF9S,CAAC,CAACiI,KAAK,CAACM,UAAU,GAAG2R,MAAM;MAC3B;MACA;MACA;IACJ;IACA;EAAA;IAAAlZ,GAAA;IAAA9B,KAAA,EACA,SAAAwb,cAAcpP,WAAW,EAAC;MACtB,IAAItL,CAAC,GAAG,IAAI;MACZsL,WAAW,CAACiE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QAC1B;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B;UACA,IAAG,EAAEsC,IAAI,CAACb,KAAK,IAAIa,IAAI,CAACb,KAAK,CAAClU,MAAM,IAAI,CAAC,CAAC,EAAC;YACvCqV,OAAO,CAACC,IAAI,kDAAe,CAAC;YAC5B,OAAO,KAAK;UAChB;UACA;UACA,IAAI0D,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAClE,IAAI,CAACtC,EAAE,CAAC;UACjC;UACA,IAAI6D,EAAE,GAAG;YACL8D,QAAQ,EAAE,OAAO;YACjBD,SAAS,EAAE,CAAC;YACZoB,SAAS,EAAE,SAAS;YACpBC,WAAW,EAAE,CAAC;YACdvB,KAAK,EAAE,MAAM;YACbC,WAAW,EAAE;YACb;UACJ,CAAC;UACD,IAAGnF,IAAI,CAACkC,MAAM,EAAC;YACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;UAC/B;UACA,IAAI2E,WAAW,GAAG7G,IAAI,CAACb,KAAK,CAACvD,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;YAC3C,OAAO,IAAInJ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAAC,CAAC,CAAC,EAACA,IAAI,CAAC,CAAC,CAAC,CAAC;UAC1C,CAAC,CAAC;UACF;UACAiE,EAAE,CAACiC,OAAO,CAACW,WAAW,CAAC;UACvB;UACA5C,EAAE,CAACkC,cAAc,CAAC5E,EAAE,CAACiF,SAAS,CAAC;UAC/B;UACAvC,EAAE,CAAC+C,YAAY,CAACzF,EAAE,CAAC2D,KAAK,CAAC;UACzB;UACAjB,EAAE,CAACmC,gBAAgB,CAAC7E,EAAE,CAACkF,WAAW,CAAC;UACnC;UACAxC,EAAE,CAACgD,cAAc,CAAC1F,EAAE,CAAC4D,WAAW,CAAC;UACjC;UACAlB,EAAE,CAACoC,eAAe,CAAC9E,EAAE,CAAC6D,SAAS,CAAC;UAChC;UACAnB,EAAE,CAACqC,cAAc,CAAC/E,EAAE,CAAC8D,QAAQ,CAAC;UAC9BhZ,CAAC,CAACiH,EAAE,CAACiM,eAAe,CAChBS,IAAI,CAACtC,EAAE,EACP;YACIE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACHkT,IAAI;cACPb,KAAK,EAAEa,IAAI,CAACb,KAAK;cACjB2E,KAAK,EAAE9D;YAAI,EACd;YACDnC,YAAY,EAAE,SAAS;YACvBG,QAAQ,EAAE;cACN7G,IAAI,EAAE,SAAS;cACfgI,KAAK,EAAEa,IAAI,CAACb;YAChB;UACJ,CACJ,CAAC;QACL,CAAC,MAAI;UACDmB,OAAO,CAACC,IAAI,4DAAe,CAAC;UAC5B,OAAO,KAAK;QAChB;MACJ,CAAC,CAAC;IACN;IACA;EAAA;IAAAlT,GAAA;IAAA9B,KAAA,EACA,SAAAwN,UAAUnB,UAAU,EAAC;MACjB,IAAIvL,CAAC,GAAG,IAAI;MACZ,IAAI6a,MAAM,GAAAzZ,kBAAA,CAAOpB,CAAC,CAACiI,KAAK,CAACO,SAAS,CAAC;MACnC+C,UAAU,CAACgE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACzB;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B4C,OAAO,CAACC,IAAI,cAAAtK,MAAA,CAAS+J,IAAI,CAACtC,EAAE,kBAAK,CAAC;UAClC,OAAO,KAAK;QAChB;QACA;QACA,IAAG,CAACsC,IAAI,CAACqB,SAAS,IAAI,CAACrB,IAAI,CAACsB,QAAQ,EAAC;UACjChB,OAAO,CAACC,IAAI,qDAAa,CAAC;UAC1B,OAAO,KAAK;QAChB;QACA,IAAIgB,EAAE,GAAG;UACL8D,QAAQ,EAAE,OAAO;UACjBD,SAAS,EAAE,CAAC;UACZoB,SAAS,EAAE,SAAS;UACpBC,WAAW,EAAE,CAAC;UACdvB,KAAK,EAAE,MAAM;UACbC,WAAW,EAAE;UACb;QACJ,CAAC;QACD,IAAGnF,IAAI,CAACkC,MAAM,EAAC;UACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;QAC/B;QACA;QACA,IAAIiF,YAAY,GAAG;YACf1B,WAAW,EAAElE,EAAE,CAACiF,SAAS;YACzBb,aAAa,EAAEpE,EAAE,CAACkF,WAAW;YAC7Bf,YAAY,EAAEnE,EAAE,CAAC6D,SAAS;YAC1BQ,WAAW,EAAErE,EAAE,CAAC8D,QAAQ;YACxBsB,SAAS,EAAEpF,EAAE,CAAC2D,KAAK;YACnB0B,WAAW,EAAErF,EAAE,CAAC4D;UACpB,CAAC;UACDiC,WAAW,GAAG,IAAItQ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAACqB,SAAS,EAACrB,IAAI,CAACsB,QAAQ,CAAC;QAC1D;QACA,IAAIhP,MAAM,GAAG,IAAIwE,IAAI,CAACuQ,MAAM,CAACD,WAAW,EAACpH,IAAI,CAACX,MAAM,EAAC8H,YAAY,CAAC;QAClE;QACA9a,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAAC3O,MAAM,CAAC;QAC9B;QACAA,MAAM,CAAC8K,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;UACjCa,CAAC,CAAC4R,YAAY,CAAC+B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF;QACA8G,MAAM,CAAC8K,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UACrCa,CAAC,CAAC6R,gBAAgB,CAAC8B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QACjC,CAAC,CAAC;QACF;QACA8G,MAAM,CAAC8K,gBAAgB,CAAC,UAAU,EAAC,UAAC5R,CAAC,EAAG;UACpCa,CAAC,CAAC8R,eAAe,CAAC6B,IAAI,CAACtC,EAAE,EAAClS,CAAC,CAAC;QAChC,CAAC,CAAC;QACF0b,MAAM,CAACta,IAAI,CAACoT,IAAI,CAACtC,EAAE,CAAC;QACpB;QACArR,CAAC,CAACiH,EAAE,CAAC8K,UAAU,CAAC4B,IAAI,CAACtC,EAAE,EAACpL,MAAM,CAAC,CAC9BiN,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;UACrBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KAAMkT,IAAI;YAAC8D,KAAK,EAAE9D;UAAI,EAAC;UACjCnC,YAAY,EAAE,QAAQ;UACtBG,QAAQ,EAAE;YACN7G,IAAI,EAAE,QAAQ;YACduH,CAAC,EAAEsB,IAAI,CAACqB,SAAS;YACjBxC,CAAC,EAAEmB,IAAI,CAACsB,QAAQ;YAChBjC,MAAM,EAAEW,IAAI,CAACX;UACjB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACFhT,CAAC,CAACiI,KAAK,CAACO,SAAS,GAAGqS,MAAM;MAC1B;MACA;MACA;IACJ;IACA;EAAA;IAAA7Z,GAAA;IAAA9B,KAAA,EACA,SAAA+b,aAAa1P,UAAU,EAAC;MACpB,IAAIvL,CAAC,GAAG,IAAI;MACZuL,UAAU,CAACgE,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACzB;QACA,IAAI5T,CAAC,CAACiH,EAAE,CAAC8N,YAAY,CAACpB,IAAI,CAACtC,EAAE,CAAC,EAAE;UAC5B;UACA,IAAG,CAACsC,IAAI,CAACqB,SAAS,IAAI,CAACrB,IAAI,CAACsB,QAAQ,EAAC;YACjChB,OAAO,CAACC,IAAI,qDAAa,CAAC;YAC1B,OAAO,KAAK;UAChB;UACA;UACA,IAAI0D,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAClE,IAAI,CAACtC,EAAE,CAAC;UACjC;UACA,IAAI6D,EAAE,GAAG;YACL8D,QAAQ,EAAE,OAAO;YACjBD,SAAS,EAAE,CAAC;YACZoB,SAAS,EAAE,SAAS;YACpBC,WAAW,EAAE,CAAC;YACdvB,KAAK,EAAE,MAAM;YACbC,WAAW,EAAE;YACb;UACJ,CAAC;UACD,IAAGnF,IAAI,CAACkC,MAAM,EAAC;YACXX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAIvB,IAAI,CAACkC,MAAM,CAAC;UAC/B;UACA,IAAIkF,WAAW,GAAG,IAAItQ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAACqB,SAAS,EAACrB,IAAI,CAACsB,QAAQ,CAAC;UAC9D;UACA2C,EAAE,CAACsD,SAAS,CAACH,WAAW,CAAC;UACzB;UACAnD,EAAE,CAACuD,SAAS,CAACxH,IAAI,CAACX,MAAM,CAAC;UACzB;UACA4E,EAAE,CAACkC,cAAc,CAAC5E,EAAE,CAACiF,SAAS,CAAC;UAC/B;UACAvC,EAAE,CAAC+C,YAAY,CAACzF,EAAE,CAAC2D,KAAK,CAAC;UACzB;UACAjB,EAAE,CAACmC,gBAAgB,CAAC7E,EAAE,CAACkF,WAAW,CAAC;UACnC;UACAxC,EAAE,CAACgD,cAAc,CAAC1F,EAAE,CAAC4D,WAAW,CAAC;UACjC;UACAlB,EAAE,CAACoC,eAAe,CAAC9E,EAAE,CAAC6D,SAAS,CAAC;UAChC;UACAnB,EAAE,CAACqC,cAAc,CAAC/E,EAAE,CAAC8D,QAAQ,CAAC;UAC9B;UACAhZ,CAAC,CAACiH,EAAE,CAACiM,eAAe,CAACS,IAAI,CAACtC,EAAE,EAAC;YACzBE,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KAAMkT,IAAI;cAAC8D,KAAK,EAAE9D;YAAI,EAAC;YACjCnC,YAAY,EAAE,QAAQ;YACtBG,QAAQ,EAAE;cACN7G,IAAI,EAAE,QAAQ;cACduH,CAAC,EAAEsB,IAAI,CAACqB,SAAS;cACjBxC,CAAC,EAAEmB,IAAI,CAACsB,QAAQ;cAChBjC,MAAM,EAAEW,IAAI,CAACX;YACjB;UACJ,CAAC,CAAC;QACN,CAAC,MAAI;UACDiB,OAAO,CAACC,IAAI,gDAAa,CAAC;UAC1B,OAAO,KAAK;QAChB;MACJ,CAAC,CAAC;IACN;IACA;EAAA;IAAAlT,GAAA;IAAA9B,KAAA,EACA,SAAA0N,iBAAiBwO,OAAO,EAAC;MACrB,IAAIpb,CAAC,GAAG,IAAI;MACZob,OAAO,CAACza,OAAO,CAAC,UAAAoB,IAAI,EAAE;QAClB/B,CAAC,CAAC2H,SAAS,CAAC0T,GAAG,CAACtZ,IAAI,EAAC,UAACuZ,GAAG,EAAG;UACxB;UACA,IAAIja,GAAG,GAAG,EAAE;UACZia,GAAG,CAACC,UAAU,CAAC5a,OAAO,CAAC,UAACgT,IAAI,EAAK;YAC7B,IAAItC,EAAE,GAAG,UAAU,GAAG,IAAIvL,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGyV,IAAI,CAACC,MAAM,CAAC,CAAC;YAC1D,IAAI7I,KAAK,GAAGe,IAAI,CAACsD,KAAK,CAAC,GAAG,CAAC,CAAC1H,GAAG,CAAC,UAAUoE,IAAI,EAAEC,KAAK,EAAE;cACnD,OAAOD,IAAI,CAACsD,KAAK,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC;YACF5V,GAAG,CAACd,IAAI,CAAC;cAAE8Q,EAAE,EAAEA,EAAE;cAAEyB,KAAK,EAAEF,KAAK;cAAG7Q,IAAI,EAAEA;YAAI,CAAC,CAAC;YAC9C/B,CAAC,CAACiI,KAAK,CAACU,YAAY,CAACpI,IAAI,CAAC;cAAE8Q,EAAE,EAAEA,EAAE;cAAEtP,IAAI,EAAEA;YAAK,CAAC,CAAC;UACrD,CAAC,CAAC;UACF/B,CAAC,CAACyM,UAAU,CAACpL,GAAG,CAAC;QACrB,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IACA;EAAA;IAAAL,GAAA;IAAA9B,KAAA,EACA,SAAAwc,oBAAoBC,cAAc,EAAC;MAC/B,IAAI3b,CAAC,GAAG,IAAI;MACZ,IAAI4b,YAAY,GAAG5b,CAAC,CAACiI,KAAK,CAACU,YAAY,CAACvI,MAAM,CAAC,UAAAuT,IAAI;QAAA,OAAEgI,cAAc,CAACE,OAAO,CAAClI,IAAI,CAAC5R,IAAI,CAAC,GAAC,CAAC,CAAC;MAAA,EAAC,CAACwN,GAAG,CAAC,UAAAoE,IAAI;QAAA,OAAEA,IAAI,CAACtC,EAAE;MAAA,EAAC;MAC7GrR,CAAC,CAAC6N,QAAQ,CAAC;QAAClF,YAAY,EAAC3I,CAAC,CAACiI,KAAK,CAACU,YAAY,CAACvI,MAAM,CAAC,UAAAuT,IAAI;UAAA,OAAEgI,cAAc,CAACE,OAAO,CAAClI,IAAI,CAAC5R,IAAI,CAAC,IAAE,CAAC,CAAC;QAAA;MAAC,CAAC,CAAC;MACnG6Z,YAAY,CAACjb,OAAO,CAAC,UAAA0Q,EAAE,EAAE;QACrBrR,CAAC,CAAC8b,aAAa,CAACzK,EAAE,EAAC,SAAS,CAAC;MACjC,CAAC,CAAC;IACN;IACA;EAAA;IAAArQ,GAAA;IAAA9B,KAAA,EACA,SAAA2N,eAAA,EAAsB;MAAA,IAAPkP,CAAC,GAAArb,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAG,CAAC,CAAC;MACjB,IAAIV,CAAC,GAAG,IAAI;MACZ,IAAIkV,EAAE,GAAG;QACLlC,MAAM,EAAE,EAAE;QACVgJ,GAAG,EAAE,GAAG;QACRC,OAAO,EAAE,IAAI;QACbjI,OAAO,EAAE;MACb,CAAC;MACD,IAAG+H,CAAC,CAAClG,MAAM,EAAC;QACRX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAI6G,CAAC,CAAClG,MAAM,CAAC;MAC5B;MACA,IAAG,CAAC7V,CAAC,CAAC6H,OAAO,EAAC;QACV7H,CAAC,CAAC6H,OAAO,GAAG,IAAIwB,OAAO,CAACc,cAAc,CAAC;UACnC8R,OAAO,EAAE/G,EAAE,CAAC+G;QAChB,CAAC,CAAC;QACFjc,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAAC5U,CAAC,CAAC6H,OAAO,CAAC;MACrC;MACA,IAAIwM,MAAM,GAAG;QACTrB,MAAM,EAAEkC,EAAE,CAAClC,MAAM;QACjB;QACAgB,OAAO,EAAEkI,IAAI,CAAChH,EAAE,CAAClB,OAAO,CAAC,GAAG,GAAG;QAC/BiI,OAAO,EAAE/G,EAAE,CAAC+G;MAChB,CAAC;MACD,IAAG/G,EAAE,CAACiH,QAAQ,EAAC;QACX9H,MAAM,CAAC8H,QAAQ,GAAGjH,EAAE,CAACiH,QAAQ;MACjC;MACAnc,CAAC,CAAC6H,OAAO,CAACuU,UAAU,CAAC;QACjBJ,GAAG,EAAE9G,EAAE,CAAC8G,GAAG;QACXK,IAAI,EAAEN,CAAC,CAACM,IAAI,IAAI;MACpB,CAAC,CAAC;MACFrc,CAAC,CAAC6H,OAAO,CAACyU,UAAU,CAACjI,MAAM,CAAC;MAC5B,IAAGa,EAAE,CAAC+G,OAAO,EAAC;QACVjc,CAAC,CAAC6H,OAAO,CAAC8R,IAAI,CAAC,CAAC;MACpB,CAAC,MAAI;QACD3Z,CAAC,CAAC6H,OAAO,CAAC6R,IAAI,CAAC,CAAC;MACpB;IACJ;IACA;EAAA;IAAA1Y,GAAA;IAAA9B,KAAA,EACA,SAAA4N,WAAA,EAAmB;MAAA,IAAPiP,CAAC,GAAArb,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAG,CAAC,CAAC;MACd,IAAIV,CAAC,GAAG,IAAI;MACZ,IAAIkV,EAAE,GAAG;QACLC,KAAK,EAAE,GAAG;QACVC,MAAM,EAAE;MACZ,CAAC;MACD,IAAI2G,CAAC,CAAClG,MAAM,EAAE;QACVX,EAAE,GAAAzU,aAAA,CAAAA,aAAA,KAAOyU,EAAE,GAAI6G,CAAC,CAAClG,MAAM,CAAC;MAC5B;MACA,IAAI0G,QAAQ,GAAG9L,QAAQ,CAAC+L,aAAa,CAAC,KAAK,CAAC;MAC5C,IAAIC,UAAU,GAAG,IAAIhS,IAAI,CAACiS,UAAU,CAACH,QAAQ,CAAC;MAE9CE,UAAU,CAACE,QAAQ,CAACzH,EAAE,CAACC,KAAK,CAAC;MAC7BsH,UAAU,CAACG,SAAS,CAAC1H,EAAE,CAACE,MAAM,CAAC;MAE/B,IAAG2G,CAAC,CAACc,OAAO,YAAYvJ,QAAQ,EAAC;QAC7BmJ,UAAU,CAAC1L,gBAAgB,CAAC,YAAY,EAAE,UAAA5R,CAAC,EAAI;UAC3C4c,CAAC,CAACc,OAAO,CAAC1d,CAAC,CAAC;QAChB,CAAC,CAAC;MACN;MAEA,IAAG4c,CAAC,CAACtJ,GAAG,IAAIsJ,CAAC,CAACxJ,GAAG,IAAIwJ,CAAC,CAACe,OAAO,EAAC;QAC3B,IAAAC,gBAAM,EAAChB,CAAC,CAACe,OAAO,EAAEP,QAAQ,CAAC;QAC3Bvc,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC8U,cAAc,CAACP,UAAU,EAAE,IAAIhS,IAAI,CAACyF,KAAK,CAAC6L,CAAC,CAACxJ,GAAG,EAACwJ,CAAC,CAACtJ,GAAG,CAAC,CAAC;MAEvE,CAAC,MAAM;QACHgK,UAAU,IAAIzc,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC+U,eAAe,CAAC,CAAC;MAC/C;IACJ;IACA;EAAA;IAAAjc,GAAA;IAAA9B,KAAA,EACA,SAAA6N,mBAAA,EAA8B;MAAA,IAAXsP,IAAI,GAAA3b,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAG,EAAE;MACxB,IAAIV,CAAC,GAAG,IAAI;MACZqc,IAAI,CAAC9M,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;QACnB,IAAImI,CAAC,GAAGpI,IAAI,IAAI,CAAC,CAAC;QAClB,IAAIuJ,MAAM,GAAG,EAAE;QACf,CAACnB,CAAC,CAACmB,MAAM,IAAI,EAAE,EAAE3N,GAAG,CAAC,UAASwM,CAAC,EAACld,CAAC,EAAC;UAC9B,IAAIkF,CAAC,GAAG,IAAI0G,IAAI,CAACyF,KAAK,CAAC6L,CAAC,CAACxJ,GAAG,EAACwJ,CAAC,CAACtJ,GAAG,CAAC;UACnC1O,CAAC,CAACwN,UAAU,GAAGwK,CAAC;UAChBmB,MAAM,CAAC3c,IAAI,CAACwD,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,IAAIoK,OAAO,GAAG;UACVgK,IAAI,EAAEnS,cAAc,CAAC+V,CAAC,CAAC5D,IAAI,CAAC,IAAInS,cAAc,CAAC,QAAQ,CAAC;UACxDmX,KAAK,EAAEnX,cAAc,CAAC+V,CAAC,CAACoB,KAAK,CAAC,IAAInX,cAAc,CAAC,QAAQ,CAAC;UAC1D6S,KAAK,EAAEkD,CAAC,CAAClD,KAAK,IAAI;QACtB,CAAC;QACD;QACA,IAAIuE,oBAAoB,GAAG,IAAI3S,IAAI,CAAC4S,eAAe,CAACH,MAAM,EAAE/O,OAAO,CAAC;QACpEnO,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0M,UAAU,CAACwI,oBAAoB,CAAC,CAAC,CAAE;QAC/Cpd,CAAC,CAAC8H,UAAU,CAACvH,IAAI,CAAC;UACd8Q,EAAE,EAAE0K,CAAC,CAAC1K,EAAE;UACRnS,KAAK,EAAEke;QACX,CAAC,CAAC;QACFA,oBAAoB,CAACrM,gBAAgB,CAAC,OAAO,EAAE,UAAU5R,CAAC,EAAE;UACxD,IAAG,sBAAsB,IAAIa,CAAC,CAAC0C,KAAK,IAAI,OAAO1C,CAAC,CAAC0C,KAAK,CAAC4a,oBAAqB,IAAI,UAAU,EAAC;YACvF,IAAIrf,GAAG,GAAAwC,aAAA,CAAAA,aAAA;cACH4Q,EAAE,EAAE0K,CAAC,CAAC1K;YAAE,GACLlS,CAAC,CAAC0J,KAAK;cACV4I,QAAQ,EAAE2L;YAAoB,EACjC;YACDpd,CAAC,CAAC0C,KAAK,CAAC4a,oBAAoB,CAACrf,GAAG,CAAC;UACrC;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAqe,sBAAA,EAAiC;MAAA,IAAXlB,IAAI,GAAA3b,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAG,EAAE;MAC3B,IAAIV,CAAC,GAAG,IAAI;MACZqc,IAAI,CAAC9M,GAAG,CAAC,UAACiO,EAAE,EAAC3e,CAAC,EAAG;QACbmB,CAAC,CAAC8H,UAAU,CAACyH,GAAG,CAAC,UAAUoE,IAAI,EAACC,KAAK,EAAE;UACnC,IAAGD,IAAI,CAACtC,EAAE,IAAImM,EAAE,CAACnM,EAAE,EAAC;YAChB,IAAI6L,MAAM,GAAG,EAAE;YACfM,EAAE,CAACN,MAAM,CAAC3N,GAAG,CAAC,UAASwM,CAAC,EAACld,CAAC,EAAC;cACvB,IAAIkF,CAAC,GAAG,IAAI0G,IAAI,CAACyF,KAAK,CAAC6L,CAAC,CAACxJ,GAAG,EAACwJ,CAAC,CAACtJ,GAAG,CAAC;cACnC1O,CAAC,CAACwN,UAAU,GAAGwK,CAAC;cAChBmB,MAAM,CAAC3c,IAAI,CAACwD,CAAC,CAAC;YAClB,CAAC,CAAC;YACF4P,IAAI,CAACzU,KAAK,CAACue,SAAS,CAACP,MAAM,CAAC;YAC5BvJ,IAAI,CAACzU,KAAK,CAACwe,SAAS,CAAC;cACjBvF,IAAI,EAAEnS,cAAc,CAACwX,EAAE,CAACrF,IAAI,CAAC,IAAInS,cAAc,CAAC,QAAQ,CAAC;cACzDmX,KAAK,EAAEnX,cAAc,CAACwX,EAAE,CAACL,KAAK,CAAC,IAAInX,cAAc,CAAC,QAAQ,CAAC;cAC3D6S,KAAK,EAAE2E,EAAE,CAAC3E,KAAK,IAAI;YACvB,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IACA;EAAA;IAAA7X,GAAA;IAAA9B,KAAA,EACA,SAAAye,qBAAqBC,GAAG,EAAC;MACrB,IAAI5d,CAAC,GAAG,IAAI;MACZ4d,GAAG,CAACrO,GAAG,CAAC,UAAC8B,EAAE,EAACwM,GAAG,EAAG;QACd7d,CAAC,CAAC8H,UAAU,CAACyH,GAAG,CAAC,UAAUoE,IAAI,EAACC,KAAK,EAAE;UACnC,IAAGvC,EAAE,IAAIsC,IAAI,CAACtC,EAAE,EAAC;YACbsC,IAAI,CAACzU,KAAK,CAAC4e,KAAK,CAAC,CAAC;UACtB;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IACA;EAAA;IAAA9c,GAAA;IAAA9B,KAAA,EACA,SAAA6e,wBAAA,EAA0B;MACtB,IAAI/d,CAAC,GAAG,IAAI;MACZA,CAAC,CAAC8H,UAAU,CAACyH,GAAG,CAAC,UAAUoE,IAAI,EAACC,KAAK,EAAE;QACnCD,IAAI,CAACzU,KAAK,CAAC4e,KAAK,CAAC,CAAC;MACtB,CAAC,CAAC;IACN;IACA;IACA;EAAA;IAAA9c,GAAA;IAAA9B,KAAA,EACA,SAAA0S,aAAcP,EAAE,EAAClS,CAAC,EAAE;MAChB,IAAIa,CAAC,GAAG,IAAI;MACZ;MACA,IAAGA,CAAC,CAACiI,KAAK,CAACQ,MAAM,IAAI4I,EAAE,EAAC,OAAO,KAAK;MACpC,IAAG,OAAOrR,CAAC,CAAC0C,KAAK,CAACkP,YAAa,KAAI,UAAU,EAAC;QAC1C,IAAIoM,KAAK,GAAGhe,CAAC,CAAC6X,UAAU,CAACxG,EAAE,CAAC;QAC5B,IAAIpT,GAAG,GAAG;UACN+f,KAAK,EAALA,KAAK;UACLlT,IAAI,EAAEkT,KAAK,CAACrM,QAAQ,CAAC7G,IAAI;UAAC;UAC1ByG,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KAAMud,KAAK,CAACzM,UAAU,CAACkG,KAAK,GAAI;YAAC5B,MAAM,EAACmI,KAAK,CAACzM,UAAU,CAACsE;UAAM,CAAC,CAAC;UAAC;UAC5EoI,GAAG,EAAE9e,CAAC,CAAC+e,OAAO;UAAC;UACfC,IAAI,EAAEhf,CAAC,CAACif,OAAO;UACfjf,CAAC,EAAEA;QACP,CAAC;QACDa,CAAC,CAAC0C,KAAK,CAACkP,YAAY,CAAC3T,GAAG,CAAC;MAC7B;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAA2S,iBAAiBR,EAAE,EAAClS,CAAC,EAAC;MAClB,IAAIa,CAAC,GAAG,IAAI;MACZ;MACA,IAAGA,CAAC,CAACiI,KAAK,CAACQ,MAAM,IAAI4I,EAAE,EAAC,OAAO,KAAK;MACpC,IAAG,OAAOrR,CAAC,CAAC0C,KAAK,CAACmP,gBAAiB,KAAK,UAAU,EAAC;QAC/C,IAAI5T,GAAG,GAAG;UACNkB,CAAC,EAADA,CAAC;UAACkS,EAAE,EAAFA,EAAE;UACJ2M,KAAK,EAAEhe,CAAC,CAAC6X,UAAU,CAACxG,EAAE,CAAC;UACvB4M,GAAG,EAAE9e,CAAC,CAAC+e,OAAO;UAAC;UACfC,IAAI,EAAEhf,CAAC,CAACif;QACZ,CAAC;QACDpe,CAAC,CAAC0C,KAAK,CAACmP,gBAAgB,CAAC5T,GAAG,CAAC;MACjC;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAA4S,gBAAgBT,EAAE,EAAClS,CAAC,EAAC;MACjB,IAAIa,CAAC,GAAG,IAAI;MACZ;MACA,IAAGA,CAAC,CAACiI,KAAK,CAACQ,MAAM,IAAI4I,EAAE,EAAC,OAAO,KAAK;MACpC,IAAG,OAAOrR,CAAC,CAAC0C,KAAK,CAACoP,eAAgB,KAAI,UAAU,EAAC;QAC7C,IAAI7T,GAAG,GAAG;UACNkB,CAAC,EAADA,CAAC;UAACkS,EAAE,EAAFA,EAAE;UACJ2M,KAAK,EAAEhe,CAAC,CAAC6X,UAAU,CAACxG,EAAE,CAAC;UACvB4M,GAAG,EAAE9e,CAAC,CAAC+e,OAAO;UAAC;UACfC,IAAI,EAAEhf,CAAC,CAACif;QACZ,CAAC;QACDpe,CAAC,CAAC0C,KAAK,CAACoP,eAAe,CAAC7T,GAAG,CAAC;MAChC;IACJ;IACA;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAoO,SAAA,EAAU;MACN,IAAItN,CAAC,GAAE,IAAI;MACX,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAAC4K,QAAS,KAAI,UAAU,EAAC;QACtCtN,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,OAAO,EAAC,UAAC5R,CAAC,EAAG;UACtC,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTlB,GAAG,CAACqgB,WAAW,GAAGnf,CAAC,CAAC0J,KAAK;UACzB5K,GAAG,CAACsgB,KAAK,GAAGpf,CAAC,CAACof,KAAK;UACnBve,CAAC,CAAC0C,KAAK,CAAC4K,QAAQ,CAACrP,GAAG,CAAC;QACzB,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAqO,aAAA,EAAc;MACV,IAAIvN,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAAC6K,YAAa,KAAK,UAAU,EAAC;QAC3CvN,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UAC1C,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAAC6K,YAAY,CAACtP,GAAG,CAAC;QAC7B,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAsO,WAAA,EAAY;MACR,IAAIxN,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAAC8K,UAAW,KAAK,UAAU,EAAC;QACzCxN,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,SAAS,EAAC,UAAC5R,CAAC,EAAG;UACxC,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAAC8K,UAAU,CAACvP,GAAG,CAAC;QAC3B,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAuO,UAAA,EAAW;MACP,IAAIzN,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAAC+K,SAAU,KAAK,UAAU,EAAC;QACxCzN,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UAC1C,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAAC+K,SAAS,CAACxP,GAAG,CAAC;QAC1B,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAwO,QAAA,EAAS;MACL,IAAI1N,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAACgL,OAAQ,KAAK,UAAU,EAAC;QACtC1N,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,SAAS,EAAC,UAAC5R,CAAC,EAAG;UACxC,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAACgL,OAAO,CAACzP,GAAG,CAAC;QACxB,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAyO,UAAA,EAAW;MACP,IAAI3N,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAACiL,SAAU,KAAK,UAAU,EAAC;QACxC3N,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,WAAW,EAAC,UAAC5R,CAAC,EAAG;UAC1C,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAACiL,SAAS,CAAC1P,GAAG,CAAC;QAC1B,CAAC,CAAC;MACN;IACJ;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAA0O,QAAA,EAAS;MACL,IAAI5N,CAAC,GAAG,IAAI;MACZ,IAAG,OAAOA,CAAC,CAAC0C,KAAK,CAACkL,OAAQ,KAAK,UAAU,EAAC;QACtC5N,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6I,gBAAgB,CAAC,SAAS,EAAC,UAAC5R,CAAC,EAAG;UACxC,IAAIlB,GAAG,GAAG+B,CAAC,CAACqe,YAAY,CAAC,CAAC;UAC1BpgB,GAAG,CAACkB,CAAC,GAAGA,CAAC;UACTa,CAAC,CAAC0C,KAAK,CAACkL,OAAO,CAAC3P,GAAG,CAAC;QACxB,CAAC,CAAC;MACN;IACJ;IACA;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAAgc,UAAWsD,EAAE,EAAE;MACX,IAAIxe,CAAC,GAAE,IAAI;MACX,IAAG,CAACA,CAAC,CAACiI,KAAK,CAACC,GAAG,EAAC;QACZ;MACJ;MACA,IAAIuW,GAAG,GAAG,CAAC,OAAO,EAAC,MAAM,CAAC;MAC1B,IAAGD,EAAE,EAAC;QACF;QACA,IAAI,CAACA,EAAE,CAAC,CAAC,CAAC,IAAI,CAACA,EAAE,CAAC,CAAC,CAAC,EAAE;UAClB,OAAO,KAAK;QAChB;QACA;QACA,IAAIE,CAAC,GAAG1e,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6K,SAAS,CAAC,CAAC;QAC/B,IAAG2L,CAAC,CAACnM,GAAG,IAAIiM,EAAE,CAAC,CAAC,CAAC,IAAIE,CAAC,CAACjM,GAAG,IAAI+L,EAAE,CAAC,CAAC,CAAC,EAAC;UAChC,OAAO,KAAK;QAChB;QACAC,GAAG,GAAGD,EAAE;MACZ;MACAxe,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACgT,SAAS,CAAC,IAAIzQ,IAAI,CAACyF,KAAK,CAACuO,GAAG,CAAC,CAAC,CAAC,EAACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MACpDze,CAAC,CAAC6N,QAAQ,CAAC;QAACQ,MAAM,EAAEoQ;MAAG,CAAC,CAAC;IAC7B;IACA;EAAA;IAAAzd,GAAA;IAAA9B,KAAA,EACA,SAAAyf,aAAcvQ,IAAI,EAAE;MAChB,IAAIpO,CAAC,GAAE,IAAI;MACX,IAAI4e,CAAC,GAAG5e,CAAC,CAAC6e,YAAY,CAAC,CAAC;MACxB,IAAGD,CAAC,IAAIxQ,IAAI,EAAC;QACT,OAAO,KAAK;MAChB;MACApO,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC4W,OAAO,CAAC1Q,IAAI,CAAC;IAC7B;IACA;IACA;AACJ;AACA;AACA;AACA;EAJI;IAAApN,GAAA;IAAA9B,KAAA,EAKA,SAAA8N,iBAAkBvB,gBAAgB,EAAE;MAChC,IAAIzL,CAAC,GAAG,IAAI;MACZ,IAAI+C,GAAG,GAAG,IAAI;MACd,IAAI+H,IAAI,GAAGW,gBAAgB,CAACX,IAAI;MAChC,IAAIwQ,GAAG,GAAG,EAAE;MACZ,IAAIrd,GAAG,GAAG,IAAI;MAEd,QAAOwN,gBAAgB,CAACsT,OAAO;QAC3B,KAAK,OAAO;UACRhc,GAAG,GAAG,IAAI,CAACkF,KAAK,CAACI,QAAQ;UAC7B;QACA,KAAK,MAAM;UACPtF,GAAG,GAAG,IAAI,CAACkF,KAAK,CAACK,OAAO;UAC5B;QACA,KAAK,SAAS;UACVvF,GAAG,GAAG,IAAI,CAACkF,KAAK,CAACM,UAAU;UAC/B;QACA,KAAK,QAAQ;UACTxF,GAAG,GAAG,IAAI,CAACkF,KAAK,CAACO,SAAS;UAC9B;QACA,KAAK,KAAK;UACNzF,GAAG,GAAG,IAAI,CAACkF,KAAK,CAACI,QAAQ,CAACuB,MAAM,CAAC,IAAI,CAAC3B,KAAK,CAACK,OAAO,CAAC,CAACsB,MAAM,CAAC,IAAI,CAAC3B,KAAK,CAACM,UAAU,CAAC,CAACqB,MAAM,CAAC,IAAI,CAAC3B,KAAK,CAACO,SAAS,CAAC;UACnH;QACA;UACIzF,GAAG,GAAG0I,gBAAgB,CAACsT,OAAO;UAClC;MACJ;;MAEA;AACR;AACA;AACA;MACQ,IAAG,OAAOhc,GAAI,KAAK,QAAQ,EAAC;QACxBuY,GAAG,GAAGvY,GAAG,CAACkU,KAAK,CAAC,GAAG,CAAC;QACpBhZ,GAAG,GAAG+B,CAAC,CAACgf,UAAU,CAAC1D,GAAG,CAAC;MAE3B,CAAC,MAAM,IAAGvY,GAAG,YAAYtE,KAAK,EAAC;QAC3B;AACZ;AACA;AACA;QACY,IAAGsE,GAAG,CAAC,CAAC,CAAC,YAAYtE,KAAK,EAAC;UACvB,IAAIwgB,CAAC,GAAG,EAAE;UACV,KAAI,IAAIpgB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGkE,GAAG,CAACnE,MAAM,EAAGC,CAAC,EAAE,EAAC;YACjCogB,CAAC,CAAC1e,IAAI,CAAC,IAAIkK,IAAI,CAACyF,KAAK,CAACnN,GAAG,CAAClE,CAAC,CAAC,CAAC,CAAC,CAAC,EAACkE,GAAG,CAAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/C;UACAZ,GAAG,GAAG+B,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACgX,WAAW,CAACD,CAAC,CAAC;UACpC;AACZ;AACA;AACA;QACY,CAAC,MAAM;UACHhhB,GAAG,GAAG+B,CAAC,CAACgf,UAAU,CAACjc,GAAG,CAAC;QAC3B;MACJ;MACA,IAAG,CAAC9E,GAAG,EAAC;QAAC,OAAO,KAAK;MAAA;MACrB,IAAG,CAAC6M,IAAI,IAAIA,IAAI,IAAI,KAAK,EAAC;QACtB9K,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC+H,aAAa,CAAChS,GAAG,CAACoQ,MAAM,EAAEpQ,GAAG,CAACmQ,IAAI,CAAC;MACnD,CAAC,MAAK,IAAGtD,IAAI,IAAI,MAAM,EAAC;QACpB9K,CAAC,CAAC2e,YAAY,CAAC1gB,GAAG,CAACmQ,IAAI,CAAC;MAC5B,CAAC,MAAK,IAAGtD,IAAI,IAAI,QAAQ,EAAC;QACtB9K,CAAC,CAACkb,SAAS,CAAC,CAACjd,GAAG,CAACoQ,MAAM,CAACkE,GAAG,EAACtU,GAAG,CAACoQ,MAAM,CAACoE,GAAG,CAAC,CAAC;MAChD;IACJ;IACA;IACA;EAAA;IAAAzR,GAAA;IAAA9B,KAAA,EACA,SAAAigB,iBAAA,EAAkB;MACd,IAAInf,CAAC,GAAE,IAAI;MACX,OAAOA,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6K,SAAS,CAAC,CAAC;IAClC;IACA;EAAA;IAAA/R,GAAA;IAAA9B,KAAA,EACA,SAAA2f,aAAA,EAAe;MACX,IAAI7e,CAAC,GAAE,IAAI;MACX,OAAOA,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACkX,OAAO,CAAC,CAAC;IAChC;IACA;EAAA;IAAApe,GAAA;IAAA9B,KAAA,EACA,SAAA8f,WAAWpB,GAAG,EAAC;MACX,IAAI5d,CAAC,GAAG,IAAI;MACZ,IAAG4d,GAAG,CAAChf,MAAM,GAAG,CAAC,EAAC;QACd,IAAIygB,SAAS,GAAG,EAAE;QAClB,KAAI,IAAIxgB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAG+e,GAAG,CAAChf,MAAM,EAAGC,CAAC,EAAE,EAAC;UACjC,QAAO,CAACmB,CAAC,CAACiH,EAAE,CAACqY,eAAe,CAAC1B,GAAG,CAAC/e,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE2S,YAAY;YACpD,KAAK,OAAO;cACR,IAAGxR,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,EAAC;gBACvBwgB,SAAS,CAAC9e,IAAI,CAACP,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,CAACyT,WAAW,CAAC,CAAC,CAAC;cACzD;cACJ;YACA,KAAK,UAAU;YACf,KAAK,SAAS;cACV,IAAGtS,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,EAAC;gBACvBwgB,SAAS,MAAAzV,MAAA,CAAAxI,kBAAA,CAAOie,SAAS,GAAAje,kBAAA,CAAIpB,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,CAAC0gB,OAAO,CAAC,CAAC,EAAC;cACnE;cACJ;YACA,KAAK,QAAQ;cACT,IAAGvf,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,EAAC;gBACvBwgB,SAAS,CAAC9e,IAAI,CAACP,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC+F,GAAG,CAAC/e,CAAC,CAAC,CAAC,CAACkU,SAAS,CAAC,CAAC,CAAC;cACvD;cACJ;UACJ;QACJ;QACA,IAAGsM,SAAS,CAACzgB,MAAM,GAAG,CAAC,EAAC;UACpB,OAAOoB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACgX,WAAW,CAACG,SAAS,CAAC;QAC7C;MACJ;IACJ;IACA;EAAA;IAAAre,GAAA;IAAA9B,KAAA,EACA,SAAA2Y,WAAYxG,EAAE,EAAE;MACZ,IAAIrR,CAAC,GAAG,IAAI;MACZ,IAAG,CAACqR,EAAE,EAAC;QACH,OAAO,KAAK;MAChB;MACA,IAAImO,EAAE,GAAGxf,CAAC,CAACiH,EAAE,CAACqY,eAAe,CAACjO,EAAE,CAAC;MACjC,IAAIoO,EAAE,GAAGzf,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC;MAC5B,IAAG,CAACoO,EAAE,EAAC;QACH,OAAO,KAAK;MAChB;MACA,IAAI1b,CAAC,GAAG,CAAC,CAAC;QAAC2b,GAAG,GAAG,EAAE;QAACnN,GAAG,GAAG,CAAC;QAACE,GAAG,GAAG,CAAC;MACnC,QAAO+M,EAAE,CAAChO,YAAY;QAClB,KAAK,OAAO;UACRe,GAAG,GAAGkN,EAAE,CAACnN,WAAW,CAAC,CAAC,CAACC,GAAG;UAC1BE,GAAG,GAAGgN,EAAE,CAACnN,WAAW,CAAC,CAAC,CAACG,GAAG;UAC1B1O,CAAC,GAAAtD,aAAA,CAAAA,aAAA,KACM+e,EAAE;YACL/N,QAAQ,EAAEgO,EAAE;YACZ9N,QAAQ,EAAAlR,aAAA,CAAAA,aAAA,KACD+e,EAAE,CAAC7N,QAAQ;cACdU,CAAC,EAAEE,GAAG;cACNC,CAAC,EAAEC;YAAG,EACT;YACDlB,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACH+e,EAAE,CAACjO,UAAU;cAChByD,SAAS,EAAEzC,GAAG;cACd0C,QAAQ,EAAExC,GAAG;cACbgF,KAAK,EAAAhX,aAAA,CAAAA,aAAA,KACE+e,EAAE,CAACjO,UAAU,CAACkG,KAAK;gBACtBzC,SAAS,EAAEzC,GAAG;gBACd0C,QAAQ,EAAExC;cAAG;YAChB;UACJ,EACJ;UACL;QACA,KAAK,UAAU;UACXiN,GAAG,GAAGD,EAAE,CAACF,OAAO,CAAC,CAAC,CAAChQ,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;YACjC,OAAO,CAACD,IAAI,CAACpB,GAAG,EAACoB,IAAI,CAAClB,GAAG,CAAC;UAC9B,CAAC,CAAC;UACF1O,CAAC,GAAAtD,aAAA,CAAAA,aAAA,KACM+e,EAAE;YACL/N,QAAQ,EAAEgO,EAAE;YACZ9N,QAAQ,EAAAlR,aAAA,CAAAA,aAAA,KACD+e,EAAE,CAAC7N,QAAQ;cACdiB,KAAK,EAAE8M;YAAG,EACb;YACDnO,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACH+e,EAAE,CAACjO,UAAU;cAChBqB,KAAK,EAAE8M,GAAG;cACVjI,KAAK,EAAAhX,aAAA,CAAAA,aAAA,KACE+e,EAAE,CAACjO,UAAU,CAACkG,KAAK;gBACtB7E,KAAK,EAAE8M;cAAG;YACb;UACJ,EACJ;UACL;QACA,KAAK,SAAS;UACV;UACAA,GAAG,GAAI,IAAAC,mBAAM,EAACF,EAAE,CAACF,OAAO,CAAC,CAAC,EAAE,UAAS/b,GAAG,EAAC;YACrC,OAAOA,GAAG,CAAC+O,GAAG,IAAI/O,GAAG,CAACiP,GAAG;UAC7B,CAAC,CAAC,CAAClD,GAAG,CAAC,UAACoE,IAAI,EAAG;YACX,OAAO,CAACA,IAAI,CAACpB,GAAG,EAACoB,IAAI,CAAClB,GAAG,CAAC;UAC9B,CAAC,CAAC;UACF1O,CAAC,GAAAtD,aAAA,CAAAA,aAAA,KACM+e,EAAE;YACL/N,QAAQ,EAAEgO,EAAE;YACZ9N,QAAQ,EAAAlR,aAAA,CAAAA,aAAA,KACD+e,EAAE,CAAC7N,QAAQ;cACdmB,KAAK,EAAE4M;YAAG,EACb;YACDnO,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACH+e,EAAE,CAACjO,UAAU;cAChBuB,KAAK,EAAE4M,GAAG;cACVjI,KAAK,EAAAhX,aAAA,CAAAA,aAAA,KACE+e,EAAE,CAACjO,UAAU,CAACkG,KAAK;gBACtB3E,KAAK,EAAE4M;cAAG;YACb;UACJ,EACJ;UACL;QACA,KAAK,QAAQ;UACTnN,GAAG,GAAGkN,EAAE,CAAC1M,SAAS,CAAC,CAAC,CAACR,GAAG;UACxBE,GAAG,GAAGgN,EAAE,CAAC1M,SAAS,CAAC,CAAC,CAACN,GAAG;UACxB,IAAIO,MAAM,GAAGyM,EAAE,CAACxM,SAAS,CAAC,CAAC;UAC3BlP,CAAC,GAAAtD,aAAA,CAAAA,aAAA,KACM+e,EAAE;YACL/N,QAAQ,EAAEgO,EAAE;YACZ9N,QAAQ,EAAAlR,aAAA,CAAAA,aAAA,KACD+e,EAAE,CAAC7N,QAAQ;cACdU,CAAC,EAAEE,GAAG;cACNC,CAAC,EAAEC,GAAG;cACNO,MAAM,EAANA;YAAM,EACT;YACDzB,UAAU,EAAA9Q,aAAA,CAAAA,aAAA,KACH+e,EAAE,CAACjO,UAAU;cAChByD,SAAS,EAAEzC,GAAG;cACd0C,QAAQ,EAAExC,GAAG;cACbO,MAAM,EAANA,MAAM;cACNyE,KAAK,EAAAhX,aAAA,CAAAA,aAAA,KACE+e,EAAE,CAACjO,UAAU,CAACkG,KAAK;gBACtBzC,SAAS,EAAEzC,GAAG;gBACd0C,QAAQ,EAAExC,GAAG;gBACbO,MAAM,EAANA;cAAM;YACT;UACJ,EACJ;UACL;MACJ;MACA,OAAOjP,CAAC;IACZ;IACA;IACA;EAAA;IAAA/C,GAAA;IAAA9B,KAAA,EACA,SAAA4c,cAAczK,EAAE,EAACvG,IAAI,EAAC;MAClB,IAAI9K,CAAC,GAAG,IAAI;MACZ,IAAI4f,OAAO,GAAG5f,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC;MACjC,IAAG,CAAC,CAACuO,OAAO,EAAC;QACT;QACA5f,CAAC,CAACqH,QAAQ,CAACwY,YAAY,CAAC,IAAI,CAAC5Y,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC,CAAC;QAC/C;QACArR,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACgJ,aAAa,CAAC0O,OAAO,CAAC;QAClC;QACA5f,CAAC,CAACiH,EAAE,CAAC6U,aAAa,CAACzK,EAAE,CAAC;MAC1B,CAAC,MAAI;QACD,OAAO,KAAK;MAChB;MACA,KAAI,IAAIxS,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGmB,CAAC,CAAC+H,UAAU,CAACnJ,MAAM,EAAGC,CAAC,EAAE,EAAC;QAC1C,IAAGmB,CAAC,CAAC+H,UAAU,CAAClJ,CAAC,CAAC,CAACwS,EAAE,IAAIA,EAAE,EAAC;UACxBrR,CAAC,CAAC+H,UAAU,CAAC+X,MAAM,CAACjhB,CAAC,EAAC,CAAC,CAAC;UACxB;QACJ;MACJ;MACA,IAAI+e,GAAG,GAAG,EAAE;MACZ,QAAO9S,IAAI;QACP,KAAK,OAAO;UACR8S,GAAG,GAAG5d,CAAC,CAACiI,KAAK,CAACI,QAAQ;UAC1B;QACA,KAAK,MAAM;UACPuV,GAAG,GAAG5d,CAAC,CAACiI,KAAK,CAACK,OAAO;UACzB;QACA,KAAK,SAAS;UACVsV,GAAG,GAAG5d,CAAC,CAACiI,KAAK,CAACM,UAAU;UAC5B;QACA,KAAK,QAAQ;UACTqV,GAAG,GAAG5d,CAAC,CAACiI,KAAK,CAACO,SAAS;UAC3B;QACA,KAAK,MAAM;UACP,IAAGxI,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACC,KAAK,CAACgT,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACtCrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACC,KAAK,CAACiX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACC,KAAK,CAACgT,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UACrE;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACE,QAAQ,CAAC+S,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACzCrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACE,QAAQ,CAACgX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACE,QAAQ,CAAC+S,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UAC3E;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACG,OAAO,CAAC8S,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACxCrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACG,OAAO,CAAC+W,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACG,OAAO,CAAC8S,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UACzE;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAAC3C,MAAM,CAAC4V,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACvCrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAAC3C,MAAM,CAAC6Z,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACW,OAAO,CAAC3C,MAAM,CAAC4V,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UACvE;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACI,SAAS,CAAC6S,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YAC1CrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACI,SAAS,CAAC8W,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACI,SAAS,CAAC6S,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UAC7E;UACJ;QACA;UACI,IAAGrR,CAAC,CAACiI,KAAK,CAACI,QAAQ,CAACwT,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACjCrR,CAAC,CAACiI,KAAK,CAACI,QAAQ,CAACyX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACI,QAAQ,CAACwT,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UAC3D;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACK,OAAO,CAACuT,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YAChCrR,CAAC,CAACiI,KAAK,CAACK,OAAO,CAACwX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACK,OAAO,CAACuT,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UACzD;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACM,UAAU,CAACsT,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YACnCrR,CAAC,CAACiI,KAAK,CAACM,UAAU,CAACuX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACM,UAAU,CAACsT,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UAC/D;UACA,IAAGrR,CAAC,CAACiI,KAAK,CAACO,SAAS,CAACqT,OAAO,CAACxK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;YAClCrR,CAAC,CAACiI,KAAK,CAACO,SAAS,CAACsX,MAAM,CAAC9f,CAAC,CAACiI,KAAK,CAACO,SAAS,CAACqT,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;UAC7D;UACJ;MACJ;MACA,IAAGA,EAAE,IAAIrR,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;QACpBzI,CAAC,CAACiI,KAAK,CAACQ,MAAM,GAAG,EAAE;MACvB;MACA,IAAGmV,GAAG,CAAC/B,OAAO,CAACxK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAC;QACrBuM,GAAG,CAACkC,MAAM,CAAClC,GAAG,CAAC/B,OAAO,CAACxK,EAAE,CAAC,EAAC,CAAC,CAAC;MACjC;IACJ;IACA;EAAA;IAAArQ,GAAA;IAAA9B,KAAA,EACA,SAAA6gB,OAAQ1O,EAAE,EAAC;MACP,IAAIrR,CAAC,GAAG,IAAI;MACZ;MACA,IAAI4f,OAAO,GAAG5f,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC;MACjC,IAAI2O,GAAG,GAAGhgB,CAAC,CAACiH,EAAE,CAACqY,eAAe,CAACjO,EAAE,CAAC;MAClC,IAAG,CAACuO,OAAO,EAAC,OAAO,KAAK;MACxB;MACA,IAAG,CAAC,CAAC5f,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;QAChBzI,CAAC,CAACigB,OAAO,CAAC,CAAC;MACf;MACA,IAAG,CAACjgB,CAAC,CAACyH,iBAAiB,EAAC;QACpB;QACAzH,CAAC,CAACyH,iBAAiB,GAAG,UAACtI,CAAC,EAAG;UACvB,IAAIkS,EAAE,GAAGrR,CAAC,CAACiI,KAAK,CAACQ,MAAM;YACnBuV,KAAK,GAAGhe,CAAC,CAAC6X,UAAU,CAACxG,EAAE,CAAC;YACxBpT,GAAG,GAAG;cACF+f,KAAK,EAALA,KAAK;cAAC7e,CAAC,EAADA,CAAC;cAACkS,EAAE,EAAFA,EAAE;cACVM,QAAQ,EAAEqM,KAAK,CAACrM;YACpB,CAAC;UACL,IAAGqM,KAAK,CAACrM,QAAQ,CAAC7G,IAAI,IAAI,SAAS,EAAC;YAChC;YACA;YACA7M,GAAG,CAAC4U,IAAI,GAAGxJ,OAAO,CAACe,QAAQ,CAACjD,cAAc,CAAC6W,KAAK,CAACrM,QAAQ,CAACmB,KAAK,CAACvD,GAAG,CAAC,UAACoE,IAAI,EAAG;cACxE,OAAO,IAAIlJ,IAAI,CAACyF,KAAK,CAACyD,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;UACP;UACA,IAAGqK,KAAK,CAACrM,QAAQ,CAAC7G,IAAI,IAAI,UAAU,EAAC;YACjC7M,GAAG,CAACyU,QAAQ,GAAG1S,CAAC,CAACkgB,iBAAiB,CAAClC,KAAK,CAACrM,QAAQ,CAACiB,KAAK,CAAC;UAC5D;UACA,IAAGoL,KAAK,CAACrM,QAAQ,CAAC7G,IAAI,IAAI,QAAQ,EAAC;YAC/B7M,GAAG,CAAC4U,IAAI,GAAG2I,IAAI,CAAC2E,GAAG,CAACnC,KAAK,CAACrM,QAAQ,CAACqB,MAAM,EAAC,CAAC,CAAC,GAACwI,IAAI,CAAC4E,EAAE;YACpD,IAAGpgB,CAAC,CAAC0H,WAAW,EAAC;cACb2Y,YAAY,CAACrgB,CAAC,CAAC0H,WAAW,CAAC;YAC/B;YACA1H,CAAC,CAAC0H,WAAW,GAAGmI,UAAU,CAAC,YAAI;cAC3B7P,CAAC,CAAC6N,QAAQ,CAAC;gBAACnF,WAAW,EAACzK;cAAG,CAAC,EAAC,YAAI;gBAC7B+B,CAAC,CAAC0C,KAAK,CAAC+E,iBAAiB,CAACxJ,GAAG,CAAC;cAClC,CAAC,CAAC;YACN,CAAC,EAAC,GAAG,CAAC;UACV,CAAC,MAAI;YACD+B,CAAC,CAAC6N,QAAQ,CAAC;cAACnF,WAAW,EAACzK;YAAG,CAAC,EAAC,YAAI;cAC7B+B,CAAC,CAAC0C,KAAK,CAAC+E,iBAAiB,CAACxJ,GAAG,CAAC;YAClC,CAAC,CAAC;UACN;QACJ,CAAC;MACL;MACA,QAAO+hB,GAAG,CAACxO,YAAY;QACnB,KAAK,OAAO;UACRoO,OAAO,CAACU,cAAc,CAAC,CAAC;UACxBV,OAAO,CAAC7O,gBAAgB,CAAC,SAAS,EAAC/Q,CAAC,CAACyH,iBAAiB,CAAC;UAC3D;QACA,KAAK,UAAU;QACf,KAAK,SAAS;QACd,KAAK,WAAW;UACZmY,OAAO,CAACW,aAAa,CAAC,CAAC;UACvBX,OAAO,CAAC7O,gBAAgB,CAAC,YAAY,EAAC/Q,CAAC,CAACyH,iBAAiB,CAAC;UAC9D;QACA,KAAK,QAAQ;UACTmY,OAAO,CAACW,aAAa,CAAC,CAAC;UACvBX,OAAO,CAAC7O,gBAAgB,CAAC,YAAY,EAAC/Q,CAAC,CAACyH,iBAAiB,CAAC;UAC9D;MACJ;MACAzH,CAAC,CAAC6N,QAAQ,CAAC;QAACpF,MAAM,EAAC4I;MAAE,CAAC,CAAC;IAC3B;IACA;EAAA;IAAArQ,GAAA;IAAA9B,KAAA,EACA,SAAA+gB,QAAA,EAAU;MACN,IAAIjgB,CAAC,GAAG,IAAI;MACZ;MACA,IAAI4f,OAAO,GAAG5f,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAAC7X,CAAC,CAACiI,KAAK,CAACQ,MAAM,CAAC;MAC7C,IAAIuX,GAAG,GAAGhgB,CAAC,CAACiH,EAAE,CAACqY,eAAe,CAACtf,CAAC,CAACiI,KAAK,CAACQ,MAAM,CAAC;MAC9C,IAAG,CAACmX,OAAO,EAAC,OAAO,KAAK;MACxB,QAAOI,GAAG,CAACxO,YAAY;QACnB,KAAK,OAAO;UACRoO,OAAO,CAACY,eAAe,CAAC,CAAC;UACzBZ,OAAO,CAACa,mBAAmB,CAAC,SAAS,EAACzgB,CAAC,CAACyH,iBAAiB,CAAC;UAC9D;QACA,KAAK,UAAU;QACf,KAAK,SAAS;QACd,KAAK,WAAW;UACZmY,OAAO,CAACc,cAAc,CAAC,CAAC;UACxBd,OAAO,CAACa,mBAAmB,CAAC,YAAY,EAACzgB,CAAC,CAACyH,iBAAiB,CAAC;UACjE;QACA,KAAK,QAAQ;UACTmY,OAAO,CAACc,cAAc,CAAC,CAAC;UACxBd,OAAO,CAACa,mBAAmB,CAAC,YAAY,EAACzgB,CAAC,CAACyH,iBAAiB,CAAC;UACjE;MACJ;MACA,IAAIiB,WAAW,GAAG1I,CAAC,CAACiI,KAAK,CAACS,WAAW;MACrC1I,CAAC,CAAC6N,QAAQ,CAAC;QACPpF,MAAM,EAAE,EAAE;QACVC,WAAW,EAAE;MACjB,CAAC,EAAC,YAAI;QACF,IAAGA,WAAW,EAAC;UACX1I,CAAC,CAAC0C,KAAK,CAAC+E,iBAAiB,CAACiB,WAAW,CAAC;QAC1C;MACJ,CAAC,CAAC;IACN;IACA;EAAA;IAAA1H,GAAA;IAAA9B,KAAA,EACA,SAAAyhB,KAAK1iB,GAAG,EAAC;MACL,IAAI+B,CAAC,GAAG,IAAI;QAAC4gB,SAAS,GAAG,CAAC,CAAC;MAC3B;MACA5gB,CAAC,CAACwH,YAAY,CAAC2L,KAAK,CAAC,CAAC;MACtB;MACAyN,SAAS,CAACpP,YAAY,GAAGvT,GAAG,CAACuT,YAAY,IAAI,OAAO;MACpDoP,SAAS,CAACC,SAAS,GAAG5iB,GAAG,CAAC4iB,SAAS,GAAApgB,aAAA,KAAKxC,GAAG,CAAC4iB,SAAS,IAAE,CAAC,CAAC;MACzDD,SAAS,CAACvE,IAAI,GAAGpe,GAAG,CAACoe,IAAI,GAAA5b,aAAA,KAAKxC,GAAG,CAACoe,IAAI,IAAE,CAAC,CAAC;MAC1CuE,SAAS,CAACvE,IAAI,CAAChL,EAAE,GAAG,CAACpT,GAAG,CAACoe,IAAI,IAAI,CAAC,CAAC,EAAEhL,EAAE,WAAAzH,MAAA,CAAW,IAAI9D,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAE;MACxE;MACA,IAAI5D,GAAG,GAAGnC,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACgY,SAAS,CAACpP,YAAY,CAAC,CAACqK,OAAO,CAAC+E,SAAS,CAACvE,IAAI,CAAChL,EAAE,CAAC;MAC5E,IAAGlP,GAAG,GAAG,CAAC,CAAC,EAAC;QACR;QACAnC,CAAC,CAAC8b,aAAa,CAAC8E,SAAS,CAACvE,IAAI,CAAChL,EAAE,CAAC;QAClCrR,CAAC,CAACiI,KAAK,CAACW,OAAO,CAACgY,SAAS,CAACpP,YAAY,CAAC,CAACsO,MAAM,CAAC3d,GAAG,EAAC,CAAC,CAAC;MACzD;MACA,IAAI6b,KAAK,GAAG,CAAC,CAAC;MACd,IAAI8C,QAAQ,GAAG,CAAC,CAAC;MACjB,IAAGF,SAAS,CAACpP,YAAY,IAAI,SAAS,IAAIoP,SAAS,CAACpP,YAAY,IAAI,QAAQ,IAAIoP,SAAS,CAACpP,YAAY,IAAI,WAAW,EAAC;QAClHsP,QAAQ,CAACxG,SAAS,GAAGsG,SAAS,CAACC,SAAS,CAAChI,KAAK;QAC9CiI,QAAQ,CAAC1H,WAAW,GAAGwH,SAAS,CAACC,SAAS,CAAC1G,SAAS;QACpD2G,QAAQ,CAACxH,aAAa,GAAGsH,SAAS,CAACC,SAAS,CAACzG,WAAW;QACxD0G,QAAQ,CAACzH,YAAY,GAAGuH,SAAS,CAACC,SAAS,CAAC9H,SAAS;QACrD+H,QAAQ,CAACvG,WAAW,GAAGqG,SAAS,CAACC,SAAS,CAAC/H,WAAW;QACtDgI,QAAQ,CAACvH,WAAW,GAAIqH,SAAS,CAACC,SAAS,CAAC7H,QAAQ;QACpD8H,QAAQ,CAAC1P,OAAO,GAAG;UACfC,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;UACrBE,UAAU,EAAE;YACRF,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;YACrBwE,MAAM,EAAE;cACJgD,KAAK,EAAE+H,SAAS,CAACC,SAAS,CAAChI,KAAK;cAChCsB,SAAS,EAAEyG,SAAS,CAACC,SAAS,CAAC1G,SAAS;cACxCC,WAAW,EAAEwG,SAAS,CAACC,SAAS,CAACzG,WAAW;cAC5CtB,WAAW,EAAE8H,SAAS,CAACC,SAAS,CAAC/H,WAAW;cAC5CC,SAAS,EAAE6H,SAAS,CAACC,SAAS,CAAC9H;YACnC;UACJ,CAAC;UACDjO,IAAI,EAAE8V,SAAS,CAACpP;QACpB,CAAC;MACL;MACA,QAAOoP,SAAS,CAACpP,YAAY;QACzB,KAAK,OAAO;UACRwM,KAAK,CAAC/H,MAAM,GAAG,IAAIxL,IAAI,CAACyL,IAAI,CAAC,CAAC0K,SAAS,CAACC,SAAS,CAACpL,cAAc,IAAI,CAAC,EAAE,IAAI,CAACmL,SAAS,CAACC,SAAS,CAAC1L,KAAK,IAAI,EAAE,IAAE,CAAC,EAClF,CAACyL,SAAS,CAACC,SAAS,CAACnL,cAAc,IAAI,CAAC,EAAE,IAAI,CAACkL,SAAS,CAACC,SAAS,CAACzL,MAAM,IAAI,EAAE,IAAE,CAAC,CAAC;UAC/G,IAAIe,IAAI,GAAG,IAAI1L,IAAI,CAAC2L,IAAI,CACpBwK,SAAS,CAACC,SAAS,CAAC9M,GAAG,OAAAnK,MAAA,CAAOC,oBAAS,CAACC,YAAY,8BAA2B,EAC/E,IAAIW,IAAI,CAACyL,IAAI,CAAC0K,SAAS,CAACC,SAAS,CAAC1L,KAAK,IAAI,EAAE,EAACyL,SAAS,CAACC,SAAS,CAACzL,MAAM,IAAI,EAAE,CAClF,CAAC;UACDe,IAAI,CAACE,YAAY,CAAC,IAAI5L,IAAI,CAACyL,IAAI,CAAC0K,SAAS,CAACC,SAAS,CAAC1L,KAAK,IAAI,EAAE,EAACyL,SAAS,CAACC,SAAS,CAACzL,MAAM,IAAI,EAAE,CAAC,CAAC;UAClG4I,KAAK,CAAC7H,IAAI,GAAGA,IAAI;UACjB6H,KAAK,CAAC5M,OAAO,GAAG;YACZC,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;YACrBE,UAAU,EAAE;cACRF,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;cACrB0C,GAAG,EAAE6M,SAAS,CAACC,SAAS,CAAC9M,GAAG,OAAAnK,MAAA,CAAOC,oBAAS,CAACC,YAAY,8BAA2B;cACpF+L,MAAM,EAAE;gBACJV,KAAK,EAAEyL,SAAS,CAACC,SAAS,CAAC1L,KAAK,IAAI,EAAE;gBACtCC,MAAM,EAAEwL,SAAS,CAACC,SAAS,CAACzL,MAAM,IAAI;cAC1C;YACJ,CAAC;YACDtK,IAAI,EAAE;UACV,CAAC;UACD9K,CAAC,CAACwH,YAAY,CAACuZ,cAAc,CAAC,QAAQ,CAAC;UACvC/gB,CAAC,CAACwH,YAAY,CAACwZ,IAAI,CAAC;YAACC,aAAa,EAAEjD;UAAK,CAAC,CAAC;UAC/C;QACA,KAAK,UAAU;UACXA,KAAK,CAAC5E,WAAW,GAAGwH,SAAS,CAACC,SAAS,CAAChI,KAAK;UAC7CmF,KAAK,CAAC1E,aAAa,GAAGsH,SAAS,CAACC,SAAS,CAAC/H,WAAW;UACrDkF,KAAK,CAAC3E,YAAY,GAAGuH,SAAS,CAACC,SAAS,CAAC9H,SAAS;UAClDiF,KAAK,CAACzE,WAAW,GAAIqH,SAAS,CAACC,SAAS,CAAC7H,QAAQ;UACjDgF,KAAK,CAAC5M,OAAO,GAAG;YACZC,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;YACrBE,UAAU,EAAE;cACRF,EAAE,EAAEuP,SAAS,CAACvE,IAAI,CAAChL,EAAE;cACrBwE,MAAM,EAAE;gBACJgD,KAAK,EAAE+H,SAAS,CAACC,SAAS,CAAChI,KAAK;gBAChCC,WAAW,EAAE8H,SAAS,CAACC,SAAS,CAAC/H,WAAW;gBAC5CC,SAAS,EAAE6H,SAAS,CAACC,SAAS,CAAC9H;cACnC;YACJ,CAAC;YACDjO,IAAI,EAAE;UACV,CAAC;UACD9K,CAAC,CAACwH,YAAY,CAACwZ,IAAI,CAAC;YAACE,eAAe,EAAElD,KAAK;YAACmD,eAAe,EAAE;UAAI,CAAC,CAAC;UACnEnhB,CAAC,CAACwH,YAAY,CAACuZ,cAAc,CAAC,UAAU,CAAC;UAC7C;QACA,KAAK,SAAS;UACV/gB,CAAC,CAACwH,YAAY,CAACwZ,IAAI,CAAC;YAACI,cAAc,EAAEN,QAAQ;YAACK,eAAe,EAAE;UAAI,CAAC,CAAC;UACrEnhB,CAAC,CAACwH,YAAY,CAACuZ,cAAc,CAAC,SAAS,CAAC;UAC5C;QACA,KAAK,QAAQ;UACT/gB,CAAC,CAACwH,YAAY,CAACwZ,IAAI,CAAC;YAACK,aAAa,EAAEP,QAAQ;YAACK,eAAe,EAAE;UAAI,CAAC,CAAC;UACpEnhB,CAAC,CAACwH,YAAY,CAACuZ,cAAc,CAAC,QAAQ,CAAC;UAC3C;QACA,KAAK,WAAW;UACZ/gB,CAAC,CAACwH,YAAY,CAACwZ,IAAI,CAAC;YAACM,gBAAgB,EAAER,QAAQ;YAACK,eAAe,EAAE;UAAI,CAAC,CAAC;UACvEnhB,CAAC,CAACwH,YAAY,CAACuZ,cAAc,CAAC,WAAW,CAAC;UAC9C;MACJ;IACJ;IACA;EAAA;IAAA/f,GAAA;IAAA9B,KAAA,EACA,SAAAqiB,UAAA,EAAW;MACP,IAAIvhB,CAAC,GAAG,IAAI;MACZA,CAAC,CAACwH,YAAY,CAAC2L,KAAK,CAAC,CAAC;IAC1B;IACA;EAAA;IAAAnS,GAAA;IAAA9B,KAAA,EACA,SAAAsiB,SAAA,EAAU;MACN,IAAIxhB,CAAC,GAAG,IAAI;MACZ;MACA,IAAIA,CAAC,CAACqH,QAAQ,EAAE;QACZrH,CAAC,CAACqH,QAAQ,CAACoa,YAAY,CAAC,CAAC;MAC7B;MACA;MACA,IAAGzhB,CAAC,CAACsH,YAAY,EAAC;QACdtH,CAAC,CAACsH,YAAY,CAAC6L,KAAK,CAAC,CAAC;MAC1B;MACA;MACAnT,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwZ,aAAa,CAAC,CAAC;MAC3B;MACA1hB,CAAC,CAACiH,EAAE,CAACua,QAAQ,CAAC,CAAC;MACf;MACAxhB,CAAC,CAACigB,OAAO,CAAC,CAAC;MACX;MACAjgB,CAAC,CAAC6N,QAAQ,CAAC;QACPxF,QAAQ,EAAE,EAAE;QACZC,OAAO,EAAE,EAAE;QACXC,UAAU,EAAE,EAAE;QACdC,SAAS,EAAE,EAAE;QACbG,YAAY,EAAE,EAAE;QAChBC,OAAO,EAAE;UACLC,KAAK,EAAE,EAAE;UACTC,QAAQ,EAAE,EAAE;UACZC,OAAO,EAAE,EAAE;UACX9C,MAAM,EAAE,EAAE;UACV+C,SAAS,EAAE;QACf;MACJ,CAAC,CAAC;IACN;IACA;IACA;EAAA;IAAAhI,GAAA;IAAA9B,KAAA,EACA,SAAA+N,QAASlK,GAAG,EAAE;MACV,IAAI/C,CAAC,GAAG,IAAI;MACZ,IAAIsb,GAAG,GAAGtb,CAAC,CAAC2hB,mBAAmB,CAAE5e,GAAG,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEnE,MAAM,IAAC,CAAC,GAAImE,GAAG,GAAG/C,CAAC,CAACiI,KAAK,CAACI,QAAQ,CAAC;MAChFrI,CAAC,CAACqH,QAAQ,CAACua,UAAU,CAACtG,GAAG,CAAC;IAC9B;IACA;EAAA;IAAAta,GAAA;IAAA9B,KAAA,EACA,SAAA2iB,cAAc9e,GAAG,EAAC;MACd,IAAI/C,CAAC,GAAG,IAAI;MACZ,IAAI4d,GAAG,GAAI7a,GAAG,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEnE,MAAM,IAAC,CAAC,GAAImE,GAAG,GAAG/C,CAAC,CAACiI,KAAK,CAACI,QAAQ;MACzD,IAAIiT,GAAG,GAAGtb,CAAC,CAAC2hB,mBAAmB,CAAC/D,GAAG,CAAC;MACpC,IAAGtC,GAAG,CAAC1c,MAAM,GAAG,CAAC,EAAC;QACdoB,CAAC,CAACqH,QAAQ,CAACya,aAAa,CAACxG,GAAG,CAAC;MACjC;MACAsC,GAAG,CAACrO,GAAG,CAAC,UAAA8B,EAAE,EAAE;QACRrR,CAAC,CAACiH,EAAE,CAAC6U,aAAa,CAACzK,EAAE,CAAC;MAC1B,CAAC,CAAC;MACF;MACArR,CAAC,CAACuM,QAAQ,CAACvM,CAAC,CAAC0C,KAAK,CAAC0I,SAAS,CAAC;IACjC;IACA;EAAA;IAAApK,GAAA;IAAA9B,KAAA,EACA,SAAA6iB,cAAA,EAAe;MACX,IAAI/hB,CAAC,GAAG,IAAI;MACZA,CAAC,CAACqH,QAAQ,CAACoa,YAAY,CAAC,CAAC;IAC7B;IACA;EAAA;IAAAzgB,GAAA;IAAA9B,KAAA,EACA,SAAAyiB,oBAAoB5e,GAAG,EAAC;MACpB,IAAI/C,CAAC,GAAG,IAAI;MACZ,IAAIsb,GAAG,GAAG,EAAE;MACZ,IAAG,CAACvY,GAAG,EAAC;QACJ,IAAKsF,QAAQ,GAAIrI,CAAC,CAACiI,KAAK,CAAnBI,QAAQ;QACbiT,GAAG,GAAGjT,QAAQ;MAClB,CAAC,MAAI;QACD,IAAGpI,MAAM,CAAC0B,SAAS,CAACC,QAAQ,CAACpB,KAAK,CAACuC,GAAG,CAAC,KAAK,gBAAgB,EAAC;UACzDuY,GAAG,GAAGvY,GAAG;QACb,CAAC,MAAK,IAAG,OAAOA,GAAG,KAAK,QAAQ,EAAC;UAC7BuY,GAAG,GAAGvY,GAAG,CAACkU,KAAK,CAAC,GAAG,CAAC;QACxB;MACJ;MACA;MACA;MACA,IAAI+K,KAAK,GAAG,EAAE;MACd,KAAI,IAAInjB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGyc,GAAG,CAAC1c,MAAM,EAAGC,CAAC,EAAE,EAAC;QACjCmjB,KAAK,CAACzhB,IAAI,CAACP,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACyD,GAAG,CAACzc,CAAC,CAAC,CAAC,CAAC;MACvC;MACA,OAAOmjB,KAAK;IAChB;IACA;EAAA;IAAAhhB,GAAA;IAAA9B,KAAA,EACA,SAAA+iB,eAAgB5O,QAAQ,EAAE;MACtB,IAAIrT,CAAC,GAAG,IAAI;MACZ,IAAIkiB,EAAE,GAAG,SAALA,EAAEA,CAAI/iB,CAAC,EAAG;QACV;QACAa,CAAC,CAACsH,YAAY,CAAC6L,KAAK,CAAC,CAAC;QACtB;QACAnT,CAAC,CAACsH,YAAY,CAACmZ,mBAAmB,CAAC,SAAS,EAACyB,EAAE,CAAC;QAChD,IAAG,OAAO7O,QAAS,KAAI,UAAU,EAAC;UAC9B,IAAIpV,GAAG,GAAG;YACNyU,QAAQ,EAAGvT,CAAC,CAACuT;UACjB,CAAC;UACD,IAAIyP,UAAU,GAAG,IAAI1jB,KAAK,CAAC,CAAC;UAC5B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,CAAC,CAAC+d,MAAM,CAACte,MAAM,EAAEC,CAAC,EAAE,EAAE;YACtCsjB,UAAU,CAAC5hB,IAAI,CAAC,CAAEpB,CAAC,CAAC+d,MAAM,CAACre,CAAC,CAAC,CAAC0T,GAAG,EAAEpT,CAAC,CAAC+d,MAAM,CAACre,CAAC,CAAC,CAAC4T,GAAG,CAAE,CAAC;UACzD;UACAxU,GAAG,CAACmkB,OAAO,GAAGD,UAAU;UACxB9O,QAAQ,CAACpV,GAAG,CAAC;QACjB;MACJ,CAAC;MACD+B,CAAC,CAACsH,YAAY,CAACyJ,gBAAgB,CAAC,SAAS,EAACmR,EAAE,CAAC;MAC7CliB,CAAC,CAACsH,YAAY,CAAC0Z,IAAI,CAAC,IAAI,CAAC/Y,KAAK,CAACC,GAAG,CAAC;IACvC;IACA;EAAA;IAAAlH,GAAA;IAAA9B,KAAA,EACA,SAAAgO,gBAAA,EAAiB;MACb,IAAIlN,CAAC,GAAE,IAAI;MACXA,CAAC,CAACsQ,YAAY,CAAC+R,WAAW,CAAC,CAAC;IAChC;IACA;EAAA;IAAArhB,GAAA;IAAA9B,KAAA,EACA,SAAAiO,gBAAA,EAAiB;MACb,IAAInN,CAAC,GAAE,IAAI;MACXA,CAAC,CAACsQ,YAAY,CAACgS,WAAW,CAAC,CAAC;IAChC;IACA;EAAA;IAAAthB,GAAA;IAAA9B,KAAA,EACA,SAAAmO,YAAa3K,KAAK,EAAC;MACf,IAAI1C,CAAC,GAAG,IAAI;QAAC0F,QAAQ,GAAG1F,CAAC,CAACuO,cAAc,CAAC,IAAI,CAAC;QAACzD,IAAI,GAAG,EAAE;QAACmL,MAAM,GAAC,IAAI;QAAEsM,WAAW,GAAC,IAAI;MACtF,IAAI1M,MAAM,GAAGnT,KAAK,IAAI1C,CAAC,CAAC0C,KAAK;MAC7B,IAAG1C,CAAC,CAACwiB,YAAY,EAAE;QACfxiB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACua,aAAa,CAACziB,CAAC,CAACwiB,YAAY,CAAC;MAC7C;MACA,IAAGxiB,CAAC,CAAC0iB,iBAAiB,EAAE;QACpB1iB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACua,aAAa,CAACziB,CAAC,CAAC0iB,iBAAiB,CAAC;MAClD;MACA,IAAG7M,MAAM,CAACxI,WAAW,CAAC3H,QAAQ,EAAC;QAC3BA,QAAQ,GAAG1F,CAAC,CAACuO,cAAc,CAACsH,MAAM,CAACxI,WAAW,CAAC3H,QAAQ,CAAC;MAC5D;MACA,IAAGmQ,MAAM,CAACxI,WAAW,CAACvC,IAAI,EAAC;QACvBA,IAAI,GAAG9K,CAAC,CAACgP,kBAAkB,CAAC6G,MAAM,CAACxI,WAAW,CAACvC,IAAI,CAAC;MACxD;MACA,IAAG+K,MAAM,CAACxI,WAAW,CAAC4I,MAAM,IAAIJ,MAAM,CAACxI,WAAW,CAAC4I,MAAM,CAACrX,MAAM,GAAC,CAAC,EAAC;QAC/DqX,MAAM,GAAG,IAAIxL,IAAI,CAACyL,IAAI,CAACL,MAAM,CAACxI,WAAW,CAAC4I,MAAM,CAAC,CAAC,CAAC,EAACJ,MAAM,CAACxI,WAAW,CAAC4I,MAAM,CAAC,CAAC,CAAC,CAAC;QACjFsM,WAAW,GAAG,IAAI9X,IAAI,CAACyL,IAAI,CAACL,MAAM,CAACxI,WAAW,CAAC4I,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAACJ,MAAM,CAACxI,WAAW,CAAC4I,MAAM,CAAC,CAAC,CAAC,CAAC;MAC/F;MACA;MACA,IAAI0M,OAAO,GAAG,IAAIlY,IAAI,CAACmY,YAAY,CAAC;QAACC,MAAM,EAAEnd,QAAQ;QAAEuQ,MAAM,EAAEsM;MAAW,CAAC,CAAC;MAC5EviB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACsI,UAAU,CAACmS,OAAO,CAAC;MAC/B3iB,CAAC,CAACwiB,YAAY,GAAGG,OAAO;MACxB,IAAG7X,IAAI,KAAK,MAAM,EAAC;QACf;QACA,IAAIgY,UAAU,GAAG,IAAIrY,IAAI,CAACsY,iBAAiB,CAAC;UAACF,MAAM,EAAEnd,QAAQ;UAAEoF,IAAI,EAAEA,IAAI;UAAEmL,MAAM,EAANA;QAAM,CAAC,CAAC;QACnFjW,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACsI,UAAU,CAACsS,UAAU,CAAC;QAClC9iB,CAAC,CAAC0iB,iBAAiB,GAAGI,UAAU;MACpC;IACJ;IACA;EAAA;IAAA9hB,GAAA;IAAA9B,KAAA,EACA,SAAAujB,cAAA,EAAgB;MACZ,IAAMziB,CAAC,GAAG,IAAI;MACd,IAAGA,CAAC,CAACwiB,YAAY,EAAE;QACfxiB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACua,aAAa,CAACziB,CAAC,CAACwiB,YAAY,CAAC;QACzCxiB,CAAC,CAACwiB,YAAY,GAAG,IAAI;MACzB;MACA,IAAGxiB,CAAC,CAAC0iB,iBAAiB,EAAE;QACpB1iB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACua,aAAa,CAACziB,CAAC,CAAC0iB,iBAAiB,CAAC;QAC9C1iB,CAAC,CAAC0iB,iBAAiB,GAAG,IAAI;MAC9B;IACJ;IACA;EAAA;IAAA1hB,GAAA;IAAA9B,KAAA,EACA,SAAAmR,mBAAoB3N,KAAK,EAAC;MACtB,IAAI1C,CAAC,GAAG,IAAI;QAAC0F,QAAQ,GAAG1F,CAAC,CAACuO,cAAc,CAAC,IAAI,CAAC;QAAC0H,MAAM,GAAC,IAAI;MAC1D,IAAIJ,MAAM,GAAGnT,KAAK,IAAI1C,CAAC,CAAC0C,KAAK;MAC7B,IAAG1C,CAAC,CAACgjB,cAAc,EAAE;QACjBhjB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACua,aAAa,CAACziB,CAAC,CAACgjB,cAAc,CAAC;MAC/C;MACA,IAAGnN,MAAM,CAACzF,eAAe,CAAC1K,QAAQ,EAAC;QAC/BA,QAAQ,GAAG1F,CAAC,CAACuO,cAAc,CAACsH,MAAM,CAACzF,eAAe,CAAC1K,QAAQ,CAAC;MAChE;MACA,IAAGmQ,MAAM,CAACzF,eAAe,CAAC6F,MAAM,IAAIJ,MAAM,CAACzF,eAAe,CAAC6F,MAAM,CAACrX,MAAM,GAAC,CAAC,EAAC;QACvEqX,MAAM,GAAG,IAAIxL,IAAI,CAACyL,IAAI,CAACL,MAAM,CAACzF,eAAe,CAAC6F,MAAM,CAAC,CAAC,CAAC,EAACJ,MAAM,CAACzF,eAAe,CAAC6F,MAAM,CAAC,CAAC,CAAC,CAAC;MAC7F;MACA,IAAIgN,QAAQ,GAAG,CAACzP,eAAe,EAAE0P,kBAAkB,EAAEzP,eAAe,CAAC;MACrE;MACA,IAAIkP,OAAO,GAAG,IAAIlY,IAAI,CAAC0Y,cAAc,CAAC;QAACF,QAAQ,EAARA,QAAQ;QAAEJ,MAAM,EAAEnd,QAAQ;QAAEoF,IAAI,EAAEsY,+BAA+B;QAAEnN,MAAM,EAAEA;MAAM,CAAC,CAAC;MAC1HjW,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACsI,UAAU,CAACmS,OAAO,CAAC;MAC/B3iB,CAAC,CAACgjB,cAAc,GAAGL,OAAO;IAC9B;IACA;EAAA;IAAA3hB,GAAA;IAAA9B,KAAA,EACA,SAAAkO,mBAAmBiW,KAAK,EAAC;MACrB,IAAIrjB,CAAC,GAAG,IAAI;MACZ;MACA,IAAIsjB,MAAM,GAAG,IAAI7Y,IAAI,CAACiK,MAAM,CAAC,IAAIjK,IAAI,CAACyF,KAAK,CAACmT,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAACA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,IAAI5Y,IAAI,CAACyF,KAAK,CAACmT,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAACA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7GrjB,CAAC,CAACuH,KAAK,CAACgc,SAAS,CAAC,IAAI,CAACtb,KAAK,CAACC,GAAG,EAACob,MAAM,CAAC;IAC5C;IACA;EAAA;IAAAtiB,GAAA;IAAA9B,KAAA,EACA,SAAAskB,qBAAA,EAAsB;MAClB,IAAIxjB,CAAC,GAAG,IAAI;MACZA,CAAC,CAACuH,KAAK,CAACkc,WAAW,CAAC,CAAC;IACzB;IACA;EAAA;IAAAziB,GAAA;IAAA9B,KAAA,EACA,SAAA6d,OAAA,EAAQ;MACJ,IAAI/c,CAAC,GAAG,IAAI;MACZ,IAAI0jB,IAAI,GAAG,IAAI,CAAChhB,KAAK;MACrB,oBACIlF,MAAA,YAAAgf,aAAA;QAAKnL,EAAE,EAAEqS,IAAI,CAACvb,KAAM;QAACwH,KAAK,EAAE;UAACwF,KAAK,EAAC,MAAM;UAACC,MAAM,EAAC;QAAM;MAAE,CAAM,CAAC;IAExE;IACA;EAAA;IAAApU,GAAA;IAAA9B,KAAA,EACA,SAAAyZ,cAAA,EAAe;MACX,IAAI3Y,CAAC,GAAG,IAAI;MACZ,IAAGA,CAAC,CAAC4H,WAAW,EAAC;QACb+b,aAAa,CAAC3jB,CAAC,CAAC4H,WAAW,CAAC;MAChC;MACA5H,CAAC,CAAC4H,WAAW,GAAGgc,WAAW,CAAC,YAAI;QAC5B,KAAI,IAAI/kB,CAAC,GAAG,CAAC,EAACA,CAAC,GAAGmB,CAAC,CAAC+H,UAAU,CAACnJ,MAAM,EAAEC,CAAC,EAAE,EAAC;UACvCmB,CAAC,CAAC+H,UAAU,CAAClJ,CAAC,CAAC,CAACglB,QAAQ,IAAI,EAAE;UAC9B7jB,CAAC,CAAC+H,UAAU,CAAClJ,CAAC,CAAC,CAACilB,UAAU,IAAI,EAAE;QACpC;QACA9jB,CAAC,CAAC+H,UAAU,CAACgc,IAAI,CAAC,UAAC1R,CAAC,EAACG,CAAC,EAAG;UACrB,OAAOA,CAAC,CAACqR,QAAQ,GAAExR,CAAC,CAACwR,QAAQ;QACjC,CAAC,CAAC;QACF,IAAIG,aAAa,GAAGhkB,CAAC,CAAC+H,UAAU,CAAClG,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC;UAACoiB,WAAW,GAAC,EAAE;QAC3D,KAAI,IAAIplB,EAAC,GAAG,CAAC,EAACA,EAAC,GAAGmlB,aAAa,CAACplB,MAAM,EAAEC,EAAC,EAAE,EAAC;UACxC,IAAAqlB,iBAAA,GAAqCF,aAAa,CAACnlB,EAAC,CAAC;YAAhDwS,EAAE,GAAA6S,iBAAA,CAAF7S,EAAE;YAAC8S,EAAE,GAAAD,iBAAA,CAAFC,EAAE;YAACC,EAAE,GAAAF,iBAAA,CAAFE,EAAE;YAACP,QAAQ,GAAAK,iBAAA,CAARL,QAAQ;YAACC,UAAU,GAAAI,iBAAA,CAAVJ,UAAU;UACjC,IAAIlM,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC;UAC5B,IAAG,CAACuG,EAAE,EAAC;YACH+L,aAAa,CAAC3jB,CAAC,CAAC4H,WAAW,CAAC;UAChC,CAAC,MAAI;YACD,IAAI6X,EAAE,GAAG7H,EAAE,CAACtF,WAAW,CAAC,CAAC;YACzB,IAAI+R,EAAE,GAAG5E,EAAE,CAAClN,GAAG,GAAG4R,EAAE;cAACG,EAAE,GAAG7E,EAAE,CAAChN,GAAG,GAAG2R,EAAE;YACrCxM,EAAE,CAACc,WAAW,CAAC,IAAIjO,IAAI,CAACyF,KAAK,CAACmU,EAAE,EAACC,EAAE,CAAC,CAAC;YACrCtkB,CAAC,CAAC+H,UAAU,CAAClJ,EAAC,CAAC,CAACglB,QAAQ,GAAG,CAAC;YAC5B,IAAGC,UAAU,IAAI,CAAC,EAAC;cACfG,WAAW,CAAC1jB,IAAI,CAAC1B,EAAC,CAAC;YACvB;UACJ;QACJ;QACAolB,WAAW,CAACF,IAAI,CAAC,UAAC9E,CAAC,EAACsF,CAAC,EAAG;UAAC,OAAOA,CAAC,GAACtF,CAAC;QAAA,CAAC,CAAC;QACrC,KAAI,IAAIpgB,GAAC,GAAG,CAAC,EAAGA,GAAC,GAAGolB,WAAW,CAACrlB,MAAM,EAAGC,GAAC,EAAE,EAAC;UACzCmB,CAAC,CAAC+H,UAAU,CAAC+X,MAAM,CAACmE,WAAW,CAACplB,GAAC,CAAC,EAAC,CAAC,CAAC;QACzC;QACA,IAAGmlB,aAAa,CAACplB,MAAM,IAAI,CAAC,EAAC;UACzB+kB,aAAa,CAAC3jB,CAAC,CAAC4H,WAAW,CAAC;QAChC;MACJ,CAAC,EAAC,EAAE,CAAC;IACT;EAAC;IAAA5G,GAAA;IAAA9B,KAAA,EACD,SAAAoZ,OAAOjH,EAAE,EAACmT,MAAM,EAACC,KAAK,EAACjM,YAAY,EAACkM,QAAQ,EAACjM,OAAO,EAAC;MAC7CgM,KAAK,GAAGA,KAAK,IAAI,CAAC;MACtB,IAAIzkB,CAAC,GAAG,IAAI;QAAC2kB,KAAK,GAAG,EAAE;QACnB/M,EAAE,GAAG5X,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC;MAC5BoT,KAAK,GAAGvI,IAAI,CAACuI,KAAK,CAAC,GAAC,IAAI;MACxB,IAAIG,KAAK,GAAGH,KAAK,GAACE,KAAK;MACvB,IAAI5lB,CAAC,GAAG6Y,EAAE,CAACtF,WAAW,CAAC,CAAC;QAACnT,CAAC,GAAG,IAAIsL,IAAI,CAACyF,KAAK,CAACsU,MAAM,CAAC,CAAC,CAAC,EAACA,MAAM,CAAC,CAAC,CAAC,CAAC;MAChE,IAAGzlB,CAAC,CAAC8lB,MAAM,CAAC1lB,CAAC,CAAC,EAAC;QACX,OAAO,KAAK;MAChB,CAAC,MAAI;QACD,IAAI4U,GAAG,GAAE,IAAI;QACb;QACA,IAAGyE,YAAY,EAAC;UACZ,IAAIsM,IAAI,GAAG9kB,CAAC,CAAC+kB,SAAS,CAACnN,EAAE,CAACtF,WAAW,CAAC,CAAC,EAACkS,MAAM,CAAC;UAC/C,IAAG/L,OAAO,IAAKqM,IAAI,GAAG,CAAC,EAAE,IAAIA,IAAI,GAAG,CAAC,GAAI,EAAC;YACtCA,IAAI,IAAI,GAAG;YACX/Q,GAAG,GAAG0E,OAAO;UACjB,CAAC,MAAI;YACD1E,GAAG,GAAG2Q,QAAQ;UAClB;UACA,IAAIM,MAAM,GAAGpN,EAAE,CAACM,OAAO,CAAC,CAAC;UACzB8M,MAAM,CAACC,WAAW,CAAClR,GAAG,CAAC;UACvB6D,EAAE,CAACG,OAAO,CAACiN,MAAM,CAAC;UAClBpN,EAAE,CAACd,WAAW,CAACgO,IAAI,CAAC;QACxB;QACA;QACA,IAAIX,EAAE,GAAG,CAAChlB,CAAC,CAACoT,GAAG,GAAGxT,CAAC,CAACwT,GAAG,IAAEqS,KAAK;UAAER,EAAE,GAAG,CAACjlB,CAAC,CAACsT,GAAG,GAAG1T,CAAC,CAAC0T,GAAG,IAAEmS,KAAK;QAC1D,IAAIM,MAAM,GAAG,KAAK;QAClB,KAAI,IAAIrmB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGmB,CAAC,CAAC+H,UAAU,CAACnJ,MAAM,EAAEC,CAAC,EAAE,EAAC;UACzC,IAAGmB,CAAC,CAAC+H,UAAU,CAAClJ,CAAC,CAAC,CAACwS,EAAE,IAAIA,EAAE,EAAC;YACxBrR,CAAC,CAAC+H,UAAU,CAAC+X,MAAM,CAACjhB,CAAC,EAAC,CAAC,EAAC;cACpBwS,EAAE,EAAFA,EAAE;cAAC8S,EAAE,EAAFA,EAAE;cAACC,EAAE,EAAFA,EAAE;cACRP,QAAQ,EAAE,CAAC;cACXC,UAAU,EAAEW;YAChB,CAAC,CAAC;YACFS,MAAM,GAAG,IAAI;UACjB;QACJ;QACA,IAAG,CAACA,MAAM,EAAC;UACPllB,CAAC,CAAC+H,UAAU,CAACxH,IAAI,CAAC;YACd8Q,EAAE,EAAFA,EAAE;YAAC8S,EAAE,EAAFA,EAAE;YAACC,EAAE,EAAFA,EAAE;YACRP,QAAQ,EAAE,CAAC;YACXC,UAAU,EAAEW;UAChB,CAAC,CAAC;QACN;MACJ;IAEJ;IACA;EAAA;IAAAzjB,GAAA;IAAA9B,KAAA,EACA,SAAA6lB,UAAUI,EAAE,EAACC,EAAE,EAAC;MACZ,IAAIplB,CAAC,GAAG,IAAI;MACZ,IAAIqlB,QAAQ,GAAGF,EAAE;MACjB,IAAG1mB,KAAK,CAACC,OAAO,CAACymB,EAAE,CAAC,EAAC;QACjBE,QAAQ,GAAG,IAAI5a,IAAI,CAACyF,KAAK,CAACiV,EAAE,CAAC,CAAC,CAAC,EAACA,EAAE,CAAC,CAAC,CAAC,CAAC;MAC1C;MACA,IAAIpmB,CAAC,GAAGiB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACod,YAAY,CAACD,QAAQ,CAAC;QAC1C;QACIlmB,CAAC,GAAGa,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACod,YAAY,CAAC,IAAI7a,IAAI,CAACyF,KAAK,CAACkV,EAAE,CAAC,CAAC,CAAC,EAACA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzDzP,GAAG,GAAG,CAAC;MACX,IAAGxW,CAAC,CAACkT,CAAC,IAAItT,CAAC,CAACsT,CAAC,EAAC;QACV,IAAIkT,GAAG,GAAG,CAACpmB,CAAC,CAACqT,CAAC,GAAGzT,CAAC,CAACyT,CAAC,KAAGrT,CAAC,CAACkT,CAAC,GAAGtT,CAAC,CAACsT,CAAC,CAAC;UACjCmT,IAAI,GAAIhK,IAAI,CAACgK,IAAI,CAACD,GAAG,CAAC;QACtB5P,GAAG,GAAG6P,IAAI,GAAC,GAAG,IAAE,CAAC,GAAChK,IAAI,CAAC4E,EAAE,CAAC;QAC1B;QACA,IAAGjhB,CAAC,CAACkT,CAAC,GAAGtT,CAAC,CAACsT,CAAC,EAAC;UACTsD,GAAG,GAAG,CAACA,GAAG,GAAG,EAAE,GAAG,EAAE;QAExB,CAAC,MAAM;UACHA,GAAG,GAAG,CAACA,GAAG;QACd;QACAA,GAAG,GAAG,CAACA,GAAG;MACd,CAAC,MAAK;QACF,IAAI8P,IAAI,GAAGtmB,CAAC,CAACqT,CAAC,GAAEzT,CAAC,CAACyT,CAAC;QACnB,IAAIkT,IAAI,GAAG,CAAC;QACZ,IAAGD,IAAI,GAAG,CAAC,EACPC,IAAI,GAAC,CAAC,CAAC,CAAC,KAERA,IAAI,GAAG,CAAC;QACZ,IAAGD,IAAI,IAAI,CAAC,EACRC,IAAI,GAAG,CAAC;QACZ/P,GAAG,GAAG,CAAC+P,IAAI,GAAG,EAAE;MACpB;MACA,OAAO/P,GAAG;IACd;IACA;EAAA;IAAA3U,GAAA;IAAA9B,KAAA,EACA,SAAA+S,SAAS0T,EAAE,EAAC;MACR;MACA,IAAIzT,SAAS,GAAG,EAAE;QAACC,OAAO,GAAG;UAACyT,IAAI,EAAE,CAAC;UAACC,IAAI,EAAE,CAAC;UAACC,IAAI,EAAE,CAAC;UAACC,IAAI,EAAE;QAAC,CAAC;QAAC3T,IAAI,GAAC,EAAE;MACtE,IAAG,SAAS,IAAIuT,EAAE,EAAC;QACfvT,IAAI,GAAGuT,EAAE,CAACpG,OAAO,CAAC,CAAC;QACnBnN,IAAI,GAAGA,IAAI,CAAC7C,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;UAC1B,IAAIrB,GAAG,GAAGoB,IAAI,CAACpB,GAAG;YAACE,GAAG,GAAGkB,IAAI,CAAClB,GAAG;UACjC,IAAGF,GAAG,GAAGJ,OAAO,CAACyT,IAAI,EAAC;YAClBzT,OAAO,CAACyT,IAAI,GAAGrT,GAAG;UACtB;UACA,IAAGA,GAAG,GAAGJ,OAAO,CAAC0T,IAAI,IAAI1T,OAAO,CAAC0T,IAAI,IAAI,CAAC,EAAC;YACvC1T,OAAO,CAAC0T,IAAI,GAAGtT,GAAG;UACtB;UACA,IAAGE,GAAG,GAAGN,OAAO,CAAC2T,IAAI,EAAC;YAClB3T,OAAO,CAAC2T,IAAI,GAAGrT,GAAG;UACtB;UACA,IAAGA,GAAG,GAAGN,OAAO,CAAC4T,IAAI,IAAI5T,OAAO,CAAC4T,IAAI,IAAI,CAAC,EAAC;YACvC5T,OAAO,CAAC4T,IAAI,GAAGtT,GAAG;UACtB;UACAP,SAAS,CAAC3R,IAAI,CAAC;YACXylB,IAAI,EAAEzT,GAAG;YACT0T,IAAI,EAAExT;UACV,CAAC,CAAC;UACF,OAAO,CAACF,GAAG,EAACE,GAAG,CAAC;QACpB,CAAC,CAAC;MACN;MACA,OAAO;QAACP,SAAS,EAATA,SAAS;QAACC,OAAO,EAAPA,OAAO;QAACC,IAAI,EAAJA;MAAI,CAAC;IACnC;IACA;EAAA;IAAApR,GAAA;IAAA9B,KAAA,EACA,SAAAgnB,gBAAiB7U,EAAE,EAAC;MAChB,IAAIrR,CAAC,GAAG,IAAI;MACZ,IAAGA,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC,EAAC;QACnBrR,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC,CAACsI,IAAI,CAAC,CAAC;MAC9B;IACJ;IACA;EAAA;IAAA3Y,GAAA;IAAA9B,KAAA,EACA,SAAAinB,gBAAgB9U,EAAE,EAAC;MACf,IAAIrR,CAAC,GAAG,IAAI;MACZ,IAAGA,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC,EAAC;QACnBrR,CAAC,CAACiH,EAAE,CAAC4Q,UAAU,CAACxG,EAAE,CAAC,CAACqI,IAAI,CAAC,CAAC;MAC9B;IACJ;IACA;EAAA;IAAA1Y,GAAA;IAAA9B,KAAA,EACA,SAAAmf,aAAA,EAAe;MACX,IAAIre,CAAC,GAAG,IAAI;MACZ,IAAIomB,SAAS,GAAGpmB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACme,SAAS,CAAC,CAAC;MACvC,IAAIpoB,GAAG,GAAG,CAAC,CAAC;MACZA,GAAG,CAACqoB,SAAS,GAAG;QACZ/T,GAAG,EAAG6T,SAAS,CAACG,YAAY,CAAC,CAAC,CAAChU,GAAG;QAClCE,GAAG,EAAG2T,SAAS,CAACG,YAAY,CAAC,CAAC,CAAC9T;MACnC,CAAC;MACDxU,GAAG,CAACuoB,SAAS,GAAG;QACZjU,GAAG,EAAG6T,SAAS,CAACK,YAAY,CAAC,CAAC,CAAClU,GAAG;QAClCE,GAAG,EAAG2T,SAAS,CAACK,YAAY,CAAC,CAAC,CAAChU;MACnC,CAAC;MACDxU,GAAG,CAACyoB,SAAS,GAAG1mB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC6K,SAAS,CAAC,CAAC;MACvC9U,GAAG,CAACmQ,IAAI,GAAGpO,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACkX,OAAO,CAAC,CAAC;MAChCnhB,GAAG,CAAC0oB,OAAO,GAAG3mB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC0e,OAAO,CAAC,CAAC;MACnC3oB,GAAG,CAAC+U,MAAM,GAAGhT,CAAC,CAAC6mB,uBAAuB,CAAC,CAAC5oB,GAAG,CAACyoB,SAAS,CAACnU,GAAG,EAACtU,GAAG,CAACyoB,SAAS,CAACjU,GAAG,CAAC,EACpC,CAACxU,GAAG,CAACuoB,SAAS,CAACjU,GAAG,EAACtU,GAAG,CAACuoB,SAAS,CAAC/T,GAAG,CAAC,CAAC;MAC9E,OAAOxU,GAAG;IACd;IACA;EAAA;IAAA+C,GAAA;IAAA9B,KAAA,EACA,SAAA2nB,wBAAwBC,EAAE,EAAC1B,EAAE,EAAC;MAC1B,OAAO5J,IAAI,CAACuL,KAAK,CAAC,IAAI,CAAC9e,KAAK,CAACC,GAAG,CAAC8e,WAAW,CAAC,IAAIvc,IAAI,CAACyF,KAAK,CAAC4W,EAAE,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,EACzB,IAAIrc,IAAI,CAACyF,KAAK,CAACkV,EAAE,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC,GAAC,GAAG;IAC1F;IACA;EAAA;IAAApkB,GAAA;IAAA9B,KAAA,EACA,SAAAghB,kBAAkB+G,EAAE,EAAC;MACjB,IAAIjnB,CAAC,GAAG,IAAI;QAACknB,aAAa,GAAG,CAAC;MAC9B,IAAID,EAAE,CAACroB,MAAM,GAAG,CAAC,EAAE;QAAC,OAAO,KAAK;MAAC;MACjC,KAAI,IAAIC,CAAC,GAAE,CAAC,EAAGA,CAAC,GAAEooB,EAAE,CAACroB,MAAM,EAAGC,CAAC,EAAE,EAAC;QAC9B,IAAGA,CAAC,GAAGooB,EAAE,CAACroB,MAAM,GAAC,CAAC,EAAC;UACfsoB,aAAa,IAAIlnB,CAAC,CAAC6mB,uBAAuB,CAACI,EAAE,CAACpoB,CAAC,CAAC,EAACooB,EAAE,CAACpoB,CAAC,GAAC,CAAC,CAAC,CAAC;QAC7D;MACJ;MACA,OAAO2c,IAAI,CAACuL,KAAK,CAACG,aAAa,GAAC,GAAG,CAAC,GAAC,GAAG;IAC5C;IACA;EAAA;IAAAlmB,GAAA;IAAA9B,KAAA,EACA,SAAAioB,cAAc9V,EAAE,EAAC;MACb,IAAIrR,CAAC,GAAG,IAAI;MACZ,OAAOA,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACif,aAAa,CAACnnB,CAAC,CAAC6X,UAAU,CAACxG,EAAE,CAAC,CAAC;IACtD;IACA;EAAA;IAAArQ,GAAA;IAAA9B,KAAA,EACA,SAAAkoB,UAAUnI,CAAC,EAACsF,CAAC,EAAC;MACV,OAAO/e,qBAAS,CAAC6hB,EAAE,CAAC7hB,qBAAS,CAAC8hB,MAAM,CAACrI,CAAC,CAAC,EAACzZ,qBAAS,CAAC8hB,MAAM,CAAC/C,CAAC,CAAC,CAAC;IAChE;IACA;EAAA;IAAAvjB,GAAA;IAAA9B,KAAA,EACA,SAAAqoB,UAAUC,OAAO,EAACC,OAAO,EAAC3c,IAAI,EAAC;MAC3B,IAAI4c,WAAW,GAAGniB,GAAG,CAACiiB,OAAO,CAAC,CAACG,QAAQ,CAACpiB,GAAG,CAACkiB,OAAO,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;MAC5D,IAAIC,WAAW,GAAGtiB,GAAG,CAACkiB,OAAO,CAAC,CAACE,QAAQ,CAACpiB,GAAG,CAACiiB,OAAO,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC;MAC5D,IAAIE,UAAU,GAAGJ,WAAW,CAACnY,GAAG,CAAC,UAAAoE,IAAI;QAAA,OAAEA,IAAI,CAAC7I,IAAI,CAAC;MAAA,EAAC;MAClD,IAAIid,UAAU,GAAGF,WAAW,CAACtY,GAAG,CAAC,UAAAoE,IAAI;QAAA,OAAEA,IAAI,CAAC7I,IAAI,CAAC;MAAA,EAAC;MAClD,IAAIkd,aAAa,GAAGziB,GAAG,CAACuiB,UAAU,CAAC,CAACG,SAAS,CAAC1iB,GAAG,CAACwiB,UAAU,CAAC,CAAC,CAACH,IAAI,CAAC,CAAC;MACrE,IAAIM,WAAW,GAAGL,WAAW,CAACznB,MAAM,CAAC,UAAAuT,IAAI;QAAA,OAAGqU,aAAa,CAACnM,OAAO,CAAClI,IAAI,CAAC7I,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC;MAAA,EAAC;MACjF,IAAIqd,YAAY,GAAGT,WAAW,CAACtnB,MAAM,CAAC,UAAAuT,IAAI;QAAA,OAAGqU,aAAa,CAACnM,OAAO,CAAClI,IAAI,CAAC7I,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC;MAAA,EAAC;MAClF,IAAIsd,cAAc,GAAGN,UAAU,CAAC1nB,MAAM,CAAC,UAAAioB,KAAK;QAAA,OAAEL,aAAa,CAACnM,OAAO,CAACwM,KAAK,CAAC,IAAE,CAAC,CAAC;MAAA,EAAC;MAC/E,IAAIC,SAAS,GAAGT,WAAW,CAACznB,MAAM,CAAC,UAAAuT,IAAI;QAAA,OAAEqU,aAAa,CAACnM,OAAO,CAAClI,IAAI,CAAC7I,IAAI,CAAC,CAAC,IAAE,CAAC,CAAC;MAAA,EAAC;MAE/E,OAAO;QAACsd,cAAc,EAAdA,cAAc;QAACE,SAAS,EAATA,SAAS;QAACJ,WAAW,EAAXA,WAAW;QAACC,YAAY,EAAZA;MAAY,CAAC;IAC9D;IACA;EAAA;IAAAnnB,GAAA;IAAA9B,KAAA,EACA,SAAAqpB,QAAQjN,GAAG,EAACsC,GAAG,EAAC;MACZ,IAAI4K,GAAG,GAAG,EAAE;QAAEC,SAAS,GAAG,EAAE;MAC5B,KAAI,IAAI5pB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGyc,GAAG,CAAC1c,MAAM,EAAGC,CAAC,EAAE,EAAC;QACjC,IAAG+e,GAAG,CAAC/B,OAAO,CAACP,GAAG,CAACzc,CAAC,CAAC,CAACwS,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;UAC3BoX,SAAS,CAACloB,IAAI,CAAC+a,GAAG,CAACzc,CAAC,CAAC,CAAC;QAC1B,CAAC,MAAI;UACD2pB,GAAG,CAACjoB,IAAI,CAAC+a,GAAG,CAACzc,CAAC,CAAC,CAAC;QACpB;MACJ;MACA,OAAO;QAAC2pB,GAAG,EAAHA,GAAG;QAACC,SAAS,EAATA;MAAS,CAAC;IAC1B;IACA;EAAA;IAAAznB,GAAA;IAAA9B,KAAA,EACA,SAAAwpB,WAAWpN,GAAG,EAACsC,GAAG,EAAC;MACf,IAAI+K,IAAI,GAAG,EAAE;QAAEC,QAAQ,GAAG,EAAE;MAC5B,KAAI,IAAI/pB,CAAC,GAAG,CAAC,EAAGA,CAAC,GAAGyc,GAAG,CAAC1c,MAAM,EAAGC,CAAC,EAAE,EAAC;QACjC,IAAG+e,GAAG,CAAC/B,OAAO,CAACP,GAAG,CAACzc,CAAC,CAAC,CAACwS,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC;UAC3BsX,IAAI,CAACpoB,IAAI,CAAC+a,GAAG,CAACzc,CAAC,CAAC,CAAC;QACrB,CAAC,MAAI;UACD+pB,QAAQ,CAACroB,IAAI,CAAC+a,GAAG,CAACzc,CAAC,CAAC,CAAC;QACzB;MACJ;MACA,OAAO;QAAC8pB,IAAI,EAAJA,IAAI;QAACC,QAAQ,EAARA;MAAQ,CAAC;IAC1B;IACA;EAAA;IAAA5nB,GAAA;IAAA9B,KAAA,EACA,SAAA2pB,eAAeC,MAAM,EAAC;MAClB,IAAM9oB,CAAC,GAAG,IAAI;MACd,IAAGA,CAAC,CAACgI,WAAW,EAAC;QACbhI,CAAC,CAAC+oB,cAAc,CAAC,CAAC;MACtB;MACA,IAAIC,GAAG,GAAG,IAAIve,IAAI,CAACyF,KAAK,CAAC4Y,MAAM,CAAChT,QAAQ,CAAC,CAAC,CAAC,EAAEgT,MAAM,CAAChT,QAAQ,CAAC,CAAC,CAAC,CAAC;MAChE9V,CAAC,CAACgI,WAAW,GAAG,IAAIqB,OAAO,CAACiB,OAAO,CAACtK,CAAC,CAACiI,KAAK,CAACC,GAAG,EAAE4gB,MAAM,CAAChM,OAAO,EAAC;QAC5DmM,QAAQ,EAAEH,MAAM,CAACG,QAAQ;QACzBC,eAAe,EAAE,aAAa;QAC9BC,aAAa,EAAE,IAAI;QACnBC,KAAK,EAAE,CAAC;QACRC,YAAY,EAAEP,MAAM,CAACO,YAAY,OAAAzf,MAAA,CAAOC,oBAAS,CAACC,YAAY;MAClE,CAAC,CAAC;MACF,IAAIiM,MAAM,GAAG,IAAItL,IAAI,CAAC6L,MAAM,CAAC0S,GAAG,CAAC;MACjChpB,CAAC,CAACgI,WAAW,CAACgZ,IAAI,CAACjL,MAAM,CAAC;IAC9B;IACA;EAAA;IAAA/U,GAAA;IAAA9B,KAAA,EACA,SAAAoqB,YAAAC,IAAA,EAAgDlW,QAAQ,EAAC;MAAA,IAA5C7B,YAAY,GAAA+X,IAAA,CAAZ/X,YAAY;QAAAgY,cAAA,GAAAD,IAAA,CAAC1I,SAAS;QAATA,SAAS,GAAA2I,cAAA,cAAC,CAAC,CAAC,GAAAA,cAAA;QAAAC,SAAA,GAAAF,IAAA,CAAClN,IAAI;QAAJA,IAAI,GAAAoN,SAAA,cAAC,CAAC,CAAC,GAAAA,SAAA;MAC1C,IAAG,CAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,CAAC,CAACC,QAAQ,CAAClY,YAAY,CAAC,EAAC;QACxDmY,aAAO,CAACzV,IAAI,CAAC,aAAa,CAAC;QAC3B,OAAO,KAAK;MAChB;MACA,IAAMlU,CAAC,GAAG,IAAI;MACd,IAAI8oB,MAAM,GAAG,CAAC,CAAC;QACXhe,IAAI,GAAG0G,YAAY,IAAE,SAAS;QAC9BH,EAAE,GAAEgL,IAAI,CAAChL,EAAE,0BAAAzH,MAAA,CAA0B4R,IAAI,CAACC,MAAM,CAAC,CAAC,CAAE;MAExDqN,MAAM,CAACjQ,KAAK,GAAGgI,SAAS,CAAChI,KAAK,IAAE,KAAK;MACrCiQ,MAAM,CAAC3O,SAAS,GAAG0G,SAAS,CAAC1G,SAAS,IAAE,KAAK;MAC7C2O,MAAM,CAAC1O,WAAW,GAAGyG,SAAS,CAACzG,WAAW,IAAE,CAAC;MAC7C0O,MAAM,CAAC/P,SAAS,GAAG8H,SAAS,CAAC9H,SAAS,IAAE,CAAC;MACzC+P,MAAM,CAAChQ,WAAW,GAAG+H,SAAS,CAAC/H,WAAW,IAAE,GAAG;MAC/CgQ,MAAM,CAAC9P,QAAQ,GAAI6H,SAAS,CAAC7H,QAAQ,IAAE,OAAO;MAE9ChZ,CAAC,CAAC2gB,IAAI,CAAC;QACHnP,YAAY,EAAE1G,IAAI;QAClB+V,SAAS,EAAApgB,aAAA,CAAAA,aAAA,KACFogB,SAAS,GACTiI,MAAM,CACZ;QACDzM,IAAI,EAAC;UACDhL,EAAE,EAAEA;QACR;MACJ,CAAC,CAAC;MAEFrR,CAAC,CAACiJ,gBAAgB,CAACoI,EAAE,CAAC,GAAG;QACrBgC,QAAQ,EAARA,QAAQ;QACRhC,EAAE,EAAFA,EAAE;QACFvG,IAAI,EAAE0G;MACV,CAAC;IACL;IACA;EAAA;IAAAxQ,GAAA;IAAA9B,KAAA,EACA,SAAA0qB,iBAAA,EAAkB;MACd,KAAI,IAAI5oB,GAAG,IAAI,IAAI,CAACiI,gBAAgB,EAAC;QACjC,IAAI,CAAC6S,aAAa,CAAC,IAAI,CAAC7S,gBAAgB,CAACjI,GAAG,CAAC,CAACqQ,EAAE,EAAC,IAAI,CAACpI,gBAAgB,CAACjI,GAAG,CAAC,CAAC8J,IAAI,CAAC;MACrF;MACA,IAAI,CAAC7B,gBAAgB,GAAG,CAAC,CAAC;IAC9B;IACA;EAAA;IAAAjI,GAAA;IAAA9B,KAAA,EACA,SAAA2qB,qBAAqBxY,EAAE,EAAC;MACpB,IAAIpT,GAAG,GAAG,IAAI,CAACgL,gBAAgB,CAACoI,EAAE,CAAC;MACnC,IAAI,CAACyK,aAAa,CAAC7d,GAAG,CAACoT,EAAE,EAAEpT,GAAG,CAAC6M,IAAI,CAAC;MACpC,OAAO,IAAI,CAAC7B,gBAAgB,CAACoI,EAAE,CAAC;IACpC;IACA;EAAA;IAAArQ,GAAA;IAAA9B,KAAA,EACA,SAAA6pB,eAAA,EAAgB;MACZ,IAAM/oB,CAAC,GAAG,IAAI;MACd,IAAGA,CAAC,CAACgI,WAAW,EAAC;QACbhI,CAAC,CAACgI,WAAW,CAACmL,KAAK,CAAC,CAAC;MACzB;MACAnT,CAAC,CAACgI,WAAW,GAAG,IAAI;IACxB;IACA;EAAA;IAAAhH,GAAA;IAAA9B,KAAA,EACA,SAAA4qB,aAAaC,WAAW,EAAyB;MAAA,IAAAC,MAAA;MAAA,IAAxBC,QAAQ,GAAAvpB,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAC,EAAE;MAAA,IAACwpB,SAAS,GAAAxpB,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAC,CAAC;MAC5C,OAAO,IAAI6I,OAAO,CAAC,UAACC,OAAO,EAAG;QAC1B,IAAI2gB,GAAG,GAAG,IAAI1f,IAAI,CAAC2f,WAAW,CAACJ,MAAI,CAAC/hB,KAAK,CAACC,GAAG,EAAC;UAC1CmiB,gBAAgB,EAAC,SAAAA,iBAAC3lB,MAAM,EAAG;YACvB,IAAG,CAACA,MAAM,EAAC;cACP8E,OAAO,CAAC,EAAE,CAAC;YACf,CAAC,MACI,IAAG9E,MAAM,CAAC4lB,YAAY,CAAC,CAAC,IAAEJ,SAAS,EAAC;cACrCC,GAAG,CAACI,QAAQ,CAACL,SAAS,CAAC;YAC3B,CAAC,MACG;cACA,IAAIM,OAAO,GAAG,EAAE;cAChB,KAAI,IAAI3rB,CAAC,GAAC,CAAC,EAACsD,GAAG,GAACuC,MAAM,CAAC+lB,iBAAiB,CAAC,CAAC,EAAC5rB,CAAC,GAACsD,GAAG,EAACtD,CAAC,EAAE,EAAC;gBACjD2rB,OAAO,CAACjqB,IAAI,CAACmE,MAAM,CAACgmB,MAAM,CAAC7rB,CAAC,CAAC,CAAC;cAClC;cACA2K,OAAO,CAACghB,OAAO,CAACjb,GAAG,CAAC,UAACxP,CAAC;gBAAA,OAAI;kBACtBsR,EAAE,EAAEtR,CAAC,CAAC4qB,GAAG;kBACT3V,SAAS,EAAEjV,CAAC,CAAC8I,KAAK,CAAC0J,GAAG;kBACtB0C,QAAQ,EAAElV,CAAC,CAAC8I,KAAK,CAAC4J,GAAG;kBACrBsE,YAAY,EAAE,IAAI;kBAClBlB,MAAM,EAAE;oBACJR,YAAY,EAAEtV,CAAC,CAAC6qB,KAAK;oBACrBrV,WAAW,EAAE;kBACjB,CAAC;kBACDkC,KAAK,EAAE;gBACX,CAAC;cAAA,CAAC,CAAC,CAAC;YACR;YACA;UACJ,CAAC;UACDoT,YAAY,EAACZ;QACjB,CAAC,CAAC;QACFE,GAAG,CAACW,MAAM,CAACf,WAAW,CAAC;MAC3B,CAAC,CAAC;IACN;IACA;EAAA;IAAA/oB,GAAA;IAAA9B,KAAA,EACA,SAAA6rB,kBAAA,EAAmB;MACf,IAAI/qB,CAAC,GAAG,IAAI;MACZA,CAAC,CAAC2K,eAAe,CAACH,IAAI,CAAC,YAAI;QACvBxK,CAAC,CAACiL,IAAI,CAAC,CAAC;MACZ,CAAC,CAAC;IACN;IACA;EAAA;IAAAjK,GAAA;IAAA9B,KAAA,EACA,SAAA8rB,mBAAmBC,SAAS,EAAEC,SAAS,EAAE,CAAC;IAC1C;EAAA;IAAAlqB,GAAA;IAAA9B,KAAA,EACA,SAAAisB,0BAA0BC,SAAS,EAAE;MACjC,IAAIprB,CAAC,GAAG,IAAI;MACZ;MACA,IAAAqrB,QAAA,GAAsDrrB,CAAC,CAACiI,KAAK;QAAxDI,QAAQ,GAAAgjB,QAAA,CAARhjB,QAAQ;QAACC,OAAO,GAAA+iB,QAAA,CAAP/iB,OAAO;QAACC,UAAU,GAAA8iB,QAAA,CAAV9iB,UAAU;QAACC,SAAS,GAAA6iB,QAAA,CAAT7iB,SAAS;QAACI,OAAO,GAAAyiB,QAAA,CAAPziB,OAAO;MAClD,IAAKC,KAAK,GAAsCD,OAAO,CAAlDC,KAAK;QAACC,QAAQ,GAA6BF,OAAO,CAA5CE,QAAQ;QAACC,OAAO,GAAqBH,OAAO,CAAnCG,OAAO;QAAC9C,MAAM,GAAc2C,OAAO,CAA3B3C,MAAM;QAAC+C,SAAS,GAAIJ,OAAO,CAApBI,SAAS;MAC5C;MACA,IAAAsiB,oBAAA,GAeIF,SAAS,CAdThgB,SAAS;QAATA,SAAS,GAAAkgB,oBAAA,cAAG,EAAE,GAAAA,oBAAA;QAAAC,mBAAA,GAcdH,SAAS,CAdM/f,QAAQ;QAARA,QAAQ,GAAAkgB,mBAAA,cAAG,EAAE,GAAAA,mBAAA;QAAAC,qBAAA,GAc5BJ,SAAS,CAdoB9f,WAAW;QAAXA,WAAW,GAAAkgB,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAAC,qBAAA,GAc7CL,SAAS,CAdqC7f,UAAU;QAAVA,UAAU,GAAAkgB,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAAC,qBAAA,GAc7DN,SAAS,CAdqDhf,kBAAkB;QAAlBA,kBAAkB,GAAAsf,qBAAA,cAAE,EAAE,GAAAA,qBAAA;QACpF9f,iBAAiB,GAajBwf,SAAS,CAbTxf,iBAAiB;QAACK,YAAY,GAa9Bmf,SAAS,CAbSnf,YAAY;QAACC,WAAW,GAa1Ckf,SAAS,CAbsBlf,WAAW;QAACV,aAAa,GAaxD4f,SAAS,CAbkC5f,aAAa;QACxDC,gBAAgB,GAYhB2f,SAAS,CAZT3f,gBAAgB;QAACuB,gBAAgB,GAYjCoe,SAAS,CAZQpe,gBAAgB;QACjCkO,SAAS,GAWTkQ,SAAS,CAXTlQ,SAAS;QAACnN,SAAS,GAWnBqd,SAAS,CAXCrd,SAAS;QACnB4Q,YAAY,GAUZyM,SAAS,CAVTzM,YAAY;QAAChT,YAAY,GAUzByf,SAAS,CAVIzf,YAAY;QACzBggB,UAAU,GASVP,SAAS,CATTO,UAAU;QAACjgB,UAAU,GASrB0f,SAAS,CATE1f,UAAU;QACrBkgB,aAAa,GAQbR,SAAS,CARTQ,aAAa;QAACC,cAAc,GAQ5BT,SAAS,CARKS,cAAc;QAC5BC,QAAQ,GAORV,SAAS,CAPTU,QAAQ;QAACC,SAAS,GAOlBX,SAAS,CAPAW,SAAS;QAClBC,OAAO,GAMPZ,SAAS,CANTY,OAAO;QAACC,MAAM,GAMdb,SAAS,CANDa,MAAM;QAACC,WAAW,GAM1Bd,SAAS,CANMc,WAAW;QAC1BC,aAAa,GAKbf,SAAS,CALTe,aAAa;QAACC,QAAQ,GAKtBhB,SAAS,CALKgB,QAAQ;QAACC,SAAS,GAKhCjB,SAAS,CALciB,SAAS;QAChCxgB,kBAAkB,GAIlBuf,SAAS,CAJTvf,kBAAkB;QAACygB,yBAAyB,GAI5ClB,SAAS,CAJUkB,yBAAyB;QAC5CC,oBAAoB,GAGpBnB,SAAS,CAHTmB,oBAAoB;QAACzgB,eAAe,GAGpCsf,SAAS,CAHYtf,eAAe;QAAC0gB,sBAAsB,GAG3DpB,SAAS,CAH4BoB,sBAAsB;QAC3DC,UAAU,GAEVrB,SAAS,CAFTqB,UAAU;QAACze,QAAQ,GAEnBod,SAAS,CAFEpd,QAAQ;QAACjC,YAAY,GAEhCqf,SAAS,CAFWrf,YAAY;QAChCI,cAAc,GACdif,SAAS,CADTjf,cAAc;MAElB,IAAIzJ,KAAK,GAAG1C,CAAC,CAAC0C,KAAK;;MAEnB;MACA,IAAGsL,QAAQ,IAAI,CAAChO,CAAC,CAAConB,SAAS,CAACpZ,QAAQ,EAACtL,KAAK,CAACsL,QAAQ,CAAC,EAAC;QACjD,IAAG,OAAOA,QAAS,KAAK,QAAQ,EAAC;UAC7BhO,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwH,WAAW,CAAC;YAACC,KAAK,EAAC3B;UAAQ,CAAC,CAAC;QAC7C;QACA,IAAGA,QAAQ,YAAYvP,KAAK,EAAC;UACzBuB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwH,WAAW,CAAC;YAACE,SAAS,EAAC5B;UAAQ,CAAC,CAAC;QACjD;MACJ;MACA;MACA,IAAGjC,YAAY,IAAI,CAAC/L,CAAC,CAAConB,SAAS,CAACrb,YAAY,EAACrJ,KAAK,CAACqJ,YAAY,CAAC,EAAC;QAC7D/L,CAAC,CAACsM,UAAU,CAACP,YAAY,CAAC;MAC9B;MACA;MACA,IAAG,CAAC/L,CAAC,CAACiI,KAAK,CAACG,UAAU,EAAC;;MAEvB;MACA,IAAGyD,kBAAkB,YAAYpN,KAAK,IAAIiE,KAAK,CAACmJ,kBAAkB,YAAYpN,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAACvb,kBAAkB,EAACnJ,KAAK,CAACmJ,kBAAkB,CAAC,EAAC;QAC7I,IAAA6gB,YAAA,GAA6C1sB,CAAC,CAACunB,SAAS,CAAC7kB,KAAK,CAACmJ,kBAAkB,EAACA,kBAAkB,EAAC,IAAI,CAAC;UAArGuc,cAAc,GAAAsE,YAAA,CAAdtE,cAAc;UAACE,SAAS,GAAAoE,YAAA,CAATpE,SAAS;UAACJ,WAAW,GAAAwE,YAAA,CAAXxE,WAAW;QACzCloB,CAAC,CAAC2d,oBAAoB,CAACyK,cAAc,CAAC;QACtCpoB,CAAC,CAAC+M,kBAAkB,CAACub,SAAS,CAAC;QAC/BtoB,CAAC,CAACud,qBAAqB,CAAC2K,WAAW,CAAC;MACxC;MACA,IAAI,OAAOoE,yBAA0B,IAAI,SAAS,IAAIA,yBAAyB,IAAMA,yBAAyB,IAAIA,yBAAyB,KAAKtsB,CAAC,CAAC0C,KAAK,CAAC4pB,yBAA0B,EAAC;QAC/KtsB,CAAC,CAAC+d,uBAAuB,CAAC,CAAC;MAC/B;MACA;AACR;AACA;AACA;AACA;MACQ,IAAG3S,SAAS,YAAY3M,KAAK,IAAIiE,KAAK,CAAC0I,SAAS,YAAY3M,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAChc,SAAS,EAAC1I,KAAK,CAAC0I,SAAS,CAAC,EAAC;QACzG,IAAIuhB,YAAY,GAAGjqB,KAAK,CAAC0I,SAAS;QAClC,IAAIwhB,YAAY,GAAGxhB,SAAS;QAC5B;QACA,IAAG,CAAC,CAACpL,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;UAChBkkB,YAAY,GAAGjqB,KAAK,CAAC0I,SAAS,CAAChL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;UACjFS,YAAY,GAAGxhB,SAAS,CAAChL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;QAC/E;QACA,IAAAU,aAAA,GAA6C7sB,CAAC,CAACunB,SAAS,CAACoF,YAAY,EAACC,YAAY,EAAC,IAAI,CAAC;UAAnFxE,eAAc,GAAAyE,aAAA,CAAdzE,cAAc;UAACE,UAAS,GAAAuE,aAAA,CAATvE,SAAS;UAACJ,YAAW,GAAA2E,aAAA,CAAX3E,WAAW;QACzC,IAAA4E,UAAA,GAAsB9sB,CAAC,CAACuoB,OAAO,CAACD,UAAS,KAAA1e,MAAA,CAAAxI,kBAAA,CAAKiH,QAAQ,GAAAjH,kBAAA,CAAIyH,KAAK,EAAC,CAAC;UAA5D2f,GAAG,GAAAsE,UAAA,CAAHtE,GAAG;UAACC,SAAS,GAAAqE,UAAA,CAATrE,SAAS;QAClB,IAAAsE,aAAA,GAAsB/sB,CAAC,CAAC0oB,UAAU,CAACR,YAAW,KAAAte,MAAA,CAAAxI,kBAAA,CAAKiH,QAAQ,GAAAjH,kBAAA,CAAIyH,KAAK,EAAC,CAAC;UAAjE8f,IAAI,GAAAoE,aAAA,CAAJpE,IAAI;UAACC,QAAQ,GAAAmE,aAAA,CAARnE,QAAQ;QAClB;QAAA,IAAAoE,SAAA,GAAA7uB,0BAAA,CACciqB,eAAc;UAAA6E,KAAA;QAAA;UAA5B,KAAAD,SAAA,CAAAjuB,CAAA,MAAAkuB,KAAA,GAAAD,SAAA,CAAAhuB,CAAA,IAAAC,IAAA,GAA6B;YAAA,IAArBoS,EAAE,GAAA4b,KAAA,CAAA/tB,KAAA;YACNc,CAAC,CAAC8b,aAAa,CAACzK,EAAE,EAAC,OAAO,CAAC;UAC/B;UACA;QAAA,SAAA5R,GAAA;UAAAutB,SAAA,CAAA7tB,CAAA,CAAAM,GAAA;QAAA;UAAAutB,SAAA,CAAA3tB,CAAA;QAAA;QACAW,CAAC,CAACuM,QAAQ,IAAA3C,MAAA,CAAAxI,kBAAA,CAAKonB,GAAG,GAAApnB,kBAAA,CAAIwnB,QAAQ,EAAC,CAAC;QAChC;QACA5oB,CAAC,CAAC0X,WAAW,IAAA9N,MAAA,CAAAxI,kBAAA,CAAKunB,IAAI,GAAAvnB,kBAAA,CAAIqnB,SAAS,EAAC,CAAC;MACzC;MACA;AACR;AACA;AACA;MACQ,IAAGnd,WAAW,YAAY7M,KAAK,IAAIiE,KAAK,CAAC4I,WAAW,YAAY7M,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAC9b,WAAW,EAAC5I,KAAK,CAAC4I,WAAW,CAAC,EAAC;QACjH,IAAI4hB,cAAc,GAAGxqB,KAAK,CAAC4I,WAAW;QACtC,IAAI6hB,cAAc,GAAG7hB,WAAW;QAChC,IAAG,CAAC,CAACtL,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;UAChBykB,cAAc,GAAGxqB,KAAK,CAAC4I,WAAW,CAAClL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;UACrFgB,cAAc,GAAG7hB,WAAW,CAAClL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;QACnF;QACA,IAAAiB,aAAA,GAA6CptB,CAAC,CAACunB,SAAS,CAAC2F,cAAc,EAACC,cAAc,EAAC,IAAI,CAAC;UAAvF/E,gBAAc,GAAAgF,aAAA,CAAdhF,cAAc;UAACE,WAAS,GAAA8E,aAAA,CAAT9E,SAAS;UAACJ,aAAW,GAAAkF,aAAA,CAAXlF,WAAW;QACzC,IAAAmF,WAAA,GAAsBrtB,CAAC,CAACuoB,OAAO,CAACD,WAAS,KAAA1e,MAAA,CAAAxI,kBAAA,CAAK4H,SAAS,GAAA5H,kBAAA,CAAI2H,OAAO,GAAA3H,kBAAA,CAAImH,UAAU,EAAC,CAAC;UAA7EigB,IAAG,GAAA6E,WAAA,CAAH7E,GAAG;UAACC,UAAS,GAAA4E,WAAA,CAAT5E,SAAS;QAClB,IAAA6E,cAAA,GAAsBttB,CAAC,CAAC0oB,UAAU,CAACR,aAAW,KAAAte,MAAA,CAAAxI,kBAAA,CAAK4H,SAAS,GAAA5H,kBAAA,CAAI2H,OAAO,GAAA3H,kBAAA,CAAImH,UAAU,EAAC,CAAC;UAAlFogB,KAAI,GAAA2E,cAAA,CAAJ3E,IAAI;UAACC,SAAQ,GAAA0E,cAAA,CAAR1E,QAAQ;QAClB;QAAA,IAAA2E,UAAA,GAAApvB,0BAAA,CACciqB,gBAAc;UAAAoF,MAAA;QAAA;UAA5B,KAAAD,UAAA,CAAAxuB,CAAA,MAAAyuB,MAAA,GAAAD,UAAA,CAAAvuB,CAAA,IAAAC,IAAA,GAA6B;YAAA,IAArBoS,GAAE,GAAAmc,MAAA,CAAAtuB,KAAA;YACNc,CAAC,CAAC8b,aAAa,CAACzK,GAAE,EAAC,SAAS,CAAC;UACjC;UACA;QAAA,SAAA5R,GAAA;UAAA8tB,UAAA,CAAApuB,CAAA,CAAAM,GAAA;QAAA;UAAA8tB,UAAA,CAAAluB,CAAA;QAAA;QACAW,CAAC,CAACyM,UAAU,IAAA7C,MAAA,CAAAxI,kBAAA,CAAKonB,IAAG,GAAApnB,kBAAA,CAAIwnB,SAAQ,EAAC,CAAC;QAClC;QACA5oB,CAAC,CAAC0a,aAAa,IAAA9Q,MAAA,CAAAxI,kBAAA,CAAKunB,KAAI,GAAAvnB,kBAAA,CAAIqnB,UAAS,EAAC,CAAC;MAC3C;MACA;AACR;AACA;AACA;MACQ,IAAGld,UAAU,YAAY9M,KAAK,IAAIiE,KAAK,CAAC6I,UAAU,YAAY9M,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAC7b,UAAU,EAAC7I,KAAK,CAAC6I,UAAU,CAAC,EAAC;QAC7G,IAAIkiB,aAAa,GAAG/qB,KAAK,CAAC6I,UAAU;QACpC,IAAImiB,aAAa,GAAGniB,UAAU;QAC9B,IAAG,CAAC,CAACvL,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;UAChBglB,aAAa,GAAG/qB,KAAK,CAAC6I,UAAU,CAACnL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;UACnFuB,aAAa,GAAGniB,UAAU,CAACnL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;QACjF;QACA,IAAAwB,aAAA,GAA6C3tB,CAAC,CAACunB,SAAS,CAACkG,aAAa,EAACC,aAAa,EAAC,IAAI,CAAC;UAArFtF,gBAAc,GAAAuF,aAAA,CAAdvF,cAAc;UAACE,WAAS,GAAAqF,aAAA,CAATrF,SAAS;UAACJ,aAAW,GAAAyF,aAAA,CAAXzF,WAAW;QACzC,IAAA0F,WAAA,GAAsB5tB,CAAC,CAACuoB,OAAO,CAACD,WAAS,KAAA1e,MAAA,CAAAxI,kBAAA,CAAKoH,SAAS,GAAApH,kBAAA,CAAI6E,MAAM,EAAC,CAAC;UAA9DuiB,KAAG,GAAAoF,WAAA,CAAHpF,GAAG;UAACC,WAAS,GAAAmF,WAAA,CAATnF,SAAS;QAClB,IAAAoF,cAAA,GAAsB7tB,CAAC,CAAC0oB,UAAU,CAACR,aAAW,KAAAte,MAAA,CAAAxI,kBAAA,CAAKoH,SAAS,GAAApH,kBAAA,CAAI6E,MAAM,EAAC,CAAC;UAAnE0iB,MAAI,GAAAkF,cAAA,CAAJlF,IAAI;UAACC,UAAQ,GAAAiF,cAAA,CAARjF,QAAQ;QAClB;QAAA,IAAAkF,UAAA,GAAA3vB,0BAAA,CACciqB,gBAAc;UAAA2F,MAAA;QAAA;UAA5B,KAAAD,UAAA,CAAA/uB,CAAA,MAAAgvB,MAAA,GAAAD,UAAA,CAAA9uB,CAAA,IAAAC,IAAA,GAA6B;YAAA,IAArBoS,IAAE,GAAA0c,MAAA,CAAA7uB,KAAA;YACNc,CAAC,CAAC8b,aAAa,CAACzK,IAAE,EAAC,QAAQ,CAAC;UAChC;UACA;QAAA,SAAA5R,GAAA;UAAAquB,UAAA,CAAA3uB,CAAA,CAAAM,GAAA;QAAA;UAAAquB,UAAA,CAAAzuB,CAAA;QAAA;QACAW,CAAC,CAAC0M,SAAS,IAAA9C,MAAA,CAAAxI,kBAAA,CAAKonB,KAAG,GAAApnB,kBAAA,CAAIwnB,UAAQ,EAAC,CAAC;QACjC;QACA5oB,CAAC,CAACib,YAAY,IAAArR,MAAA,CAAAxI,kBAAA,CAAKunB,MAAI,GAAAvnB,kBAAA,CAAIqnB,WAAS,EAAC,CAAC;MAC1C;MACA;AACR;AACA;AACA;MACQ,IAAGpd,QAAQ,YAAY5M,KAAK,IAAIiE,KAAK,CAAC2I,QAAQ,YAAY5M,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAC/b,QAAQ,EAAC3I,KAAK,CAAC2I,QAAQ,CAAC,EAAC;QACrG,IAAI2iB,WAAW,GAAGtrB,KAAK,CAAC2I,QAAQ;QAChC,IAAI4iB,WAAW,GAAG5iB,QAAQ;QAC1B,IAAG,CAAC,CAACrL,CAAC,CAACiI,KAAK,CAACQ,MAAM,EAAC;UAChBulB,WAAW,GAAGtrB,KAAK,CAAC2I,QAAQ,CAACjL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;UAC/E8B,WAAW,GAAG5iB,QAAQ,CAACjL,MAAM,CAAC,UAACuT,IAAI,EAAG;YAAC,OAAOA,IAAI,CAACtC,EAAE,KAAK8a,aAAa;UAAA,CAAC,CAAC;QAC7E;QACA,IAAA+B,aAAA,GAA6CluB,CAAC,CAACunB,SAAS,CAACyG,WAAW,EAACC,WAAW,EAAC,IAAI,CAAC;UAAjF7F,gBAAc,GAAA8F,aAAA,CAAd9F,cAAc;UAACE,WAAS,GAAA4F,aAAA,CAAT5F,SAAS;UAACJ,aAAW,GAAAgG,aAAA,CAAXhG,WAAW;QACzC,IAAAiG,WAAA,GAAsBnuB,CAAC,CAACuoB,OAAO,CAACD,WAAS,KAAA1e,MAAA,CAAAxI,kBAAA,CAAKkH,OAAO,GAAAlH,kBAAA,CAAI0H,QAAQ,EAAC,CAAC;UAA9D0f,KAAG,GAAA2F,WAAA,CAAH3F,GAAG;UAACC,WAAS,GAAA0F,WAAA,CAAT1F,SAAS;QAClB,IAAA2F,cAAA,GAAsBpuB,CAAC,CAAC0oB,UAAU,CAACR,aAAW,KAAAte,MAAA,CAAAxI,kBAAA,CAAKkH,OAAO,GAAAlH,kBAAA,CAAI0H,QAAQ,EAAC,CAAC;UAAnE6f,MAAI,GAAAyF,cAAA,CAAJzF,IAAI;UAACC,UAAQ,GAAAwF,cAAA,CAARxF,QAAQ;QAClB;QAAA,IAAAyF,UAAA,GAAAlwB,0BAAA,CACciqB,gBAAc;UAAAkG,MAAA;QAAA;UAA5B,KAAAD,UAAA,CAAAtvB,CAAA,MAAAuvB,MAAA,GAAAD,UAAA,CAAArvB,CAAA,IAAAC,IAAA,GAA6B;YAAA,IAArBoS,IAAE,GAAAid,MAAA,CAAApvB,KAAA;YACNc,CAAC,CAAC8b,aAAa,CAACzK,IAAE,EAAC,MAAM,CAAC;UAC9B;UACA;QAAA,SAAA5R,GAAA;UAAA4uB,UAAA,CAAAlvB,CAAA,CAAAM,GAAA;QAAA;UAAA4uB,UAAA,CAAAhvB,CAAA;QAAA;QACAW,CAAC,CAACwM,OAAO,IAAA5C,MAAA,CAAAxI,kBAAA,CAAKonB,KAAG,GAAApnB,kBAAA,CAAIwnB,UAAQ,EAAC,CAAC;QAC/B;QACA5oB,CAAC,CAAC4Z,UAAU,IAAAhQ,MAAA,CAAAxI,kBAAA,CAAKunB,MAAI,GAAAvnB,kBAAA,CAAIqnB,WAAS,EAAC,CAAC;MACxC;MACA;MACA,IAAGrc,kBAAkB,YAAY3N,KAAK,IAAIiE,KAAK,CAAC0J,kBAAkB,YAAY3N,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAChb,kBAAkB,EAAC1J,KAAK,CAAC0J,kBAAkB,CAAC,EAAC;QAC7I,IAAAmiB,aAAA,GAA6CvuB,CAAC,CAACunB,SAAS,CAAC7kB,KAAK,CAAC0J,kBAAkB,EAACA,kBAAkB,EAAC,IAAI,CAAC;UAArGgc,gBAAc,GAAAmG,aAAA,CAAdnG,cAAc;UAACE,WAAS,GAAAiG,aAAA,CAATjG,SAAS;UAACJ,aAAW,GAAAqG,aAAA,CAAXrG,WAAW;QACzC;QAAA,IAAAsG,UAAA,GAAArwB,0BAAA,CACciqB,gBAAc;UAAAqG,MAAA;QAAA;UAA5B,KAAAD,UAAA,CAAAzvB,CAAA,MAAA0vB,MAAA,GAAAD,UAAA,CAAAxvB,CAAA,IAAAC,IAAA,GAA6B;YAAA,IAArBoS,IAAE,GAAAod,MAAA,CAAAvvB,KAAA;YACNc,CAAC,CAAC8b,aAAa,CAACzK,IAAE,EAAC,MAAM,CAAC;UAC9B;QAAC,SAAA5R,GAAA;UAAA+uB,UAAA,CAAArvB,CAAA,CAAAM,GAAA;QAAA;UAAA+uB,UAAA,CAAAnvB,CAAA;QAAA;QACDW,CAAC,CAACwM,OAAO,CAAC8b,WAAS,CAAC;QACpBtoB,CAAC,CAAC4Z,UAAU,CAACsO,aAAW,CAAC;MAC7B;MACA;MACA,IAAGjc,YAAY,YAAYxN,KAAK,IAAIiE,KAAK,CAACuJ,YAAY,YAAYxN,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAACnb,YAAY,EAACvJ,KAAK,CAACuJ,YAAY,CAAC,EAAC;QACrH,IAAIyiB,SAAS,GAAGnpB,GAAG,CAAC0G,YAAY,CAAC;QACjC,IAAI0iB,SAAS,GAAGppB,GAAG,CAAC7C,KAAK,CAACuJ,YAAY,CAAC;QACvC,IAAI2iB,mBAAmB,GAAGD,SAAS,CAAChH,QAAQ,CAAC+G,SAAS,CAAC,CAAC9G,IAAI,CAAC,CAAC;QAC9D,IAAIiH,iBAAiB,GAAGH,SAAS,CAAC/G,QAAQ,CAACgH,SAAS,CAAC,CAAC/G,IAAI,CAAC,CAAC;QAC5D5nB,CAAC,CAAC0b,mBAAmB,CAACkT,mBAAmB,CAAC;QAC1C5uB,CAAC,CAAC4M,gBAAgB,CAACiiB,iBAAiB,CAAC;MACzC;MACA;MACA,IAAG3iB,WAAW,IAAI,CAAClM,CAAC,CAAConB,SAAS,CAAClb,WAAW,EAACxJ,KAAK,CAACwJ,WAAW,CAAC,EAAC;QAC1DlM,CAAC,CAAC6M,cAAc,CAACX,WAAW,CAAC;MACjC;MACA;MACA,IAAGC,cAAc,IAAI,CAACnM,CAAC,CAAConB,SAAS,CAACjb,cAAc,EAACzJ,KAAK,CAACyJ,cAAc,CAAC,EAAC;QACnEnM,CAAC,CAAC8M,UAAU,CAACX,cAAc,CAAC;MAChC;MACA;MACA,IAAGX,aAAa,YAAY/M,KAAK,IAAIiE,KAAK,CAAC8I,aAAa,YAAY/M,KAAK,IAAI,CAACuB,CAAC,CAAConB,SAAS,CAAC5b,aAAa,EAAC9I,KAAK,CAAC8I,aAAa,CAAC,EAAC;QACzHxL,CAAC,CAAC2M,eAAe,CAACnB,aAAa,CAAC;MACpC;MACA;MACA,IAAI,OAAO4gB,QAAS,IAAI,SAAS,IAAIA,QAAQ,IAAMA,QAAQ,IAAIA,QAAQ,KAAKpsB,CAAC,CAAC0C,KAAK,CAAC0pB,QAAS,EAAC;QAC1FpsB,CAAC,CAAC+f,MAAM,CAACoM,aAAa,CAAC;MAC3B;MACA;MACA,IAAI,OAAOE,SAAU,IAAI,SAAS,IAAIA,SAAS,IAAMA,SAAS,IAAIA,SAAS,KAAKrsB,CAAC,CAAC0C,KAAK,CAAC2pB,SAAU,EAAC;QAC/FrsB,CAAC,CAACigB,OAAO,CAAC,CAAC;MACf;MACA;MACA,IAAI,OAAOgM,MAAO,IAAI,SAAS,IAAIA,MAAM,IAAMA,MAAM,IAAIA,MAAM,KAAKjsB,CAAC,CAAC0C,KAAK,CAACupB,MAAO,EAAC;QAChFjsB,CAAC,CAAC2gB,IAAI,CAACqL,OAAO,CAAC;MACnB;MACA;MACA,IAAI,OAAOE,WAAY,IAAI,SAAS,IAAIA,WAAW,IAAMA,WAAW,IAAIA,WAAW,KAAKlsB,CAAC,CAAC0C,KAAK,CAACwpB,WAAY,EAAC;QACzGlsB,CAAC,CAACuhB,SAAS,CAAC,CAAC;MACjB;MACA;MACA,IAAI,OAAOrG,SAAU,IAAI,SAAS,IAAIA,SAAS,IAAMA,SAAS,IAAIA,SAAS,KAAKlb,CAAC,CAAC0C,KAAK,CAACwY,SAAU,EAAC;QAC/Flb,CAAC,CAACkb,SAAS,CAACnN,SAAS,CAAC;MAC1B;MACA;MACA,IAAI,OAAO4d,UAAW,IAAI,SAAS,IAAIA,UAAU,IAAMA,UAAU,IAAIA,UAAU,KAAK3rB,CAAC,CAAC0C,KAAK,CAACipB,UAAW,EAAC;QACpG3rB,CAAC,CAACiN,OAAO,CAACvB,UAAU,CAAC;MACzB;MACA;MACA,IAAG,CAACigB,UAAU,IAAIA,UAAU,KAAK3rB,CAAC,CAAC0C,KAAK,CAACipB,UAAU,EAAC;QAChD3rB,CAAC,CAAC6hB,aAAa,CAACnW,UAAU,CAAC;MAC/B;MACA;MACA,IAAI,OAAOiT,YAAa,IAAI,SAAS,IAAIA,YAAY,IAAMA,YAAY,IAAIA,YAAY,KAAK3e,CAAC,CAAC0C,KAAK,CAACic,YAAa,EAAC;QAC9G3e,CAAC,CAAC2e,YAAY,CAAChT,YAAY,CAAC;MAChC;MACA;MACA,IAAI,OAAOqB,gBAAiB,IAAI,SAAS,IAAIA,gBAAgB,IAAMA,gBAAgB,IAAIA,gBAAgB,KAAKhN,CAAC,CAAC0C,KAAK,CAACsK,gBAAiB,EAAC;QAClIhN,CAAC,CAACgN,gBAAgB,CAACvB,gBAAgB,CAAC;MACxC;MACA;MACA,IAAI,OAAOmgB,aAAc,IAAI,SAAS,IAAIA,aAAa,IAAMA,aAAa,IAAIA,aAAa,KAAK5rB,CAAC,CAAC0C,KAAK,CAACkpB,aAAc,EAAC;QACnH5rB,CAAC,CAACiiB,cAAc,CAAC4J,cAAc,CAAC;MACpC;MACA;MACA,IAAGjgB,iBAAiB,EAAC;QACjB5L,CAAC,CAACkN,eAAe,CAAC,CAAC;MACvB,CAAC,MAAI;QACDlN,CAAC,CAACmN,eAAe,CAAC,CAAC;MACvB;MACA;MACA,IAAI,OAAOof,oBAAqB,IAAI,SAAS,IAAIA,oBAAoB,IAC7DA,oBAAoB,IAAIA,oBAAoB,KAAKvsB,CAAC,CAAC0C,KAAK,CAAC6pB,oBAAoB,IAC9EzgB,eAAe,IAAI,CAAC,CAACA,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAACA,eAAe,CAAC,CAAC,CAAC,EAAC;QACnE9L,CAAC,CAACoN,kBAAkB,CAACtB,eAAe,CAAC;MACzC;MACA;MACA,IAAI,OAAO0gB,sBAAuB,IAAI,SAAS,IAAIA,sBAAsB,IAAMA,sBAAsB,IAAIA,sBAAsB,KAAKxsB,CAAC,CAAC0C,KAAK,CAAC8pB,sBAAuB,EAAC;QAChKxsB,CAAC,CAACwjB,oBAAoB,CAAC,CAAC;MAC5B;MACA;MACA,IAAI,OAAOiJ,UAAW,IAAI,SAAS,IAAIA,UAAU,IAAMA,UAAU,IAAIA,UAAU,KAAKzsB,CAAC,CAAC0C,KAAK,CAAC+pB,UAAW,EAAC;QACpGzsB,CAAC,CAACwhB,QAAQ,CAAC,CAAC;MAChB;MACA;MACA,IAAI,OAAOsK,QAAS,IAAI,SAAS,IAAIA,QAAQ,IAAMA,QAAQ,IAAIA,QAAQ,KAAK9rB,CAAC,CAAC0C,KAAK,CAACopB,QAAS,EAAC;QAC1FC,SAAS,CAACxc,GAAG,CAAC,UAACoE,IAAI,EAACC,KAAK,EAAG;UACxB5T,CAAC,CAAC8b,aAAa,CAACnI,IAAI,CAACtC,EAAE,EAACsC,IAAI,CAAC7I,IAAI,CAAC;QACtC,CAAC,CAAC;MACN;MACA;MACA,IAAGsgB,SAAS,CAAC/d,WAAW,IAAIyhB,IAAI,CAACC,SAAS,CAAC3D,SAAS,CAAC/d,WAAW,CAAC,IAAEyhB,IAAI,CAACC,SAAS,CAAC/uB,CAAC,CAAC0C,KAAK,CAAC2K,WAAW,CAAC,EAAC;QACnGrN,CAAC,CAACqN,WAAW,CAAC+d,SAAS,CAAC;MAC5B;MACA;MACA,IAAG,CAACA,SAAS,CAAC/d,WAAW,EAAE;QACvBrN,CAAC,CAACyiB,aAAa,CAAC,CAAC;MACrB;MACA;MACA,IAAG2I,SAAS,CAAChb,eAAe,IAAI0e,IAAI,CAACC,SAAS,CAAC3D,SAAS,CAAChb,eAAe,CAAC,IAAE0e,IAAI,CAACC,SAAS,CAAC/uB,CAAC,CAAC0C,KAAK,CAAC0N,eAAe,CAAC,EAAC;QAC/GpQ,CAAC,CAACqQ,kBAAkB,CAAC+a,SAAS,CAAC;MACnC;IACJ;IACA;EAAA;IAAApqB,GAAA;IAAA9B,KAAA,EACA,SAAAqU,iBAAA,EAAkB;MACd,IAAMvT,CAAC,GAAG,IAAI;MACd;MACA;MACA;MACAA,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,cAAc,CAAC,GAAG,UAACsW,EAAE,EAAK;QAClCxe,CAAC,CAACkb,SAAS,CAACsD,EAAE,CAAC;MACnB,CAAC;MACDxe,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,cAAc,CAAC,GAAG,YAAM;QAChC,OAAOlI,CAAC,CAAC6e,YAAY,CAAC,CAAC;MAC3B,CAAC;MACD7e,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,gBAAgB,CAAC,GAAG,UAACjK,GAAG,EAAK;QACrC,OAAO+B,CAAC,CAAC6oB,cAAc,CAAC5qB,GAAG,CAAC;MAChC,CAAC;MACD+B,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,gBAAgB,CAAC,GAAG,YAAM;QAClC,OAAOlI,CAAC,CAAC+oB,cAAc,CAAC,CAAC;MAC7B,CAAC;MACD/oB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,aAAa,CAAC,GAAG,YAAqB;QAAA,IAApBjK,GAAG,GAAAyC,SAAA,CAAA9B,MAAA,QAAA8B,SAAA,QAAA6C,SAAA,GAAA7C,SAAA,MAAC,CAAC,CAAC;QAAA,IAAC2S,QAAQ,GAAA3S,SAAA,CAAA9B,MAAA,OAAA8B,SAAA,MAAA6C,SAAA;QACzC,OAAOvD,CAAC,CAACspB,WAAW,CAACrrB,GAAG,EAACoV,QAAQ,CAAC;MACtC,CAAC;MACDrT,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,kBAAkB,CAAC,GAAG,YAAM;QACpC,OAAOlI,CAAC,CAAC4pB,gBAAgB,CAAC,CAAC;MAC/B,CAAC;MACD5pB,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,sBAAsB,CAAC,GAAG,UAACmJ,EAAE,EAAK;QAC1C,OAAOrR,CAAC,CAAC6pB,oBAAoB,CAACxY,EAAE,CAAC;MACrC,CAAC;MACDrR,CAAC,CAACiI,KAAK,CAACC,GAAG,CAAC,SAAS,CAAC,GAAG,YAAM;QAC3BlI,CAAC,CAACgvB,OAAO,CAAC,CAAC;MACf,CAAC;IACL;EAAC;IAAAhuB,GAAA;IAAA9B,KAAA,EACD,SAAA+vB,qBAAA,EAAuB;MACnB;MACA,IAAIjvB,CAAC,GAAG,IAAI;MACZ,IAAGA,CAAC,CAACiI,KAAK,CAACC,GAAG,EAAC;QACXlI,CAAC,CAACiI,KAAK,CAACC,GAAG,CAACwZ,aAAa,CAAC,CAAC;MAC/B;MACA1hB,CAAC,CAACiI,KAAK,CAACC,GAAG,GAAG,IAAI;MAClB,IAAGlI,CAAC,CAAC4H,WAAW,EAAC;QACb+b,aAAa,CAAC3jB,CAAC,CAAC4H,WAAW,CAAC;MAChC;MACAnC,MAAM,CAAC6I,MAAM,KAAK7I,MAAM,CAAC6I,MAAM,CAACtO,CAAC,CAACiI,KAAK,CAACE,KAAK,CAAC,GAAE,IAAI,CAAC;IACzD;EAAC;EAAA,OAAAtB,QAAA;AAAA,EAlxFkBqoB,iBAAK,CAACC,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,cAqxFvBxoB,QAAQ;AAAAyoB,MAAA,CAAAD,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"file":"Map.js","names":["_react","_interopRequireDefault","require","_reactDom","_MapToolFunction","_immutable","_unionBy","_default2","_antd","obj","__esModule","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","_toPropertyKey","configurable","writable","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","iter","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","_typeof","String","input","hint","prim","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","Set","Immutable","window","location","protocol","BMAP_PROTOCOL","BMap_loadScriptTime","Date","getTime","gisMapConstant","circle","star","square","rhombus","waterdrop","tiny","smaller","small","normal","big","bigger","huge","BaiduMap","_React$Component","_super","_this","GM","graphicManage","getPolygonArea","initPointIndex","_cluster","_rangingTool","_bmar","_drawmanager","editGraphicChange","editTimeout","_boundary","moveToTimer","heatmap","morepoints","movePoints","popupWindow","mapCreated","state","gis","mapId","pointIds","lineIds","polygonIds","circleIds","editId","editGraphic","boundaryInfo","drawIds","point","polyline","polygon","rectangle","frameSelectProps","loadMapJs","loadPlugin","loadList","BMapLib","DistanceTool","Promise","resolve","reject","$","getScript","concat","configUrl","mapServerURL","TrafficControl","MarkerClusterer","AreaRestriction","DrawingManager","HeatmapOverlay","GeoUtils","TextIconOverlay","InfoBox","all","then","BMap","_this2","loadMapComplete","attr","rel","type","href","appendTo","init","createMap","_this$props","mapPoints","mapLines","mapPolygons","mapCircles","imageOverlays","mapVisiblePoints","mapCluster","mapZoomLevel","isOpenTrafficInfo","mapPointCollection","areaRestriction","coverageType","_this$props2","boundaryName","heatMapData","infoWindowData","customizedBoundary","_this$state","setMapType","addPoint","addLine","addPolygon","addCircle","imageUrlOverlay","addBaiduBoundary","heatMapOverlay","infoWindow","addPointCollection","setVisiblePoints","cluster","openTrafficInfo","hideTrafficInfo","setAreaRestriction","showControl","clickMap","dragMapStart","dragMapEnd","moveStart","moveEnd","zoomStart","zoomEnd","_t$props","mapCenter","mapStyle","minZoom","maxZoom","options","zoom","center","VtxMap","AnchorConstant","tr","BMAP_ANCHOR_TOP_RIGHT","tl","BMAP_ANCHOR_TOP_LEFT","bl","BMAP_ANCHOR_BOTTOM_LEFT","br","BMAP_ANCHOR_BOTTOM_RIGHT","NavigationConstant","large","BMAP_NAVIGATION_CONTROL_LARGE","BMAP_NAVIGATION_CONTROL_SMALL","pan","BMAP_NAVIGATION_CONTROL_PAN","BMAP_NAVIGATION_CONTROL_ZOOM","map","Map","enableMapClick","setMapStyle","style","styleJson","setTimeout","parent","children","css","centerAndZoom","Point","parseFloat","satelliteSwitch","showMapTypeControl","_trafficCtrl","showPanel","addControl","document","getElementById","remove","removeNode","enableScrollWheelZoom","Boundary","addEventListener","_t$frameSelectProps$b","label","removeOverlay","drawExtData","extData","id","backobj","attributes","geometryType","mapLayer","overlay","geometry","clickGraphic","mouseOverGraphic","mouseOutGraphic","setGraphic","_t$dealData","dealData","lnglatAry","_extent","path","x","getPosition","lng","y","lat","distance","calculate","paths","area","rings","getCenter","radius","getRadius","setGraphicParam","close","drawEnd","callback","Function","initPropsForUser","BMAP_NORMAL_MAP","BMAP_HYBRID_MAP","imageAry","item","index","sw","ne","url","opacity","console","warn","swp","nep","option","displayOnMinLevel","displayOnMaxLevel","imageURL","swnep","Bounds","GroundOverlay","addOverlay","_this3","psids","isRepetition","longitude","latitude","cg","width","height","labelContent","labelPixelX","labelPixelY","BAnimationType","markerContentX","markerContentY","deg","markerContent","config","position","marker","markerOption","offset","Size","icon","Icon","setImageSize","Marker","markerLOption","markerL","Label","setStyle","backgroundColor","border","setLabel","setRotation","canShowLabel","labelClass","split","join","markerLabel","zIndex","setZIndex","setAnimation","BMAP_ANIMATION_BOUNCE","BMAP_ANIMATION_DROP","other","updatePoint","_this4","gc","getGraphic","setOffset","setIcon","getLabel","setContent","getIcon","size","labelOffset","isAnimation","moveTo","animationDelay","autoRotation","urlleft","setPosition","moveAnimation","lsids","color","pellucidity","lineWidth","lineType","isHidden","linePath","lineOption","strokeColor","strokeWeight","strokeOpacity","strokeStyle","line","Polyline","hide","show","updateLine","setPath","setStrokeColor","setStrokeOpacity","setStrokeWeight","setStrokeStyle","pgsids","lineColor","lineOpacity","polygonOption","fillColor","fillOpacity","polygonPath","Polygon","updatePolygon","setFillColor","setFillOpacity","ccsids","circleOption","centerPoint","Circle","updateCircle","setCenter","setRadius","bdNames","get","ary","boundaries","Math","random","removeBaiduBoundary","removedBDNames","removedBDIds","indexOf","setState","removeGraphic","d","max","visible","eval","gradient","setDataSet","data","setOptions","sContent","createElement","infowindow","InfoWindow","setWidth","setHeight","onClose","content","render","openInfoWindow","closeInfoWindow","points","shape","VotexpointCollection","PointCollection","clickPointCollection","updatePointCollection","ds","setPoints","setStyles","clearPointCollection","ids","ind","clear","clearAllPointCollection","param","top","clientY","left","clientX","getMapExtent","clickLngLat","pixel","gt","mgt","c","setZoomLevel","z","getZoomLevel","setZoom","fitView","getFitView","a","getViewport","getCurrentCenter","getZoom","allLayers","getGraphicParam","getPath","gp","gg","pts","uniqBy","graphic","removeMarker","splice","doEdit","gtp","endEdit","calculateDistance","pow","PI","clearTimeout","enableDragging","enableEditing","disableDragging","removeEventListener","disableEditing","draw","drawParam","parameter","paramgcr","setDrawingMode","open","markerOptions","polylineOptions","enableCalculate","polygonOptions","circleOptions","rectangleOptions","closeDraw","clearAll","clearMarkers","clearOverlays","clusterToolFunction","addMarkers","removeCluster","removeMarkers","clearClusters","allps","vtxRangingTool","cb","objLngLats","lnglats","showTraffic","hideTraffic","scaleOffset","scaleControl","removeControl","navigationControl","control","ScaleControl","anchor","navigation","NavigationControl","mapTypeControl","mapTypes","BMAP_SATELLITE_MAP","MapTypeControl","BMAP_MAPTYPE_CONTROL_HORIZONTAL","sw_ne","bounds","setBounds","clearAreaRestriction","clearBounds","_map","clearInterval","setInterval","waitTime","deleteTime","sort","nowMovePoints","deleteIndex","_nowMovePoints$_i","rx","ry","tx","ty","b","lnglat","delay","urlright","timer","count","equals","ddeg","rotateDeg","gcicon","setImageUrl","isHave","sp","ep","spLngLat","pointToPixel","tan","atan","disy","bias","ms","xmax","xmin","ymax","ymin","lngX","latX","showGraphicById","hideGraphicById","nowBounds","getBounds","southWest","getSouthWest","northEast","getNorthEast","nowCenter","mapSize","getSize","calculatePointsDistance","fp","round","getDistance","ps","totalDistance","calculateArea","deepEqual","is","fromJS","dataMatch","oldData","newData","onlyOldData","subtract","toJS","onlyNewData","onlyOldIDs","onlyNewIDs","updateDataIDs","intersect","updatedData","replacedData","deletedDataIDs","oldID","addedData","dealAdd","ads","otherupds","dealUpdate","upds","otherads","showInfoWindow","params","hideInfoWindow","poi","boxStyle","closeIconMargin","enableAutoPan","align","closeIconUrl","frameSelect","_ref","_ref$parameter","_ref$data","includes","message","clearFrameSelect","clearFrameSelectById","searchPoints","searchValue","_this5","pageSize","pageIndex","psc","LocalSearch","onSearchComplete","getPageIndex","gotoPage","res_arr","getCurrentNumPois","getPoi","uid","title","pageCapacity","search","componentDidMount","componentDidUpdate","prevProps","prevState","UNSAFE_componentWillReceiveProps","nextProps","_t$state","_nextProps$mapPoints","_nextProps$mapLines","_nextProps$mapPolygon","_nextProps$mapCircles","_nextProps$customized","setCluster","isRangingTool","mapRangingTool","isRemove","mapRemove","mapDraw","isDraw","isCloseDraw","editGraphicId","isDoEdit","isEndEdit","isclearAllPointCollection","isSetAreaRestriction","isClearAreaRestriction","isClearAll","_t$dataMatch","oldMapPoints","newMapPoints","_t$dataMatch2","_t$dealAdd","_t$dealUpdate","_iterator","_step","oldMapPolygons","newMapPolygons","_t$dataMatch3","_t$dealAdd2","_t$dealUpdate2","_iterator2","_step2","oldMapCircles","newMapCircles","_t$dataMatch4","_t$dealAdd3","_t$dealUpdate3","_iterator3","_step3","oldMapLines","newMapLines","_t$dataMatch5","_t$dealAdd4","_t$dealUpdate4","_iterator4","_step4","_t$dataMatch6","_iterator5","_step5","newBDName","oldBDName","removedBoundaryName","addedBoundaryName","JSON","stringify","refresh","componentWillUnmount","React","Component","_default","exports","module"],"sources":["VtxMap/BMap/Map.js"],"sourcesContent":["import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport {graphicManage,getPolygonArea} from '../MapToolFunction';\r\nimport Immutable from 'immutable';\r\nimport uniqBy from 'lodash/unionBy'\r\nconst {Set} = Immutable;\r\n//公共地址配置\r\nimport configUrl from '../../default';\r\nimport { message } from 'antd';\r\n\r\n// 百度地图js文件内做了一些额外的http or https判断\r\n// 如果协议为Https,我们需要改动全局变量BMAP_PROTOCOL和BMap_loadScriptTime\r\nif (window.location.protocol === 'https:') {\r\n window.BMAP_PROTOCOL = \"https\";\r\n window.BMap_loadScriptTime = (new Date).getTime();\r\n}\r\n\r\nconst gisMapConstant = {\r\n circle: 'BMAP_POINT_SHAPE_CIRCLE',//圆形\r\n star: 1,//星形\r\n square: 4,//方形\r\n rhombus: 5,//菱形\r\n waterdrop: 2,//水滴状,该类型无size和color属性\r\n tiny: 1, //定义点的尺寸为超小,宽高为2px*2px\r\n smaller: 2,//定义点的尺寸为很小,宽高为4px*4px\r\n small: 3,//定义点的尺寸为小,宽高为8px*8px\r\n normal: 4,//定义点的尺寸为正常,宽高为10px*10px,为海量点默认尺寸\r\n big: 5,//定义点的尺寸为大,宽高为16px*16px\r\n bigger: 6,//定义点的尺寸为很大,宽高为20px*20px\r\n huge: 7,//定义点的尺寸为超大,宽高为30px*30px\r\n}\r\n\r\nclass BaiduMap extends React.Component{\r\n constructor(props){\r\n super(props);\r\n this.GM = new graphicManage();//初始化 图元管理方法\r\n this.getPolygonArea = getPolygonArea;\r\n this.initPointIndex = 0;//初始化地图时记录点当前位置\r\n this._cluster = null;//点聚合对象\r\n this._rangingTool = null;//测距对象\r\n this._bmar = null;//区域限制对象\r\n this._drawmanager = null;//图元绘制对象\r\n this.editGraphicChange = null;//编辑方法回调\r\n this.editTimeout = null;//圆编辑回调延迟时间对象\r\n this._boundary = null;//获取行政区域数据的对象\r\n this.moveToTimer = null;//moveTo时间对象\r\n this.heatmap = null;//热力图对象\r\n this.morepoints = [];//海量点数组\r\n this.movePoints = [];//移动点的动画集合\r\n this.popupWindow = null;\r\n this.mapCreated = false;\r\n this.state = {\r\n gis: null,//地图对象\r\n mapId: props.mapId,\r\n pointIds:[], //地图上点的ids\r\n lineIds:[], //地图上线的ids\r\n polygonIds:[], //地图上面的ids\r\n circleIds:[], //地图上圆的ids\r\n editId: '',//当前编辑的图元id\r\n editGraphic: '',//当前编辑完后图元所有数据\r\n boundaryInfo: [],//当前画出的边界线的id和区域名\r\n drawIds: {//绘制工具id集合\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n }\r\n };\r\n this.frameSelectProps = {}\r\n this.loadMapJs();\r\n }\r\n loadPlugin(){\r\n let loadList = [];\r\n if(!window.BMapLib || !window.BMapLib.DistanceTool){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DistanceTool_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TrafficControl){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TrafficControl_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.MarkerClusterer){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/MarkerClusterer_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.AreaRestriction){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/AreaRestriction_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.DrawingManager){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/DrawingManager_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.HeatmapOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/Heatmap_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.GeoUtils){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/GeoUtils_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.TextIconOverlay){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n }\r\n if(!window.BMapLib || !window.BMapLib.InfoBox){\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/InfoBox_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n loadList.push()\r\n }\r\n loadList.push(new Promise((resolve,reject)=>{\r\n $.getScript(`${configUrl.mapServerURL}/TextIconOverlay_min.js`,()=>{\r\n resolve();\r\n });\r\n }))\r\n return Promise.all(loadList).then(()=>{\r\n return window.BMap;\r\n });\r\n }\r\n loadMapJs(){\r\n this.loadMapComplete = new Promise((resolve,reject)=>{\r\n if(window.BMap){\r\n resolve(this.loadPlugin());\r\n }\r\n else{\r\n // EVlFc6DZzAzU5avIjoxNcFgQ\r\n $.getScript('//api.map.baidu.com/getscript?v=3.0&ak=42IughV5lDxAt0wI8AhDVuGR',()=>{\r\n resolve(this.loadPlugin());\r\n });\r\n $(\"<link>\").attr({ rel: \"stylesheet\",type: \"text/css\",href: '//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css'}).appendTo(\"head\");\r\n }\r\n });\r\n }\r\n //初始化地图数据\r\n init(){\r\n let t = this;\r\n //创建地图\r\n t.createMap();\r\n const {\r\n mapPoints,mapLines,mapPolygons,mapCircles,imageOverlays,\r\n mapVisiblePoints,mapCluster,mapZoomLevel,\r\n isOpenTrafficInfo,mapPointCollection,areaRestriction,\r\n coverageType\r\n } = this.props;\r\n let {boundaryName,heatMapData,infoWindowData,customizedBoundary} = this.props;\r\n let {boundaryInfo,pointIds,lineIds,polygonIds,circleIds} = this.state;\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType){\r\n t.setMapType(coverageType);\r\n }\r\n //添加点\r\n if(mapPoints instanceof Array){\r\n t.addPoint(mapPoints);\r\n }\r\n //添加线\r\n if(mapLines instanceof Array){\r\n t.addLine(mapLines);\r\n }\r\n //添加面\r\n if(mapPolygons instanceof Array){\r\n t.addPolygon(mapPolygons);\r\n }\r\n //添加圆\r\n if(mapCircles instanceof Array){\r\n t.addCircle(mapCircles);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n //画边界线\r\n if(boundaryName instanceof Array && boundaryName.length>0){\r\n t.addBaiduBoundary(boundaryName);\r\n }\r\n // 画热力图\r\n if(heatMapData){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData){\r\n t.infoWindow(infoWindowData);\r\n }\r\n if(mapPointCollection instanceof Array){\r\n t.addPointCollection(mapPointCollection);\r\n }\r\n //初始展示的视野范围\r\n if(mapVisiblePoints){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //设置点聚合\r\n if(mapCluster instanceof Array){\r\n t.cluster(mapCluster);\r\n }\r\n //开关路况\r\n if(isOpenTrafficInfo){\r\n t.openTrafficInfo();\r\n }else{\r\n t.hideTrafficInfo();\r\n }\r\n //设置区域限制\r\n if(areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //是否设置比例尺\r\n if(t.props.showControl){\r\n t.showControl();\r\n }\r\n /*地图事件*/\r\n //初始化地图点击事件\r\n t.clickMap();\r\n //地图拖动之前事件\r\n t.dragMapStart();\r\n //地图拖动结束后事件\r\n t.dragMapEnd();\r\n //地图移动之前事件\r\n t.moveStart();\r\n //地图移动结束后事件\r\n t.moveEnd();\r\n //地图缩放开始前事件\r\n t.zoomStart();\r\n //地图缩放结束后事件\r\n t.zoomEnd();\r\n this.mapCreated = true;\r\n }\r\n //创建地图\r\n createMap () {\r\n let t = this;\r\n const {mapCenter,mapStyle,mapId,mapZoomLevel,minZoom,maxZoom} = t.props;\r\n let options ={\r\n zoom: mapZoomLevel || 10,\r\n center: mapCenter || [116.404,39.915],\r\n minZoom,maxZoom\r\n };\r\n if(window.VtxMap){\r\n window.VtxMap[mapId]= null;\r\n }else{\r\n window.VtxMap = {};\r\n }\r\n // 控件位置常量\r\n t.AnchorConstant = {\r\n tr: BMAP_ANCHOR_TOP_RIGHT,\r\n tl: BMAP_ANCHOR_TOP_LEFT,\r\n bl: BMAP_ANCHOR_BOTTOM_LEFT,\r\n br: BMAP_ANCHOR_BOTTOM_RIGHT\r\n }\r\n // 平移缩放控件大小\r\n t.NavigationConstant = {\r\n large: BMAP_NAVIGATION_CONTROL_LARGE,\r\n small: BMAP_NAVIGATION_CONTROL_SMALL,\r\n pan: BMAP_NAVIGATION_CONTROL_PAN,\r\n zoom: BMAP_NAVIGATION_CONTROL_ZOOM\r\n }\r\n let map = window.VtxMap[mapId] = t.state.gis = new BMap.Map(mapId.toString(),{\r\n enableMapClick : false,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n if(mapStyle){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n setTimeout(()=>{\r\n $('#myCanvasElement').parent().children('svg').css({'z-index':1});\r\n },500);\r\n // 初始化地图,设置中心点坐标和地图级别\r\n map.centerAndZoom(new BMap.Point(parseFloat(options.center[0]),parseFloat(options.center[1])), options.zoom);\r\n //添加地图类型控件\r\n if(t.props.satelliteSwitch){\r\n t.showMapTypeControl();\r\n }\r\n //初始化路况控件\r\n if(!t._trafficCtrl){\r\n t._trafficCtrl = new BMapLib.TrafficControl({\r\n // 是否显示路况提示面板\r\n showPanel : false\r\n });\r\n map.addControl(t._trafficCtrl);\r\n if(document.getElementById('tcBtn').remove){\r\n document.getElementById('tcBtn').remove();\r\n }else{\r\n document.getElementById('tcBtn').removeNode();\r\n }\r\n }\r\n //开启鼠标滚轮缩放\r\n map.enableScrollWheelZoom(true);\r\n //初始化获取行政区域数据的对象\r\n if(!t._boundary){\r\n t._boundary = new BMap.Boundary();\r\n }\r\n //初始化点聚合对象\r\n if(!t._cluster){\r\n t._cluster = new BMapLib.MarkerClusterer(map,{maxZoom: 17}); \r\n }\r\n //初始化测距对象\r\n if(!t._rangingTool){\r\n t._rangingTool = new BMapLib.DistanceTool(map);\r\n }\r\n //初始化区域限制对象\r\n if(!t._bmar){\r\n t._bmar = new BMapLib.AreaRestriction();\r\n }\r\n //初始化图元绘制对象\r\n if(!t._drawmanager){\r\n t._drawmanager = new BMapLib.DrawingManager(map);\r\n //监听绘制结束事件\r\n t._drawmanager.addEventListener('overlaycomplete', (e)=>{\r\n if(e.label){\r\n t.state.gis.removeOverlay(e.label);\r\n }\r\n let drawExtData = e.extData;\r\n //保存绘制图元的id便于后期比对\r\n t.state.drawIds[drawExtData.type].push(drawExtData.id);\r\n let backobj = {\r\n id: drawExtData.id,\r\n attributes: drawExtData.attributes,\r\n geometryType: drawExtData.type == 'rectangle'?'polygon':drawExtData.type,\r\n mapLayer: e.overlay,\r\n geometry: {\r\n type: drawExtData.type == 'rectangle'?'polygon':drawExtData.type\r\n }\r\n };\r\n //点击事件\r\n e.overlay.addEventListener('click',(e)=>{\r\n t.clickGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移入事件\r\n e.overlay.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(drawExtData.id,e);\r\n });\r\n //鼠标移出事件\r\n e.overlay.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(drawExtData.id,e);\r\n });\r\n //缓存绘制的图元信息\r\n t.GM.setGraphic(drawExtData.id,e.overlay);\r\n\r\n //区别点和圆的经纬度数据处理\r\n let {lnglatAry,_extent,path} = t.dealData(e.overlay);\r\n //处理返回数据\r\n switch(drawExtData.type){\r\n case 'point':\r\n backobj.geometry.x = e.overlay.getPosition().lng;\r\n backobj.geometry.y = e.overlay.getPosition().lat;\r\n break;\r\n case 'polyline':\r\n backobj.distance = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.paths = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'polygon':\r\n backobj.area = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'rectangle':\r\n backobj.area = e.calculate;\r\n backobj.lnglatAry = lnglatAry;\r\n backobj.geometry.rings = path;\r\n backobj.geometry._extent = _extent;\r\n break;\r\n case 'circle':\r\n backobj.geometry.x = e.overlay.getCenter().lng;\r\n backobj.geometry.y = e.overlay.getCenter().lat;\r\n backobj.geometry.radius = e.overlay.getRadius();\r\n backobj.area = e.calculate;\r\n break;\r\n }\r\n t.GM.setGraphicParam(drawExtData.id,backobj);\r\n t._drawmanager.close();\r\n if('drawEnd' in t.props){\r\n t.props.drawEnd(backobj);\r\n }\r\n if(t.frameSelectProps[backobj.id]?.callback instanceof Function){\r\n t.frameSelectProps[backobj.id].callback(backobj);\r\n }\r\n });\r\n }\r\n t.initPropsForUser();\r\n }\r\n /* \r\n 切换地图矢量图和卫星图背景\r\n type: \r\n BMAP_NORMAL_MAP 矢量图\r\n BMAP_SATELLITE_MAP 单卫星图 (暂定不用)\r\n BMAP_HYBRID_MAP 卫星路况图\r\n */\r\n setMapType(type){\r\n switch (type) {\r\n case 'sl':\r\n this.state.gis.setMapType(BMAP_NORMAL_MAP);\r\n break;\r\n case 'wx':\r\n this.state.gis.setMapType(BMAP_HYBRID_MAP);\r\n break;\r\n }\r\n }\r\n //增加图片图层\r\n imageUrlOverlay(imageAry){\r\n let t = this;\r\n imageAry.map((item,index)=>{\r\n let {sw,ne,url,opacity} = item;\r\n if(!url){\r\n console.warn(`图片图层url数据错误`);\r\n return false;\r\n }\r\n if(sw && ne && Array.isArray(sw) && Array.isArray(ne) && sw[0] && sw[1] && ne[0] && ne[1]){\r\n let swp = new BMap.Point(sw[0],sw[1]),\r\n nep = new BMap.Point(ne[0],ne[1]),\r\n option = {\r\n opacity: opacity || 1,\r\n displayOnMinLevel: item.displayOnMinLevel || 3,\r\n displayOnMaxLevel: item.displayOnMaxLevel || 19,\r\n imageURL: url\r\n },\r\n swnep = new BMap.Bounds(swp, nep),\r\n imageUrlOverlay = new BMap.GroundOverlay(swnep, option);\r\n t.state.gis.addOverlay(imageUrlOverlay);\r\n\r\n }else{\r\n console.warn(`区域经纬度sw/ne数据错误`);\r\n return false;\r\n }\r\n })\r\n }\r\n //新增点位\r\n addPoint(mapPoints,type){\r\n let t = this;\r\n let psids = [...t.state.pointIds];\r\n mapPoints.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (this.GM.isRepetition(item.id)) {\r\n console.warn(`加点id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n //初始化默认数据\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let position = new BMap.Point(item.longitude,item.latitude);\r\n let marker = null;\r\n if(item.markerContent){\r\n /*自定义html加点\r\n 用Label来实现,无法再添加label(高德有判断,实现不同)*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n marker.setLabel(markerL);\r\n }else{\r\n /*添加非html点位*/\r\n //覆盖物参数\r\n let markerOption = {\r\n offset: new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2),\r\n icon: null\r\n }\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n markerOption = {...markerOption,icon};\r\n marker = new BMap.Marker(position,markerOption);\r\n //设置选择角度\r\n marker.setRotation(cg.deg);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n //label默认样式\r\n let labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let markerLabel = new BMap.Label(\r\n \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\", {\r\n offset : new BMap.Size(cg.labelPixelX,cg.labelPixelY)\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n marker.setLabel(markerLabel);\r\n }\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n marker.setZIndex(cg.zIndex);\r\n }\r\n //添加点到地图\r\n t.state.gis.addOverlay(marker);\r\n if(!item.markerContent && cg.BAnimationType == 0){\r\n marker.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(!item.markerContent && cg.BAnimationType == 1){\r\n marker.setAnimation(BMAP_ANIMATION_DROP);\r\n }\r\n //点击事件\r\n marker.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n marker.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n marker.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存所有点的id\r\n psids.push(item.id);\r\n //缓存当前点的图元对象和基本数据\r\n t.GM.setGraphic(item.id,marker)\r\n .setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: item.longitude,\r\n y: item.latitude\r\n }\r\n });\r\n });\r\n if(type !== 'defined'){\r\n //所有点缓存在state中\r\n // t.setState({\r\n // pointIds: psids\r\n // });\r\n t.state.pointIds = psids;\r\n }\r\n }\r\n //更新点位\r\n updatePoint(mapPoints){\r\n let t = this;\r\n // let dpoints = [],apoints = [];\r\n mapPoints.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (this.GM.isRepetition(item.id)) {\r\n //点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`点 经纬度 数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n let cg = {\r\n width : 30,\r\n height : 30,\r\n labelContent: '',\r\n labelPixelX: 0,\r\n labelPixelY: 34,\r\n BAnimationType: 3,\r\n //高德以左上定位,百度以中心为定位\r\n //默认点的偏移值就不同\r\n markerContentX: -15,\r\n markerContentY: -30,\r\n deg: 0\r\n }\r\n if(item.markerContent){\r\n cg = {...cg,markerContentX: 0,markerContentY: 0,width:100,height:30};\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n if(item.markerContent){\r\n gc.setOffset(new BMap.Size(cg.markerContentX + cg.width/2,\r\n cg.markerContentY + cg.height/2));\r\n let icon = new BMap.Icon(\r\n `${configUrl.mapServerURL}/images/touming.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent(item.markerContent);\r\n gc.getLabel().setOffset(new BMap.Size(0,0));\r\n }else{\r\n //覆盖物参数\r\n let markerLOption = {\r\n offset: new BMap.Size(0,0)\r\n };\r\n let markerL = new BMap.Label(item.markerContent,markerLOption);\r\n markerL.setStyle({\r\n backgroundColor : '',\r\n border : '0'\r\n });\r\n gc.setLabel(markerL);\r\n }\r\n }else{\r\n cg.width = cg.width || gc.getIcon().size.width;\r\n cg.height = cg.height || gc.getIcon().size.height;\r\n //未改变方式的点 直接修改数据\r\n let icon = new BMap.Icon(\r\n item.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(cg.width,cg.height)\r\n );\r\n icon.setImageSize(new BMap.Size(cg.width,cg.height));\r\n gc.setIcon(icon);\r\n gc.setOffset(new BMap.Size((cg.markerContentX || -15) + cg.width/2,\r\n (cg.markerContentY || -30) + cg.height/2));\r\n //修改角度\r\n gc.setRotation(cg.deg || 0);\r\n //添加label\r\n if(item.canShowLabel && cg.labelContent){\r\n let markerLabel = gc.getLabel(),\r\n //label默认样式\r\n labelClass = 'label-content';\r\n //接受label自定义样式\r\n if(item.labelClass){\r\n labelClass = item.labelClass.split(',').join(' ');\r\n }\r\n let labelContent = \"<div class='\"+labelClass+\"' style=\\\"margin-left: 0;\\\">\"\r\n + cg.labelContent + \"</div>\",\r\n labelOffset = new BMap.Size(cg.labelPixelX,cg.labelPixelY);\r\n if(markerLabel){\r\n markerLabel.setContent(labelContent);\r\n markerLabel.setOffset(labelOffset);\r\n }else{\r\n markerLabel = new BMap.Label(\r\n labelContent, {\r\n offset : labelOffset\r\n });\r\n markerLabel.setStyle({\r\n border : '0',\r\n backgroundColor : ''\r\n });\r\n gc.setLabel(markerLabel);\r\n }\r\n }else{\r\n if(!!gc.getLabel()){\r\n gc.getLabel().setContent('');\r\n }\r\n }\r\n if(cg.BAnimationType == 0){\r\n gc.setAnimation(BMAP_ANIMATION_BOUNCE);\r\n }else if(cg.BAnimationType == 1){\r\n gc.setAnimation(BMAP_ANIMATION_DROP);\r\n }else{\r\n gc.setAnimation(null);\r\n }\r\n /*moveTo*/\r\n }\r\n //动画效果会延迟执行经纬度的切换\r\n if(cg.isAnimation){\r\n t.moveTo(item.id,[item.longitude,item.latitude],cg.animationDelay,cg.autoRotation,item.url,item.urlleft);\r\n }else{\r\n //修改经纬度\r\n gc.setPosition(new BMap.Point(item.longitude,item.latitude));\r\n }\r\n if(cg.zIndex || cg.zIndex === 0){\r\n gc.setZIndex(cg.zIndex);\r\n }\r\n t.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {...item,other: item},\r\n geometryType: 'point',\r\n geometry: {\r\n type: 'point',\r\n x: item.longitude,\r\n y: item.latitude\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的点位id不存在!`);\r\n return false;\r\n }\r\n });\r\n t.moveAnimation();\r\n // //删除改变了加载方式的点\r\n // dpoints.map((item,index)=>{\r\n // t.removeGraphic(item,'point');\r\n // });\r\n // if(apoints.length > 0){\r\n // //重新加载改变了方式的点\r\n // setTimeout(()=>{\r\n // t.addPoint(apoints);\r\n // },100);\r\n // }\r\n }\r\n //添加线\r\n addLine(mapLines,type){\r\n let t = this;\r\n let lsids = [...t.state.lineIds];\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`多折线id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',\r\n isHidden: false\r\n }\r\n //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n }),\r\n //处理线的参数\r\n lineOption = {\r\n strokeColor : cg.color, // 线颜色\r\n strokeWeight : cg.lineWidth, // 线宽\r\n strokeOpacity : cg.pellucidity, // 线透明度\r\n strokeStyle : cg.lineType// 线样式\r\n };\r\n //创建线对象\r\n let line = new BMap.Polyline(linePath,lineOption);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n line.hide();\r\n }else{\r\n line.show();\r\n }\r\n lsids.push(item.id);\r\n //添加线至地图\r\n t.state.gis.addOverlay(line);\r\n //点击事件\r\n line.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n line.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n line.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n t.GM.setGraphic(item.id,line)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n if(type !== 'defined'){\r\n t.state.lineIds = lsids;\r\n // t.setState({\r\n // lineIds: lsids\r\n // });\r\n }\r\n }\r\n //更新线\r\n updateLine(mapLines){\r\n let t = this;\r\n //遍历添加线(图元)\r\n mapLines.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //多折线点位数据不符合,直接跳过\r\n if(!(item.paths && item.paths.length >= 2)){\r\n console.warn(`多折线paths数据错误`);\r\n return false;\r\n }\r\n }else{\r\n console.warn(`更新的多折线id不存在!`);\r\n return false;\r\n }\r\n let gc = t.GM.getGraphic(item.id);\r\n //初始化默认参数\r\n let cg = {\r\n color: '#277ffa',\r\n pellucidity: 0.9,\r\n lineWidth: 5,\r\n lineType: 'solid',//'solid' 'dashed'\r\n isHidden: false\r\n }\r\n //合并参数\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //处理线的点数组\r\n let linePath = item.paths.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //修改线点位数据\r\n gc.setPath(linePath);\r\n //修改线颜色\r\n gc.setStrokeColor(cg.color);\r\n //修改透明度\r\n gc.setStrokeOpacity(cg.pellucidity);\r\n //修改线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改线的类型\r\n gc.setStrokeStyle(cg.lineType);\r\n //判断线显示和隐藏\r\n if(cg.isHidden){\r\n gc.hide();\r\n }else{\r\n gc.show();\r\n }\r\n t.GM.setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n paths: item.paths,\r\n other: item\r\n },\r\n geometryType: 'polyline',\r\n geometry: {\r\n type: 'polyline',\r\n paths: item.paths\r\n }\r\n });\r\n });\r\n }\r\n //添加面\r\n addPolygon(mapPolygons){\r\n let t = this;\r\n let pgsids = [...t.state.polygonIds];\r\n //遍历添加面(图元)\r\n mapPolygons.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`多边形id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //初始化参数\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要再加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //面的参数\r\n let polygonOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity\r\n },\r\n polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //创建面对象\r\n let polygon = new BMap.Polygon(polygonPath,polygonOption);\r\n //添加面至地图\r\n t.state.gis.addOverlay(polygon);\r\n //点击事件\r\n polygon.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n polygon.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n polygon.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n //缓存面id\r\n pgsids.push(item.id);\r\n //缓存面图元对象和对于传入数据\r\n t.GM.setGraphic(item.id,polygon)\r\n .setGraphicParam(item.id,{\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n },\r\n });\r\n });\r\n t.state.polygonIds = pgsids;\r\n // t.setState({\r\n // polygonIds: pgsids\r\n // });\r\n }\r\n //更新面\r\n updatePolygon(mapPolygons){\r\n let t = this;\r\n mapPolygons.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //多边形点位数据不符合,直接跳过\r\n if(!(item.rings && item.rings.length >= 3)){\r\n console.warn(`多边形rings数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n //初始化参数\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要再加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let polygonPath = item.rings.map((item,index)=>{\r\n return new BMap.Point(item[0],item[1]);\r\n });\r\n //更新经纬度\r\n gc.setPath(polygonPath);\r\n //更新边框线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //更新填充色\r\n gc.setFillColor(cg.color);\r\n //更新变线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //更新填充色透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //更新边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //更新边线类型\r\n gc.setStrokeStyle(cg.lineType);\r\n t.GM.setGraphicParam(\r\n item.id,\r\n {\r\n attributes: {\r\n ...item,\r\n rings: item.rings,\r\n other: item\r\n },\r\n geometryType: 'polygon',\r\n geometry: {\r\n type: 'polygon',\r\n rings: item.rings\r\n }\r\n }\r\n );\r\n }else{\r\n console.warn(`更新的多边形id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //添加圆 circle\r\n addCircle(mapCircles){\r\n let t = this;\r\n let ccsids = [...t.state.circleIds];\r\n mapCircles.map((item,index)=>{\r\n //如果id重复,直接跳过不执行.\r\n if (t.GM.isRepetition(item.id)) {\r\n console.warn(`圆id: ${item.id} 重复`);\r\n return false;\r\n }\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n //初始化配置数据\r\n let circleOption = {\r\n strokeColor: cg.lineColor,\r\n strokeOpacity: cg.lineOpacity,\r\n strokeWeight: cg.lineWidth,\r\n strokeStyle: cg.lineType,\r\n fillColor: cg.color,\r\n fillOpacity: cg.pellucidity\r\n },\r\n centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //创建圆图元实例\r\n let circle = new BMap.Circle(centerPoint,item.radius,circleOption);\r\n //添加圆至地图\r\n t.state.gis.addOverlay(circle);\r\n //点击事件\r\n circle.addEventListener('click',(e)=>{\r\n t.clickGraphic(item.id,e);\r\n });\r\n //鼠标移入事件\r\n circle.addEventListener('mouseover',(e)=>{\r\n t.mouseOverGraphic(item.id,e);\r\n });\r\n //鼠标移出事件\r\n circle.addEventListener('mouseout',(e)=>{\r\n t.mouseOutGraphic(item.id,e);\r\n });\r\n ccsids.push(item.id);\r\n //缓存数据\r\n t.GM.setGraphic(item.id,circle)\r\n .setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n });\r\n });\r\n t.state.circleIds = ccsids;\r\n // t.setState({\r\n // circleIds: ccsids\r\n // });\r\n }\r\n //更新圆\r\n updateCircle(mapCircles){\r\n let t = this;\r\n mapCircles.map((item,index)=>{\r\n //判断图元是否存在.\r\n if (t.GM.isRepetition(item.id)) {\r\n //圆 点位数据不符合,直接跳过\r\n if(!item.longitude || !item.latitude){\r\n console.warn(`圆 经纬度 数据错误`);\r\n return false;\r\n }\r\n //获取原有的图元\r\n let gc = t.GM.getGraphic(item.id);\r\n //获取原有的面属性,转换key值\r\n let cg = {\r\n lineType: 'solid',\r\n lineWidth: 5,\r\n lineColor: '#277ffa',\r\n lineOpacity: 1,\r\n color: '#fff',\r\n pellucidity: 0.5\r\n // isHidden: false //后期需要在加\r\n }\r\n if(item.config){\r\n cg = {...cg,...item.config};\r\n }\r\n let centerPoint = new BMap.Point(item.longitude,item.latitude);\r\n //修改中心点\r\n gc.setCenter(centerPoint);\r\n //修改半径\r\n gc.setRadius(item.radius);\r\n //修改边线颜色\r\n gc.setStrokeColor(cg.lineColor);\r\n //修改填充颜色\r\n gc.setFillColor(cg.color);\r\n //修改边线透明度\r\n gc.setStrokeOpacity(cg.lineOpacity);\r\n //修改填充透明度\r\n gc.setFillOpacity(cg.pellucidity);\r\n //修改边线宽度\r\n gc.setStrokeWeight(cg.lineWidth);\r\n //修改边线样式\r\n gc.setStrokeStyle(cg.lineType);\r\n //缓存图元的数据,便于后期操作\r\n t.GM.setGraphicParam(item.id,{\r\n attributes: {...item,other: item},\r\n geometryType: 'circle',\r\n geometry: {\r\n type: 'circle',\r\n x: item.longitude,\r\n y: item.latitude,\r\n radius: item.radius\r\n }\r\n });\r\n }else{\r\n console.warn(`更新的圆id不存在!`);\r\n return false;\r\n }\r\n });\r\n }\r\n //画出对应边界线 name区域名\r\n addBaiduBoundary(bdNames){\r\n let t = this;\r\n bdNames.forEach(name=>{\r\n t._boundary.get(name,(ary)=>{\r\n // fix 飞地有多个区域的问题\r\n let arr = [];\r\n ary.boundaries.forEach((item) => {\r\n let id = 'boundary' + new Date().getTime() + Math.random();\r\n let paths = item.split(';').map(function (item, index) {\r\n return item.split(',');\r\n });\r\n arr.push({ id: id, rings: paths , name: name})\r\n t.state.boundaryInfo.push({ id: id, name: name });\r\n })\r\n t.addPolygon(arr);\r\n });\r\n })\r\n }\r\n //删除对应应边界线 name区域名\r\n removeBaiduBoundary(removedBDNames){\r\n let t = this;\r\n let removedBDIds = t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)>-1).map(item=>item.id);\r\n t.setState({boundaryInfo:t.state.boundaryInfo.filter(item=>removedBDNames.indexOf(item.name)==-1)});\r\n removedBDIds.forEach(id=>{\r\n t.removeGraphic(id,'polygon');\r\n });\r\n }\r\n //热力图\r\n heatMapOverlay(d = {}){\r\n let t = this;\r\n let cg = {\r\n radius: 20,\r\n max: 100,\r\n visible: true,\r\n opacity: 0.7\r\n };\r\n if(d.config){\r\n cg = {...cg,...d.config};\r\n }\r\n if(!t.heatmap){\r\n t.heatmap = new BMapLib.HeatmapOverlay({\r\n visible: cg.visible\r\n });\r\n t.state.gis.addOverlay(t.heatmap);\r\n }\r\n let option = {\r\n radius: cg.radius,\r\n //百度是1-100,高德是0-1\r\n opacity: eval(cg.opacity) * 100,\r\n visible: cg.visible\r\n }\r\n if(cg.gradient){\r\n option.gradient = cg.gradient;\r\n }\r\n t.heatmap.setDataSet({\r\n max: cg.max,\r\n data: d.data || []\r\n });\r\n t.heatmap.setOptions(option);\r\n if(cg.visible){\r\n t.heatmap.show();\r\n }else{\r\n t.heatmap.hide();\r\n }\r\n }\r\n //信息窗体\r\n infoWindow (d = {}){\r\n let t = this;\r\n var cg = {\r\n width: 300,\r\n height: 172,\r\n };\r\n if (d.config) {\r\n cg = {...cg,...d.config};\r\n }\r\n var sContent = document.createElement('div');\r\n var infowindow = new BMap.InfoWindow(sContent);\r\n \r\n infowindow.setWidth(cg.width);\r\n infowindow.setHeight(cg.height);\r\n\r\n if(d.onClose instanceof Function){\r\n infowindow.addEventListener(\"clickclose\", e => {\r\n d.onClose(e);\r\n })\r\n }\r\n\r\n if(d.lat && d.lng && d.content){\r\n render(d.content, sContent);\r\n t.state.gis.openInfoWindow(infowindow, new BMap.Point(d.lng,d.lat));\r\n\r\n } else {\r\n infowindow && t.state.gis.closeInfoWindow();\r\n }\r\n }\r\n //添加海量点 \r\n addPointCollection(data = []) {\r\n let t = this;\r\n data.map((item,index)=>{\r\n let d = item || {};\r\n let points = [];\r\n (d.points || []).map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n let options = {\r\n size: gisMapConstant[d.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[d.shape] || gisMapConstant['circle'],\r\n color: d.color || '#d340c3'\r\n }\r\n // 初始化PointCollection\r\n let VotexpointCollection = new BMap.PointCollection(points, options); \r\n t.state.gis.addOverlay(VotexpointCollection); // 添加Overlay\r\n t.morepoints.push({\r\n id: d.id,\r\n value: VotexpointCollection\r\n });\r\n VotexpointCollection.addEventListener('click', function (e) {\r\n if('clickPointCollection' in t.props && typeof(t.props.clickPointCollection) == 'function'){\r\n let obj = {\r\n id: d.id,\r\n ...e.point,\r\n mapLayer: VotexpointCollection\r\n }\r\n t.props.clickPointCollection(obj);\r\n }\r\n });\r\n });\r\n }\r\n //更新海量点\r\n updatePointCollection(data = []) {\r\n let t = this;\r\n data.map((ds,i)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(item.id == ds.id){\r\n let points = [];\r\n ds.points.map(function(d,i){\r\n let p = new BMap.Point(d.lng,d.lat);\r\n p.attributes = d;\r\n points.push(p);\r\n })\r\n item.value.setPoints(points);\r\n item.value.setStyles({\r\n size: gisMapConstant[ds.size] || gisMapConstant['normal'],\r\n shape: gisMapConstant[ds.shape] || gisMapConstant['circle'],\r\n color: ds.color || '#d340c3'\r\n })\r\n }\r\n });\r\n });\r\n }\r\n //清空单个海量点\r\n clearPointCollection(ids){\r\n let t = this;\r\n ids.map((id,ind)=>{\r\n t.morepoints.map(function (item,index) {\r\n if(id == item.id){\r\n item.value.clear();\r\n }\r\n });\r\n });\r\n }\r\n //清空海量点\r\n clearAllPointCollection() {\r\n let t = this;\r\n t.morepoints.map(function (item,index) {\r\n item.value.clear();\r\n })\r\n }\r\n /*图元事件处理*/\r\n //点击图元事件\r\n clickGraphic (id,e) {\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.clickGraphic) ===\"function\"){\r\n let param = t.getGraphic(id);\r\n let obj = {\r\n param,\r\n type: param.geometry.type,//图元类型\r\n attributes: {...param.attributes.other,...{config:param.attributes.config}},//添加时图元信息\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n e: e\r\n }\r\n t.props.clickGraphic(obj);\r\n }\r\n }\r\n //图元鼠标悬浮事件\r\n mouseOverGraphic(id,e){\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.mouseOverGraphic) === 'function'){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n }\r\n t.props.mouseOverGraphic(obj);\r\n }\r\n }\r\n //图元鼠标移开事件\r\n mouseOutGraphic(id,e){\r\n let t = this;\r\n //编辑中的图元关闭其他事件返回\r\n if(t.state.editId == id)return false;\r\n if(typeof(t.props.mouseOutGraphic) ===\"function\"){\r\n let obj = {\r\n e,id,\r\n param: t.getGraphic(id),\r\n top: e.clientY,//当前点所在的位置(屏幕)\r\n left: e.clientX,\r\n }\r\n t.props.mouseOutGraphic(obj);\r\n }\r\n }\r\n /*地图事件处理*/\r\n //地图点击事件\r\n clickMap(){\r\n let t =this;\r\n if(typeof(t.props.clickMap) ===\"function\"){\r\n t.state.gis.addEventListener('click',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n obj.clickLngLat = e.point;\r\n obj.pixel = e.pixel;\r\n t.props.clickMap(obj);\r\n });\r\n }\r\n }\r\n //地图拖动之前事件\r\n dragMapStart(){\r\n let t = this;\r\n if(typeof(t.props.dragMapStart) === 'function'){\r\n t.state.gis.addEventListener('dragstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapStart(obj);\r\n })\r\n }\r\n }\r\n //地图拖动结束后事件\r\n dragMapEnd(){\r\n let t = this;\r\n if(typeof(t.props.dragMapEnd) === 'function'){\r\n t.state.gis.addEventListener('dragend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.dragMapEnd(obj);\r\n })\r\n }\r\n }\r\n //地图移动之前事件\r\n moveStart(){\r\n let t = this;\r\n if(typeof(t.props.moveStart) === 'function'){\r\n t.state.gis.addEventListener('movestart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveStart(obj);\r\n })\r\n }\r\n }\r\n //地图移动结束后事件\r\n moveEnd(){\r\n let t = this;\r\n if(typeof(t.props.moveEnd) === 'function'){\r\n t.state.gis.addEventListener('moveend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.moveEnd(obj);\r\n })\r\n }\r\n }\r\n //地图更改缩放级别开始时触发触发此事件\r\n zoomStart(){\r\n let t = this;\r\n if(typeof(t.props.zoomStart) === 'function'){\r\n t.state.gis.addEventListener('zoomstart',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomStart(obj);\r\n });\r\n }\r\n }\r\n //地图更改缩放级别结束时触发触发此事件\r\n zoomEnd(){\r\n let t = this;\r\n if(typeof(t.props.zoomEnd) === 'function'){\r\n t.state.gis.addEventListener('zoomend',(e)=>{\r\n let obj = t.getMapExtent();\r\n obj.e = e;\r\n t.props.zoomEnd(obj);\r\n });\r\n }\r\n }\r\n /*set方法*/\r\n //设置地图中心位置 lng/经度 lat/纬度\r\n setCenter (gt) {\r\n let t =this;\r\n if(!t.state.gis){\r\n return;\r\n }\r\n let mgt = [116.404,39.915];\r\n if(gt){\r\n //经纬度 必须存在 否则不操作\r\n if (!gt[0] || !gt[1]) {\r\n return false;\r\n }\r\n //如果设置的经纬度 与当前中心点一样 不操作\r\n let c = t.state.gis.getCenter();\r\n if(c.lng == gt[0] && c.lat == gt[1]){\r\n return false;\r\n }\r\n mgt = gt;\r\n }\r\n t.state.gis.setCenter(new BMap.Point(mgt[0],mgt[1]));\r\n t.setState({center: mgt});\r\n }\r\n //设置地图比例尺\r\n setZoomLevel (zoom) {\r\n let t =this;\r\n let z = t.getZoomLevel();\r\n if(z == zoom){\r\n return false;\r\n }\r\n t.state.gis.setZoom(zoom);\r\n }\r\n //将制定图元展示在视野内 (强制改变地图中心位置)\r\n /*\r\n 参数arg格式如下1,2\r\n 1.string 格式如:'1,a,2,3,4'\r\n 2.数组 ['1','2']\r\n */\r\n setVisiblePoints (mapVisiblePoints) {\r\n let t = this;\r\n let arg = null;\r\n let type = mapVisiblePoints.type;\r\n let ary = [];\r\n let obj = null;\r\n\r\n switch(mapVisiblePoints.fitView){\r\n case 'point':\r\n arg = this.state.pointIds;\r\n break;\r\n case 'line':\r\n arg = this.state.lineIds;\r\n break;\r\n case 'polygon':\r\n arg = this.state.polygonIds;\r\n break;\r\n case 'circle':\r\n arg = this.state.circleIds;\r\n break;\r\n case 'all':\r\n arg = this.state.pointIds.concat(this.state.lineIds).concat(this.state.polygonIds).concat(this.state.circleIds);\r\n break;\r\n default:\r\n arg = mapVisiblePoints.fitView;\r\n break;\r\n }\r\n\r\n /**\r\n * 用法\r\n * map.setVisiblePoints('lng,lat;lng,lat')\r\n */\r\n if(typeof(arg) === 'string'){\r\n ary = arg.split(',');\r\n obj = t.getFitView(ary);\r\n \r\n } else if(arg instanceof Array){\r\n /**\r\n * 用法\r\n * map.setVisiblePoints([[lng,lat],[lng,lat]])\r\n */\r\n if(arg[0] instanceof Array){\r\n let a = [];\r\n for(let i = 0 ; i < arg.length ; i++){\r\n a.push(new BMap.Point(arg[i][0],arg[i][1]));\r\n }\r\n obj = t.state.gis.getViewport(a);\r\n /**\r\n * 用法\r\n * map.setVisiblePoints(['lng,lat','lng,lat'])\r\n */\r\n } else {\r\n obj = t.getFitView(arg);\r\n }\r\n }\r\n if(!obj){return false} \r\n if(!type || type == 'all'){\r\n t.state.gis.centerAndZoom(obj.center, obj.zoom);\r\n }else if(type == 'zoom'){\r\n t.setZoomLevel(obj.zoom);\r\n }else if(type == 'center'){\r\n t.setCenter([obj.center.lng,obj.center.lat]);\r\n }\r\n }\r\n /*get方法*/\r\n //获取当前地图的中心位置\r\n getCurrentCenter(){\r\n let t =this;\r\n return t.state.gis.getCenter();\r\n }\r\n //获取当前比例尺\r\n getZoomLevel (){\r\n let t =this;\r\n return t.state.gis.getZoom();\r\n }\r\n //获取对应经纬的最优 zoomLevel和center\r\n getFitView(ids){\r\n let t = this;\r\n if(ids.length > 0){\r\n let allLayers = [];\r\n for(let i = 0 ; i < ids.length ; i++){\r\n switch((t.GM.getGraphicParam(ids[i]) || {}).geometryType){\r\n case 'point':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getPosition());\r\n }\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers = [...allLayers,...t.GM.getGraphic(ids[i]).getPath()];\r\n }\r\n break;\r\n case 'circle':\r\n if(t.GM.getGraphic(ids[i])){\r\n allLayers.push(t.GM.getGraphic(ids[i]).getCenter());\r\n }\r\n break;\r\n }\r\n }\r\n if(allLayers.length > 0){\r\n return t.state.gis.getViewport(allLayers);\r\n }\r\n }\r\n }\r\n //获取图元数据\r\n getGraphic (id) {\r\n let t = this;\r\n if(!id){\r\n return false;\r\n }\r\n let gp = t.GM.getGraphicParam(id);\r\n let gg = t.GM.getGraphic(id);\r\n if(!gg){\r\n return false;\r\n }\r\n let p = {},pts = [],lng = 0,lat = 0;\r\n switch(gp.geometryType){\r\n case 'point':\r\n lng = gg.getPosition().lng;\r\n lat = gg.getPosition().lat;\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n }\r\n }\r\n }\r\n break;\r\n case 'polyline':\r\n pts = gg.getPath().map((item,index)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n paths: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n paths: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n paths: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'polygon':\r\n // fix: 编辑图元时面积计算不正确,需要过滤一下重复的经纬度\r\n pts = uniqBy(gg.getPath(), function(res){\r\n return res.lng && res.lat\r\n }).map((item)=>{\r\n return [item.lng,item.lat]\r\n });\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n rings: pts\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n rings: pts,\r\n other: {\r\n ...gp.attributes.other,\r\n rings: pts\r\n }\r\n }\r\n }\r\n break;\r\n case 'circle':\r\n lng = gg.getCenter().lng;\r\n lat = gg.getCenter().lat;\r\n let radius = gg.getRadius();\r\n p = {\r\n ...gp,\r\n mapLayer: gg,\r\n geometry: {\r\n ...gp.geometry,\r\n x: lng,\r\n y: lat,\r\n radius\r\n },\r\n attributes: {\r\n ...gp.attributes,\r\n longitude: lng,\r\n latitude: lat,\r\n radius,\r\n other: {\r\n ...gp.attributes.other,\r\n longitude: lng,\r\n latitude: lat,\r\n radius\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n return p;\r\n }\r\n /*功能方法*/\r\n //单个删除图元\r\n removeGraphic(id,type){\r\n let t = this;\r\n let graphic = t.GM.getGraphic(id);\r\n if(!!graphic){\r\n //清除聚合点 避免异常\r\n t._cluster.removeMarker(this.GM.getGraphic(id));\r\n //清除地图中图元\r\n t.state.gis.removeOverlay(graphic);\r\n //清除对应id的图元数据缓存\r\n t.GM.removeGraphic(id);\r\n }else{\r\n return false;\r\n }\r\n for(let i = 0 ; i < t.movePoints.length ; i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1);\r\n continue;\r\n }\r\n }\r\n let ids = [];\r\n switch(type){\r\n case 'point':\r\n ids = t.state.pointIds;\r\n break;\r\n case 'line':\r\n ids = t.state.lineIds;\r\n break;\r\n case 'polygon':\r\n ids = t.state.polygonIds;\r\n break;\r\n case 'circle':\r\n ids = t.state.circleIds;\r\n break;\r\n case 'draw':\r\n if(t.state.drawIds.point.indexOf(id) > -1){\r\n t.state.drawIds.point.splice(t.state.drawIds.point.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.polyline.indexOf(id) > -1){\r\n t.state.drawIds.polyline.splice(t.state.drawIds.polyline.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.polygon.indexOf(id) > -1){\r\n t.state.drawIds.polygon.splice(t.state.drawIds.polygon.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.circle.indexOf(id) > -1){\r\n t.state.drawIds.circle.splice(t.state.drawIds.circle.indexOf(id),1);\r\n }\r\n if(t.state.drawIds.rectangle.indexOf(id) > -1){\r\n t.state.drawIds.rectangle.splice(t.state.drawIds.rectangle.indexOf(id),1);\r\n }\r\n break;\r\n default:\r\n if(t.state.pointIds.indexOf(id) > -1){\r\n t.state.pointIds.splice(t.state.pointIds.indexOf(id),1);\r\n }\r\n if(t.state.lineIds.indexOf(id) > -1){\r\n t.state.lineIds.splice(t.state.lineIds.indexOf(id),1);\r\n }\r\n if(t.state.polygonIds.indexOf(id) > -1){\r\n t.state.polygonIds.splice(t.state.polygonIds.indexOf(id),1);\r\n }\r\n if(t.state.circleIds.indexOf(id) > -1){\r\n t.state.circleIds.splice(t.state.circleIds.indexOf(id),1);\r\n }\r\n break;\r\n }\r\n if(id == t.state.editId){\r\n t.state.editId = '';\r\n }\r\n if(ids.indexOf(id) != -1){\r\n ids.splice(ids.indexOf(id),1);\r\n }\r\n }\r\n /*根据图元id,使图元变成可编辑状态*/\r\n doEdit (id){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(id);\r\n let gtp = t.GM.getGraphicParam(id);\r\n if(!graphic)return false;\r\n //关闭先前编辑的图元\r\n if(!!t.state.editId){\r\n t.endEdit();\r\n }\r\n if(!t.editGraphicChange){\r\n //编辑变动后\r\n t.editGraphicChange = (e)=>{\r\n let id = t.state.editId,\r\n param = t.getGraphic(id),\r\n obj = {\r\n param,e,id,\r\n geometry: param.geometry\r\n };\r\n if(param.geometry.type == 'polygon'){\r\n // obj.area = BMapLib.GeoUtils.getPolygonArea(param.mapLayer);\r\n // fix: 只能是数组计算之前的计算因为重复的经纬度导致面积为NAN\r\n obj.area = BMapLib.GeoUtils.getPolygonArea(param.geometry.rings.map((item)=>{\r\n return new BMap.Point(item[0], item[1])\r\n }));\r\n }\r\n if(param.geometry.type == 'polyline'){\r\n obj.distance = t.calculateDistance(param.geometry.paths);\r\n }\r\n if(param.geometry.type == 'circle'){\r\n obj.area = Math.pow(param.geometry.radius,2)*Math.PI;\r\n if(t.editTimeout){\r\n clearTimeout(t.editTimeout);\r\n }\r\n t.editTimeout = setTimeout(()=>{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n },300);\r\n }else{\r\n t.setState({editGraphic:obj},()=>{\r\n t.props.editGraphicChange(obj);\r\n });\r\n }\r\n }\r\n }\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.enableDragging();\r\n graphic.addEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.enableEditing();\r\n graphic.addEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n t.setState({editId:id});\r\n }\r\n //关闭编辑\r\n endEdit (){\r\n let t = this;\r\n //获取编辑点的图元和参数\r\n let graphic = t.GM.getGraphic(t.state.editId);\r\n let gtp = t.GM.getGraphicParam(t.state.editId);\r\n if(!graphic)return false;\r\n switch(gtp.geometryType){\r\n case 'point':\r\n graphic.disableDragging();\r\n graphic.removeEventListener(\"dragend\",t.editGraphicChange);\r\n break;\r\n case 'polyline':\r\n case 'polygon':\r\n case 'rectangle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n case 'circle':\r\n graphic.disableEditing();\r\n graphic.removeEventListener(\"lineupdate\",t.editGraphicChange);\r\n break;\r\n }\r\n let editGraphic = t.state.editGraphic;\r\n t.setState({\r\n editId: '',\r\n editGraphic: ''\r\n },()=>{\r\n if(editGraphic){\r\n t.props.editGraphicChange(editGraphic);\r\n }\r\n })\r\n }\r\n //绘制图元\r\n draw(obj){\r\n let t = this,drawParam = {};\r\n //先关闭(防止连点)\r\n t._drawmanager.close();\r\n //初始化参数\r\n drawParam.geometryType = obj.geometryType || 'point';\r\n drawParam.parameter = obj.parameter?{...obj.parameter}:{};\r\n drawParam.data = obj.data?{...obj.data}:{};\r\n drawParam.data.id = (obj.data || {}).id || `draw${new Date().getTime()}`;\r\n //判断id是否存在\r\n let len = t.state.drawIds[drawParam.geometryType].indexOf(drawParam.data.id);\r\n if(len > -1){\r\n //如果id存在 删除存在的图元,清除drawId中的id数据\r\n t.removeGraphic(drawParam.data.id);\r\n t.state.drawIds[drawParam.geometryType].splice(len,1);\r\n }\r\n let param = {};\r\n let paramgcr = {};\r\n if(drawParam.geometryType == 'polygon' || drawParam.geometryType == 'circle' || drawParam.geometryType == 'rectangle'){\r\n paramgcr.fillColor = drawParam.parameter.color;\r\n paramgcr.strokeColor = drawParam.parameter.lineColor;\r\n paramgcr.strokeOpacity = drawParam.parameter.lineOpacity;\r\n paramgcr.strokeWeight = drawParam.parameter.lineWidth;\r\n paramgcr.fillOpacity = drawParam.parameter.pellucidity;\r\n paramgcr.strokeStyle = drawParam.parameter.lineType;\r\n paramgcr.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: drawParam.parameter.color,\r\n lineColor: drawParam.parameter.lineColor,\r\n lineOpacity: drawParam.parameter.lineOpacity,\r\n pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: drawParam.geometryType\r\n };\r\n }\r\n switch(drawParam.geometryType){\r\n case 'point':\r\n param.offset = new BMap.Size((drawParam.parameter.markerContentX || -15) + (drawParam.parameter.width || 30)/2,\r\n (drawParam.parameter.markerContentY || -30) + (drawParam.parameter.height || 30)/2);\r\n let icon = new BMap.Icon(\r\n drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30)\r\n );\r\n icon.setImageSize(new BMap.Size(drawParam.parameter.width || 30,drawParam.parameter.height || 30));\r\n param.icon = icon;\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n url: drawParam.parameter.url || `${configUrl.mapServerURL}/images/defaultMarker.png`,\r\n config: {\r\n width: drawParam.parameter.width || 36,\r\n height: drawParam.parameter.height || 36\r\n }\r\n },\r\n type: 'point'\r\n };\r\n t._drawmanager.setDrawingMode('marker');\r\n t._drawmanager.open({markerOptions: param});\r\n break;\r\n case 'polyline':\r\n param.strokeColor = drawParam.parameter.color;\r\n param.strokeOpacity = drawParam.parameter.pellucidity;\r\n param.strokeWeight = drawParam.parameter.lineWidth;\r\n param.strokeStyle = drawParam.parameter.lineType;\r\n param.extData = {\r\n id: drawParam.data.id,\r\n attributes: {\r\n id: drawParam.data.id,\r\n config: {\r\n color: drawParam.parameter.color,\r\n pellucidity: drawParam.parameter.pellucidity,\r\n lineWidth: drawParam.parameter.lineWidth\r\n }\r\n },\r\n type: 'polyline'\r\n };\r\n t._drawmanager.open({polylineOptions: param,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polyline');\r\n break;\r\n case 'polygon':\r\n t._drawmanager.open({polygonOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('polygon');\r\n break;\r\n case 'circle':\r\n t._drawmanager.open({circleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('circle');\r\n break;\r\n case 'rectangle':\r\n t._drawmanager.open({rectangleOptions: paramgcr,enableCalculate: true});\r\n t._drawmanager.setDrawingMode('rectangle');\r\n break;\r\n }\r\n }\r\n //关闭绘制图元\r\n closeDraw(){\r\n let t = this;\r\n t._drawmanager.close();\r\n }\r\n //清空地图图元\r\n clearAll(){\r\n let t = this;\r\n //清空聚合\r\n if (t._cluster) {\r\n t._cluster.clearMarkers();\r\n }\r\n //关闭测距\r\n if(t._rangingTool){\r\n t._rangingTool.close();\r\n }\r\n //清空地图\r\n t.state.gis.clearOverlays();\r\n //清空缓存数据\r\n t.GM.clearAll();\r\n //关闭编辑\r\n t.endEdit();\r\n //清空历史数据记录\r\n t.setState({\r\n pointIds: [],\r\n lineIds: [],\r\n polygonIds: [],\r\n circleIds: [],\r\n boundaryInfo: [],\r\n drawIds: {\r\n point: [],\r\n polyline: [],\r\n polygon: [],\r\n circle: [],\r\n rectangle: []\r\n }\r\n });\r\n }\r\n /*工具方法*/\r\n //聚合地图图元(arg为空时聚合全部点)\r\n cluster (arg) {\r\n let t = this;\r\n let ary = t.clusterToolFunction((arg && arg?.length>0) ? arg : t.state.pointIds);\r\n t._cluster.addMarkers(ary);\r\n }\r\n //删除点聚合效果\r\n removeCluster(arg){\r\n let t = this;\r\n let ids = (arg && arg?.length>0) ? arg : t.state.pointIds;\r\n let ary = t.clusterToolFunction(ids);\r\n if(ary.length > 0){\r\n t._cluster.removeMarkers(ary);\r\n }\r\n ids.map(id=>{\r\n t.GM.removeGraphic(id);\r\n })\r\n // 重新加点\r\n t.addPoint(t.props.mapPoints);\r\n }\r\n //清空聚合效果\r\n clearClusters(){\r\n let t = this;\r\n t._cluster.clearMarkers();\r\n }\r\n //聚合功能公共方法(获取图元集合)\r\n clusterToolFunction(arg){\r\n let t = this;\r\n let ary = [];\r\n if(!arg){\r\n let {pointIds} = t.state;\r\n ary = pointIds;\r\n }else{\r\n if(Object.prototype.toString.apply(arg) === '[object Array]'){\r\n ary = arg;\r\n }else if(typeof arg === 'string'){\r\n ary = arg.split(',');\r\n }\r\n }\r\n //过滤moveTo的点位\r\n //缓存所有聚合的点位\r\n let allps = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n allps.push(t.GM.getGraphic(ary[i]));\r\n }\r\n return allps;\r\n }\r\n //测距\r\n vtxRangingTool (callback) {\r\n let t = this;\r\n let cb = (e)=>{\r\n //关闭测距\r\n t._rangingTool.close();\r\n //注销事件(避免重复)\r\n t._rangingTool.removeEventListener('drawend',cb);\r\n if(typeof(callback) ===\"function\"){\r\n let obj = {\r\n distance : e.distance\r\n };\r\n let objLngLats = new Array();\r\n for (let i = 0; i < e.points.length; i++) {\r\n objLngLats.push([ e.points[i].lng, e.points[i].lat ]);\r\n }\r\n obj.lnglats = objLngLats;\r\n callback(obj);\r\n }\r\n }\r\n t._rangingTool.addEventListener('drawend',cb);\r\n t._rangingTool.open(this.state.gis);\r\n }\r\n //开启路况\r\n openTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.showTraffic();\r\n }\r\n //关闭路况\r\n hideTrafficInfo(){\r\n let t =this;\r\n t._trafficCtrl.hideTraffic();\r\n }\r\n //展示比例尺\r\n showControl (props){\r\n let t = this,location = t.AnchorConstant['tr'],type = '',offset=null, scaleOffset=null;\r\n let config = props || t.props;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n }\r\n if(config.showControl.location){\r\n location = t.AnchorConstant[config.showControl.location];\r\n }\r\n if(config.showControl.type){\r\n type = t.NavigationConstant[config.showControl.type];\r\n }\r\n if(config.showControl.offset && config.showControl.offset.length>0){\r\n offset = new BMap.Size(config.showControl.offset[0],config.showControl.offset[1])\r\n scaleOffset = new BMap.Size(config.showControl.offset[0] + 70,config.showControl.offset[1])\r\n }\r\n // 左上角,添加比例尺\r\n let control = new BMap.ScaleControl({anchor: location, offset: scaleOffset});\r\n t.state.gis.addControl(control);\r\n t.scaleControl = control;\r\n if(type !== 'null'){\r\n //右上角,仅包含平移和缩放按钮\r\n let navigation = new BMap.NavigationControl({anchor: location, type: type, offset}); \r\n t.state.gis.addControl(navigation);\r\n t.navigationControl = navigation;\r\n }\r\n }\r\n // 移除比例尺\r\n removeControl() {\r\n const t = this;\r\n if(t.scaleControl) {\r\n t.state.gis.removeControl(t.scaleControl);\r\n t.scaleControl = null;\r\n }\r\n if(t.navigationControl) {\r\n t.state.gis.removeControl(t.navigationControl);\r\n t.navigationControl = null;\r\n }\r\n }\r\n //展示地图切换控件\r\n showMapTypeControl (props){\r\n let t = this,location = t.AnchorConstant['br'],offset=null;\r\n let config = props || t.props;\r\n if(t.mapTypeControl) {\r\n t.state.gis.removeControl(t.mapTypeControl);\r\n }\r\n if(config.satelliteSwitch.location){\r\n location = t.AnchorConstant[config.satelliteSwitch.location];\r\n }\r\n if(config.satelliteSwitch.offset && config.satelliteSwitch.offset.length>0){\r\n offset = new BMap.Size(config.satelliteSwitch.offset[0],config.satelliteSwitch.offset[1])\r\n }\r\n let mapTypes = [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]\r\n // 地图切换控件\r\n let control = new BMap.MapTypeControl({mapTypes, anchor: location, type: BMAP_MAPTYPE_CONTROL_HORIZONTAL, offset: offset});\r\n t.state.gis.addControl(control);\r\n t.mapTypeControl = control;\r\n }\r\n /*设置显示区域*/\r\n setAreaRestriction(sw_ne){\r\n let t = this;\r\n //修改了区域限制的js文件.\r\n let bounds = new BMap.Bounds(new BMap.Point(sw_ne[0][0],sw_ne[0][1]),new BMap.Point(sw_ne[1][0],sw_ne[1][1]));\r\n t._bmar.setBounds(this.state.gis,bounds);\r\n }\r\n /*取消显示区域*/\r\n clearAreaRestriction(){\r\n let t = this;\r\n t._bmar.clearBounds();\r\n }\r\n //渲染\r\n render(){\r\n let t = this;\r\n let _map = this.props;\r\n return(\r\n <div id={_map.mapId} style={{width:'100%',height:'100%'}}></div>\r\n );\r\n }\r\n /*公共方法*/\r\n moveAnimation(){\r\n let t = this;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n t.moveToTimer = setInterval(()=>{\r\n for(let i = 0;i < t.movePoints.length; i++){\r\n t.movePoints[i].waitTime += 10;\r\n t.movePoints[i].deleteTime -= 10;\r\n }\r\n t.movePoints.sort((x,y)=>{\r\n return y.waitTime -x.waitTime;\r\n });\r\n let nowMovePoints = t.movePoints.slice(0,10),deleteIndex=[];\r\n for(let i = 0;i < nowMovePoints.length; i++){\r\n let {id,rx,ry,waitTime,deleteTime} = nowMovePoints[i];\r\n let gc = t.GM.getGraphic(id);\r\n if(!gc){\r\n clearInterval(t.moveToTimer);\r\n }else{\r\n let gg = gc.getPosition();\r\n let tx = gg.lng + rx,ty = gg.lat + ry;\r\n gc.setPosition(new BMap.Point(tx,ty));\r\n t.movePoints[i].waitTime = 0;\r\n if(deleteTime <= 0){\r\n deleteIndex.push(i);\r\n }\r\n }\r\n }\r\n deleteIndex.sort((a,b)=>{return b-a});\r\n for(let i = 0 ; i < deleteIndex.length ; i++){\r\n t.movePoints.splice(deleteIndex[i],1);\r\n }\r\n if(nowMovePoints.length == 0){\r\n clearInterval(t.moveToTimer);\r\n }\r\n },10);\r\n }\r\n moveTo(id,lnglat,delay,autoRotation,urlright,urlleft){\r\n delay = delay || 3;\r\n let t = this,timer = 10,\r\n gc = t.GM.getGraphic(id);\r\n delay = eval(delay)*1000;\r\n let count = delay/timer;\r\n let s = gc.getPosition(),e = new BMap.Point(lnglat[0],lnglat[1]);\r\n if(s.equals(e)){\r\n return false;\r\n }else{\r\n let url= null;\r\n //计算角度,旋转\r\n if(autoRotation){\r\n let ddeg = t.rotateDeg(gc.getPosition(),lnglat);\r\n if(urlleft && (ddeg < -90 && ddeg > -270)){\r\n ddeg += 180;\r\n url = urlleft;\r\n }else{\r\n url = urlright;\r\n }\r\n let gcicon = gc.getIcon();\r\n gcicon.setImageUrl(url);\r\n gc.setIcon(gcicon);\r\n gc.setRotation(ddeg);\r\n }\r\n //拆分延迟移动定位\r\n let rx = (e.lng - s.lng)/count, ry = (e.lat - s.lat)/count;\r\n let isHave = false;\r\n for(let i = 0 ; i < t.movePoints.length ;i++){\r\n if(t.movePoints[i].id == id){\r\n t.movePoints.splice(i,1,{\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n isHave = true;\r\n }\r\n }\r\n if(!isHave){\r\n t.movePoints.push({\r\n id,rx,ry,\r\n waitTime: 0,\r\n deleteTime: delay\r\n });\r\n }\r\n }\r\n \r\n }\r\n //点位角度旋转(以指向东(右)为0°)\r\n rotateDeg(sp,ep){\r\n let t = this;\r\n let spLngLat = sp;\r\n if(Array.isArray(sp)){\r\n spLngLat = new BMap.Point(sp[0],sp[1]);\r\n }\r\n let s = t.state.gis.pointToPixel(spLngLat),\r\n //获取当前点位的经纬度\r\n e = t.state.gis.pointToPixel(new BMap.Point(ep[0],ep[1])),\r\n deg = 0;\r\n if(e.x != s.x){\r\n var tan = (e.y - s.y)/(e.x - s.x),\r\n atan = Math.atan(tan);\r\n deg = atan*360/(2*Math.PI);\r\n //degree correction;\r\n if(e.x < s.x){\r\n deg = -deg + 90 + 90;\r\n\r\n } else {\r\n deg = -deg;\r\n }\r\n deg = -deg;\r\n }else {\r\n var disy = e.y- s.y ;\r\n var bias = 0;\r\n if(disy > 0)\r\n bias=-1;\r\n else\r\n bias = 1;\r\n if(disy == 0)\r\n bias = 0; \r\n deg = -bias * 90;\r\n }\r\n return deg;\r\n }\r\n //处理线和面的 经纬度数据\r\n dealData(ms){\r\n //区别点和圆的经纬度数据处理\r\n let lnglatAry = [],_extent = {xmax: 0,xmin: 0,ymax: 0,ymin: 0},path=[];\r\n if('getPath' in ms){\r\n path = ms.getPath();\r\n path = path.map((item,index)=>{\r\n let lng = item.lng,lat = item.lat;\r\n if(lng > _extent.xmax){\r\n _extent.xmax = lng;\r\n }\r\n if(lng < _extent.xmin || _extent.xmin == 0){\r\n _extent.xmin = lng;\r\n }\r\n if(lat > _extent.ymax){\r\n _extent.ymax = lat;\r\n }\r\n if(lat < _extent.ymin || _extent.ymin == 0){\r\n _extent.ymin = lat;\r\n }\r\n lnglatAry.push({\r\n lngX: lng,\r\n latX: lat\r\n });\r\n return [lng,lat];\r\n })\r\n }\r\n return {lnglatAry,_extent,path};\r\n }\r\n //显示隐藏的图元\r\n showGraphicById (id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).show();\r\n }\r\n }\r\n //隐藏图元\r\n hideGraphicById(id){\r\n let t = this;\r\n if(t.GM.getGraphic(id)){\r\n t.GM.getGraphic(id).hide();\r\n }\r\n }\r\n //获取地图当前的位置状态信息\r\n getMapExtent() {\r\n let t = this;\r\n let nowBounds = t.state.gis.getBounds();\r\n let obj = {};\r\n obj.southWest = {\r\n lng : nowBounds.getSouthWest().lng,\r\n lat : nowBounds.getSouthWest().lat\r\n };\r\n obj.northEast = {\r\n lng : nowBounds.getNorthEast().lng,\r\n lat : nowBounds.getNorthEast().lat\r\n };\r\n obj.nowCenter = t.state.gis.getCenter();\r\n obj.zoom = t.state.gis.getZoom();\r\n obj.mapSize = t.state.gis.getSize();\r\n obj.radius = t.calculatePointsDistance([obj.nowCenter.lng,obj.nowCenter.lat],\r\n [obj.northEast.lng,obj.northEast.lat]);\r\n return obj;\r\n }\r\n //计算2点间距离 单位m 精确到2位小数\r\n calculatePointsDistance(fp,ep){\r\n return Math.round(this.state.gis.getDistance(new BMap.Point(fp[0], fp[1]), \r\n new BMap.Point(ep[0], ep[1]))*100)/100;\r\n }\r\n //计算多个点的距离(常用于线计算)\r\n calculateDistance(ps){\r\n let t = this,totalDistance = 0;\r\n if (ps.length < 0) {return false;}\r\n for(let i= 0 ; i< ps.length ; i++){\r\n if(i < ps.length-1){\r\n totalDistance += t.calculatePointsDistance(ps[i],ps[i+1]);\r\n }\r\n }\r\n return Math.round(totalDistance*100)/100;\r\n }\r\n //计算图元面积(面,圆)\r\n calculateArea(id){\r\n var t = this;\r\n return t.state.gis.calculateArea(t.getGraphic(id));\r\n }\r\n //对比对象数据是否相等\r\n deepEqual(a,b){\r\n return Immutable.is(Immutable.fromJS(a),Immutable.fromJS(b));\r\n }\r\n //数据解析(分析,新增,更新,删除对应的数据)\r\n dataMatch(oldData,newData,type){\r\n let onlyOldData = Set(oldData).subtract(Set(newData)).toJS();\r\n let onlyNewData = Set(newData).subtract(Set(oldData)).toJS();\r\n let onlyOldIDs = onlyOldData.map(item=>item[type]);\r\n let onlyNewIDs = onlyNewData.map(item=>item[type]);\r\n let updateDataIDs = Set(onlyOldIDs).intersect(Set(onlyNewIDs)).toJS();\r\n let updatedData = onlyNewData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\r\n let replacedData = onlyOldData.filter(item=> updateDataIDs.indexOf(item[type])>-1);\r\n let deletedDataIDs = onlyOldIDs.filter(oldID=>updateDataIDs.indexOf(oldID)==-1);\r\n let addedData = onlyNewData.filter(item=>updateDataIDs.indexOf(item[type])==-1)\r\n \r\n return {deletedDataIDs,addedData,updatedData,replacedData};\r\n }\r\n //处理需要增加图元的数据(避免意外问题)\r\n dealAdd(ary,ids){\r\n let ads = [], otherupds = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n if(ids.indexOf(ary[i].id) > -1){\r\n otherupds.push(ary[i]);\r\n }else{\r\n ads.push(ary[i]);\r\n }\r\n }\r\n return {ads,otherupds};\r\n }\r\n //处理需要更新图元的数据(避免意外问题)\r\n dealUpdate(ary,ids){\r\n let upds = [], otherads = [];\r\n for(let i = 0 ; i < ary.length ; i++){\r\n if(ids.indexOf(ary[i].id) > -1){\r\n upds.push(ary[i]);\r\n }else{\r\n otherads.push(ary[i]);\r\n }\r\n }\r\n return {upds,otherads};\r\n }\r\n // 信息窗口\r\n showInfoWindow(params){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.hideInfoWindow();\r\n }\r\n let poi = new BMap.Point(params.position[0], params.position[1]);\r\n t.popupWindow = new BMapLib.InfoBox(t.state.gis, params.content,{\r\n boxStyle: params.boxStyle,\r\n closeIconMargin: \"1px 1px 0 0\",\r\n enableAutoPan: true,\r\n align: 1,\r\n closeIconUrl: params.closeIconUrl || `${configUrl.mapServerURL}/images/close.png`,\r\n });\r\n let marker = new BMap.Marker(poi);\r\n t.popupWindow.open(marker);\r\n }\r\n // 框选\r\n frameSelect({geometryType,parameter={},data={}},callback){\r\n if(!['polygon','circle','rectangle'].includes(geometryType)){\r\n message.warn(\"传入的类型不支持框选!\")\r\n return false;\r\n }\r\n const t = this;\r\n let params = {},\r\n type = geometryType||'polygon',\r\n id= data.id || `frameSelectFeature_${Math.random()}`;\r\n\r\n params.color = parameter.color||'red';\r\n params.lineColor = parameter.lineColor||'red';\r\n params.lineOpacity = parameter.lineOpacity||1;\r\n params.lineWidth = parameter.lineWidth||2;\r\n params.pellucidity = parameter.pellucidity||0.6;\r\n params.lineType = parameter.lineType||'solid';\r\n\r\n t.draw({\r\n geometryType: type,\r\n parameter: {\r\n ...parameter,\r\n ...params\r\n },\r\n data:{\r\n id: id\r\n }\r\n });\r\n\r\n t.frameSelectProps[id] = {\r\n callback,\r\n id,\r\n type: geometryType\r\n } \r\n }\r\n // 清除框选\r\n clearFrameSelect(){\r\n for(let key in this.frameSelectProps){\r\n this.removeGraphic(this.frameSelectProps[key].id,this.frameSelectProps[key].type);\r\n }\r\n this.frameSelectProps = {};\r\n }\r\n // 清除框选ById\r\n clearFrameSelectById(id){\r\n let obj = this.frameSelectProps[id];\r\n this.removeGraphic(obj.id, obj.type);\r\n delete this.frameSelectProps[id];\r\n }\r\n // 关闭信息窗口\r\n hideInfoWindow(){\r\n const t = this;\r\n if(t.popupWindow){\r\n t.popupWindow.close();\r\n }\r\n t.popupWindow = null;\r\n }\r\n //百度搜索功能\r\n searchPoints(searchValue,pageSize=10,pageIndex=0){\r\n return new Promise((resolve)=>{\r\n let psc = new BMap.LocalSearch(this.state.gis,{\r\n onSearchComplete:(result)=>{\r\n if(!result){\r\n resolve([]);\r\n }\r\n else if(result.getPageIndex()!=pageIndex){\r\n psc.gotoPage(pageIndex);\r\n }\r\n else{\r\n let res_arr = [];\r\n for(let i=0,len=result.getCurrentNumPois();i<len;i++){\r\n res_arr.push(result.getPoi(i));\r\n }\r\n resolve(res_arr.map((r)=>({\r\n id: r.uid,\r\n longitude: r.point.lng,\r\n latitude: r.point.lat,\r\n canShowLabel: true,\r\n config: {\r\n labelContent: r.title,\r\n labelPixelY: 27\r\n },\r\n other: 'search'\r\n })));\r\n }\r\n // console.log(result,result.getNumPages(),result.getPageIndex()); \r\n },\r\n pageCapacity:pageSize\r\n });\r\n psc.search(searchValue); \r\n })\r\n }\r\n //初始化\r\n componentDidMount(){\r\n let t = this;\r\n t.loadMapComplete.then(()=>{\r\n t.init();\r\n }) \r\n }\r\n //重新渲染结束\r\n componentDidUpdate(prevProps, prevState) {}\r\n //已加载组件,收到新的参数时调用\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n let t = this;\r\n //点/线旧数据\r\n let {pointIds,lineIds,polygonIds,circleIds,drawIds} = t.state;\r\n let {point,polyline,polygon,circle,rectangle} = drawIds;\r\n //点/线新数据\r\n let {\r\n mapPoints = [],mapLines = [],mapPolygons = [],mapCircles = [],customizedBoundary =[],\r\n isOpenTrafficInfo,boundaryName,heatMapData,imageOverlays,\r\n mapVisiblePoints,setVisiblePoints,\r\n setCenter,mapCenter,\r\n setZoomLevel,mapZoomLevel,\r\n setCluster,mapCluster,\r\n isRangingTool,mapRangingTool,\r\n isRemove,mapRemove,\r\n mapDraw,isDraw,isCloseDraw,\r\n editGraphicId,isDoEdit,isEndEdit,\r\n mapPointCollection,isclearAllPointCollection,\r\n isSetAreaRestriction,areaRestriction,isClearAreaRestriction,\r\n isClearAll,mapStyle,coverageType,\r\n infoWindowData\r\n } = nextProps;\r\n let props = t.props;\r\n // 设置地图地图样式\r\n if(mapStyle && !t.deepEqual(mapStyle,props.mapStyle)){\r\n if(typeof(mapStyle) === 'string'){\r\n t.state.gis.setMapStyle({style:mapStyle});\r\n }\r\n if(mapStyle instanceof Array){\r\n t.state.gis.setMapStyle({styleJson:mapStyle});\r\n }\r\n }\r\n // 切换地图矢量图和卫星图背景\r\n if(coverageType && !t.deepEqual(coverageType,props.coverageType)){\r\n t.setMapType(coverageType);\r\n }\r\n // 等待地图加载\r\n if(!t.mapCreated)return;\r\n \r\n /*添加海量点*/\r\n if(mapPointCollection instanceof Array && props.mapPointCollection instanceof Array && !t.deepEqual(mapPointCollection,props.mapPointCollection)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.mapPointCollection,mapPointCollection,'id');\r\n t.clearPointCollection(deletedDataIDs);\r\n t.addPointCollection(addedData);\r\n t.updatePointCollection(updatedData);\r\n }\r\n if((typeof(isclearAllPointCollection) == 'boolean' && isclearAllPointCollection) || (isclearAllPointCollection && isclearAllPointCollection !== t.props.isclearAllPointCollection)){\r\n t.clearAllPointCollection();\r\n }\r\n /*点数据处理\r\n pointData[2]相同的点,执行刷新\r\n pointData[1]的数据在idsForGraphicId中不存在的,执行新增\r\n pointData[0]数据中多余的id,执行删除\r\n */\r\n if(mapPoints instanceof Array && props.mapPoints instanceof Array && !t.deepEqual(mapPoints,props.mapPoints)){\r\n let oldMapPoints = props.mapPoints;\r\n let newMapPoints = mapPoints;\r\n //过滤编辑的图元\r\n if(!!t.state.editId){\r\n oldMapPoints = props.mapPoints.filter((item)=>{return item.id !== editGraphicId});\r\n newMapPoints = mapPoints.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPoints,newMapPoints,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...pointIds,...point]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...pointIds,...point]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'point');\r\n }\r\n //增加\r\n t.addPoint([...ads,...otherads]);\r\n //更新\r\n t.updatePoint([...upds,...otherupds]);\r\n }\r\n /*\r\n 面数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapPolygons instanceof Array && props.mapPolygons instanceof Array && !t.deepEqual(mapPolygons,props.mapPolygons)){\r\n let oldMapPolygons = props.mapPolygons;\r\n let newMapPolygons = mapPolygons;\r\n if(!!t.state.editId){\r\n oldMapPolygons = props.mapPolygons.filter((item)=>{return item.id !== editGraphicId});\r\n newMapPolygons = mapPolygons.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapPolygons,newMapPolygons,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...rectangle,...polygon,...polygonIds]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...rectangle,...polygon,...polygonIds]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'polygon');\r\n }\r\n //增加\r\n t.addPolygon([...ads,...otherads]);\r\n //更新\r\n t.updatePolygon([...upds,...otherupds]);\r\n }\r\n /*\r\n 圆数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapCircles instanceof Array && props.mapCircles instanceof Array && !t.deepEqual(mapCircles,props.mapCircles)){\r\n let oldMapCircles = props.mapCircles;\r\n let newMapCircles = mapCircles;\r\n if(!!t.state.editId){\r\n oldMapCircles = props.mapCircles.filter((item)=>{return item.id !== editGraphicId});\r\n newMapCircles = mapCircles.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapCircles,newMapCircles,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...circleIds,...circle]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...circleIds,...circle]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'circle');\r\n }\r\n //增加\r\n t.addCircle([...ads,...otherads]);\r\n //更新\r\n t.updateCircle([...upds,...otherupds]);\r\n }\r\n /*\r\n 线数据处理\r\n 先全删除,再新增\r\n */\r\n if(mapLines instanceof Array && props.mapLines instanceof Array && !t.deepEqual(mapLines,props.mapLines)){\r\n let oldMapLines = props.mapLines;\r\n let newMapLines = mapLines;\r\n if(!!t.state.editId){\r\n oldMapLines = props.mapLines.filter((item)=>{return item.id !== editGraphicId});\r\n newMapLines = mapLines.filter((item)=>{return item.id !== editGraphicId});\r\n }\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(oldMapLines,newMapLines,'id');\r\n let {ads,otherupds} = t.dealAdd(addedData,[...lineIds,...polyline]);\r\n let {upds,otherads} = t.dealUpdate(updatedData,[...lineIds,...polyline]);\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'line');\r\n }\r\n //增加\r\n t.addLine([...ads,...otherads]);\r\n //更新\r\n t.updateLine([...upds,...otherupds]); \r\n }\r\n //画其他特例线专用\r\n if(customizedBoundary instanceof Array && props.customizedBoundary instanceof Array && !t.deepEqual(customizedBoundary,props.customizedBoundary)){\r\n let {deletedDataIDs,addedData,updatedData} = t.dataMatch(props.customizedBoundary,customizedBoundary,'id');\r\n //删在增之前,(因为增加后会刷新pointIds的值,造成多删的问题)\r\n for(let id of deletedDataIDs){\r\n t.removeGraphic(id,'line');\r\n }\r\n t.addLine(addedData);\r\n t.updateLine(updatedData); \r\n }\r\n //绘制边界线\r\n if(boundaryName instanceof Array && props.boundaryName instanceof Array && !t.deepEqual(boundaryName,props.boundaryName)){\r\n let newBDName = Set(boundaryName);\r\n let oldBDName = Set(props.boundaryName);\r\n let removedBoundaryName = oldBDName.subtract(newBDName).toJS();\r\n let addedBoundaryName = newBDName.subtract(oldBDName).toJS();\r\n t.removeBaiduBoundary(removedBoundaryName);\r\n t.addBaiduBoundary(addedBoundaryName);\r\n }\r\n // 获取热力图\r\n if(heatMapData && !t.deepEqual(heatMapData,props.heatMapData)){\r\n t.heatMapOverlay(heatMapData);\r\n }\r\n // 打开信息窗体\r\n if(infoWindowData && !t.deepEqual(infoWindowData,props.infoWindowData)){\r\n t.infoWindow(infoWindowData);\r\n }\r\n //添加图片图层\r\n if(imageOverlays instanceof Array && props.imageOverlays instanceof Array && !t.deepEqual(imageOverlays,props.imageOverlays)){\r\n t.imageUrlOverlay(imageOverlays);\r\n }\r\n //图元编辑调用\r\n if((typeof(isDoEdit) == 'boolean' && isDoEdit) || (isDoEdit && isDoEdit !== t.props.isDoEdit)){\r\n t.doEdit(editGraphicId);\r\n }\r\n //关闭图元编辑\r\n if((typeof(isEndEdit) == 'boolean' && isEndEdit) || (isEndEdit && isEndEdit !== t.props.isEndEdit)){\r\n t.endEdit();\r\n }\r\n //开启图元绘制\r\n if((typeof(isDraw) == 'boolean' && isDraw) || (isDraw && isDraw !== t.props.isDraw)){\r\n t.draw(mapDraw);\r\n }\r\n //关闭图元绘制\r\n if((typeof(isCloseDraw) == 'boolean' && isCloseDraw) || (isCloseDraw && isCloseDraw !== t.props.isCloseDraw)){\r\n t.closeDraw();\r\n }\r\n //设置中心点\r\n if((typeof(setCenter) == 'boolean' && setCenter) || (setCenter && setCenter !== t.props.setCenter)){\r\n t.setCenter(mapCenter);\r\n }\r\n //设置点聚合\r\n if((typeof(setCluster) == 'boolean' && setCluster) || (setCluster && setCluster !== t.props.setCluster)){\r\n t.cluster(mapCluster);\r\n }\r\n // 清除聚合\r\n if(!setCluster && setCluster !== t.props.setCluster){\r\n t.removeCluster(mapCluster);\r\n }\r\n //设置比例尺\r\n if((typeof(setZoomLevel) == 'boolean' && setZoomLevel) || (setZoomLevel && setZoomLevel !== t.props.setZoomLevel)){\r\n t.setZoomLevel(mapZoomLevel);\r\n }\r\n //设置最优视野\r\n if((typeof(setVisiblePoints) == 'boolean' && setVisiblePoints) || (setVisiblePoints && setVisiblePoints !== t.props.setVisiblePoints)){\r\n t.setVisiblePoints(mapVisiblePoints);\r\n }\r\n //测距工具调用\r\n if((typeof(isRangingTool) == 'boolean' && isRangingTool) || (isRangingTool && isRangingTool !== t.props.isRangingTool)){\r\n t.vtxRangingTool(mapRangingTool);\r\n }\r\n //开关路况\r\n if(isOpenTrafficInfo){\r\n t.openTrafficInfo();\r\n }else{\r\n t.hideTrafficInfo();\r\n }\r\n //设置区域限制\r\n if((typeof(isSetAreaRestriction) == 'boolean' && isSetAreaRestriction) \r\n || (isSetAreaRestriction && isSetAreaRestriction !== t.props.isSetAreaRestriction) \r\n && areaRestriction && !!areaRestriction[0] && !!areaRestriction[1]){\r\n t.setAreaRestriction(areaRestriction);\r\n }\r\n //关闭区域限制\r\n if((typeof(isClearAreaRestriction) == 'boolean' && isClearAreaRestriction) || (isClearAreaRestriction && isClearAreaRestriction !== t.props.isClearAreaRestriction)){\r\n t.clearAreaRestriction();\r\n }\r\n //清空地图\r\n if((typeof(isClearAll) == 'boolean' && isClearAll) || (isClearAll && isClearAll !== t.props.isClearAll)){\r\n t.clearAll();\r\n }\r\n //删除指定图元\r\n if((typeof(isRemove) == 'boolean' && isRemove) || (isRemove && isRemove !== t.props.isRemove)){\r\n mapRemove.map((item,index)=>{\r\n t.removeGraphic(item.id,item.type);\r\n });\r\n }\r\n // 比例尺控件位置改变\r\n if(nextProps.showControl && JSON.stringify(nextProps.showControl)!=JSON.stringify(t.props.showControl)){\r\n t.showControl(nextProps);\r\n }\r\n // 比例尺移除\r\n if(!nextProps.showControl) {\r\n t.removeControl();\r\n }\r\n // 地图类型控件位置改变\r\n if(nextProps.satelliteSwitch && JSON.stringify(nextProps.satelliteSwitch)!=JSON.stringify(t.props.satelliteSwitch)){\r\n t.showMapTypeControl(nextProps);\r\n }\r\n }\r\n // 初始化对外方法\r\n initPropsForUser(){\r\n const t = this;\r\n // t.state.gis[\"getCenter\"] = () => {\r\n // return t.getCurrentCenter();\r\n // }\r\n t.state.gis[\"setMapCenter\"] = (gt) => {\r\n t.setCenter(gt);\r\n }\r\n t.state.gis[\"getZoomLevel\"] = () => {\r\n return t.getZoomLevel();\r\n }\r\n t.state.gis[\"showInfoWindow\"] = (obj) => {\r\n return t.showInfoWindow(obj);\r\n }\r\n t.state.gis[\"hideInfoWindow\"] = () => {\r\n return t.hideInfoWindow();\r\n }\r\n t.state.gis[\"frameSelect\"] = (obj={},callback) => {\r\n return t.frameSelect(obj,callback);\r\n }\r\n t.state.gis[\"clearFrameSelect\"] = () => {\r\n return t.clearFrameSelect();\r\n }\r\n t.state.gis[\"clearFrameSelectById\"] = (id) => {\r\n return t.clearFrameSelectById(id);\r\n }\r\n t.state.gis[\"refresh\"] = () => {\r\n t.refresh();\r\n }\r\n }\r\n componentWillUnmount() {\r\n //关闭moveTo定时\r\n let t = this;\r\n if(t.state.gis){\r\n t.state.gis.clearOverlays();\r\n }\r\n t.state.gis = null;\r\n if(t.moveToTimer){\r\n clearInterval(t.moveToTimer);\r\n }\r\n window.VtxMap && (window.VtxMap[t.state.mapId]= null);\r\n }\r\n}\r\n\r\nexport default BaiduMap;\r\n"],"mappings":"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"}