@cloudcare/browser-core 3.0.23 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/browser/addEventListener.js +11 -14
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/cookie.js +3 -14
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.js +8 -23
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/htmlDomUtils.js +3 -9
- package/cjs/browser/htmlDomUtils.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +3 -9
- package/cjs/browser/pageExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.js +2 -4
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/scroll.js +32 -0
- package/cjs/browser/scroll.js.map +1 -0
- package/cjs/browser/xhrObservable.js +2 -21
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/configuration/configuration.js +9 -20
- package/cjs/configuration/configuration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +6 -20
- package/cjs/configuration/transportConfiguration.js.map +1 -0
- package/cjs/console/consoleObservable.js +7 -21
- package/cjs/console/consoleObservable.js.map +1 -0
- package/cjs/dataMap.js +24 -10
- package/cjs/dataMap.js.map +1 -0
- package/cjs/error/trackRuntimeError.js +3 -7
- package/cjs/error/trackRuntimeError.js.map +1 -0
- package/cjs/helper/boundedBuffer.js +2 -6
- package/cjs/helper/boundedBuffer.js.map +1 -0
- package/cjs/helper/byteUtils.js +6 -16
- package/cjs/helper/byteUtils.js.map +1 -0
- package/cjs/helper/catchUserErrors.js +2 -4
- package/cjs/helper/catchUserErrors.js.map +1 -0
- package/cjs/helper/contextHistory.js +21 -37
- package/cjs/helper/contextHistory.js.map +1 -0
- package/cjs/helper/createEventRateLimiter.js +2 -10
- package/cjs/helper/createEventRateLimiter.js.map +1 -0
- package/cjs/helper/deviceInfo.js +10 -64
- package/cjs/helper/deviceInfo.js.map +1 -0
- package/cjs/helper/display.js +2 -5
- package/cjs/helper/display.js.map +1 -0
- package/cjs/helper/enums.js +8 -2
- package/cjs/helper/enums.js.map +1 -0
- package/cjs/helper/errorTools.js +38 -40
- package/cjs/helper/errorTools.js.map +1 -0
- package/cjs/helper/eventEmitter.js +2 -6
- package/cjs/helper/eventEmitter.js.map +1 -0
- package/cjs/helper/getZoneJsOriginalValue.js +2 -5
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/helper/instrumentMethod.js +11 -21
- package/cjs/helper/instrumentMethod.js.map +1 -0
- package/cjs/helper/lifeCycle.js +2 -9
- package/cjs/helper/lifeCycle.js.map +1 -0
- package/cjs/helper/limitModification.js +4 -22
- package/cjs/helper/limitModification.js.map +1 -0
- package/cjs/helper/mobileUtil.js +2 -20
- package/cjs/helper/mobileUtil.js.map +1 -0
- package/cjs/helper/monitor.js +50 -0
- package/cjs/helper/monitor.js.map +1 -0
- package/cjs/helper/observable.js +2 -9
- package/cjs/helper/observable.js.map +1 -0
- package/cjs/helper/readBytesFromStream.js +8 -16
- package/cjs/helper/readBytesFromStream.js.map +1 -0
- package/cjs/helper/sanitize.js +38 -61
- package/cjs/helper/sanitize.js.map +1 -0
- package/cjs/helper/serialisation/contextManager.js +5 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -0
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/cjs/helper/serialisation/jsonStringify.js +6 -12
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
- package/cjs/helper/serialisation/rowData.js +3 -10
- package/cjs/helper/serialisation/rowData.js.map +1 -0
- package/cjs/helper/timer.js +5 -9
- package/cjs/helper/timer.js.map +1 -0
- package/cjs/helper/tools.js +58 -463
- package/cjs/helper/tools.js.map +1 -0
- package/cjs/helper/urlPolyfill.js +5 -18
- package/cjs/helper/urlPolyfill.js.map +1 -0
- package/cjs/index.js +35 -93
- package/cjs/index.js.map +1 -0
- package/cjs/init.js +24 -36
- package/cjs/init.js.map +1 -0
- package/cjs/report/reportObservable.js +8 -26
- package/cjs/report/reportObservable.js.map +1 -0
- package/cjs/session/sessionConstants.js +2 -3
- package/cjs/session/sessionConstants.js.map +1 -0
- package/cjs/session/sessionCookieStore.js +11 -46
- package/cjs/session/sessionCookieStore.js.map +1 -0
- package/cjs/session/sessionManagement.js +2 -19
- package/cjs/session/sessionManagement.js.map +1 -0
- package/cjs/session/sessionStore.js +3 -28
- package/cjs/session/sessionStore.js.map +1 -0
- package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/synthetics/usr.js +2 -8
- package/cjs/synthetics/usr.js.map +1 -0
- package/cjs/telemetry/telemetry.js +125 -0
- package/cjs/telemetry/telemetry.js.map +1 -0
- package/cjs/telemetry/types.js +17 -0
- package/cjs/telemetry/types.js.map +1 -0
- package/cjs/tracekit/computeStackTrace.js +4 -34
- package/cjs/tracekit/computeStackTrace.js.map +1 -0
- package/cjs/tracekit/index.js +2 -3
- package/cjs/tracekit/index.js.map +1 -0
- package/cjs/tracekit/tracekit.js +3 -18
- package/cjs/tracekit/tracekit.js.map +1 -0
- package/cjs/transport/batch.js +7 -56
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.js +2 -7
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.js +8 -21
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.js +8 -20
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.js +2 -6
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +4 -23
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/cjs/transport/startBatchWithReplica.js +2 -7
- package/cjs/transport/startBatchWithReplica.js.map +1 -0
- package/cjs/user/index.js +2 -3
- package/cjs/user/index.js.map +1 -0
- package/cjs/user/user.js +3 -8
- package/cjs/user/user.js.map +1 -0
- package/cjs/worker.js +2 -2
- package/cjs/worker.js.map +1 -0
- package/esm/browser/addEventListener.js +11 -10
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/cookie.js +3 -6
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.js +8 -17
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/htmlDomUtils.js +3 -2
- package/esm/browser/htmlDomUtils.js.map +1 -0
- package/esm/browser/pageExitObservable.js +3 -2
- package/esm/browser/pageExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.js +2 -1
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/scroll.js +25 -0
- package/esm/browser/scroll.js.map +1 -0
- package/esm/browser/xhrObservable.js +2 -14
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/configuration/configuration.js +9 -9
- package/esm/configuration/configuration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +6 -17
- package/esm/configuration/transportConfiguration.js.map +1 -0
- package/esm/console/consoleObservable.js +7 -12
- package/esm/console/consoleObservable.js.map +1 -0
- package/esm/dataMap.js +24 -8
- package/esm/dataMap.js.map +1 -0
- package/esm/error/trackRuntimeError.js +4 -3
- package/esm/error/trackRuntimeError.js.map +1 -0
- package/esm/helper/boundedBuffer.js +2 -4
- package/esm/helper/boundedBuffer.js.map +1 -0
- package/esm/helper/byteUtils.js +6 -13
- package/esm/helper/byteUtils.js.map +1 -0
- package/esm/helper/catchUserErrors.js +2 -2
- package/esm/helper/catchUserErrors.js.map +1 -0
- package/esm/helper/contextHistory.js +21 -33
- package/esm/helper/contextHistory.js.map +1 -0
- package/esm/helper/createEventRateLimiter.js +2 -6
- package/esm/helper/createEventRateLimiter.js.map +1 -0
- package/esm/helper/deviceInfo.js +10 -62
- package/esm/helper/deviceInfo.js.map +1 -0
- package/esm/helper/display.js +2 -3
- package/esm/helper/display.js.map +1 -0
- package/esm/helper/enums.js +6 -1
- package/esm/helper/enums.js.map +1 -0
- package/esm/helper/errorTools.js +36 -28
- package/esm/helper/errorTools.js.map +1 -0
- package/esm/helper/eventEmitter.js +2 -5
- package/esm/helper/eventEmitter.js.map +1 -0
- package/esm/helper/getZoneJsOriginalValue.js +2 -4
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
- package/esm/helper/instrumentMethod.js +11 -16
- package/esm/helper/instrumentMethod.js.map +1 -0
- package/esm/helper/lifeCycle.js +2 -5
- package/esm/helper/lifeCycle.js.map +1 -0
- package/esm/helper/limitModification.js +5 -20
- package/esm/helper/limitModification.js.map +1 -0
- package/esm/helper/mobileUtil.js +2 -16
- package/esm/helper/mobileUtil.js.map +1 -0
- package/esm/helper/monitor.js +39 -0
- package/esm/helper/monitor.js.map +1 -0
- package/esm/helper/observable.js +2 -7
- package/esm/helper/observable.js.map +1 -0
- package/esm/helper/readBytesFromStream.js +8 -15
- package/esm/helper/readBytesFromStream.js.map +1 -0
- package/esm/helper/sanitize.js +40 -57
- package/esm/helper/sanitize.js.map +1 -0
- package/esm/helper/serialisation/contextManager.js +5 -9
- package/esm/helper/serialisation/contextManager.js.map +1 -0
- package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
- package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/esm/helper/serialisation/jsonStringify.js +7 -10
- package/esm/helper/serialisation/jsonStringify.js.map +1 -0
- package/esm/helper/serialisation/rowData.js +3 -4
- package/esm/helper/serialisation/rowData.js.map +1 -0
- package/esm/helper/timer.js +5 -3
- package/esm/helper/timer.js.map +1 -0
- package/esm/helper/tools.js +58 -273
- package/esm/helper/tools.js.map +1 -0
- package/esm/helper/urlPolyfill.js +5 -9
- package/esm/helper/urlPolyfill.js.map +1 -0
- package/esm/index.js +5 -1
- package/esm/index.js.map +1 -0
- package/esm/init.js +25 -31
- package/esm/init.js.map +1 -0
- package/esm/report/reportObservable.js +8 -19
- package/esm/report/reportObservable.js.map +1 -0
- package/esm/session/sessionConstants.js +2 -1
- package/esm/session/sessionConstants.js.map +1 -0
- package/esm/session/sessionCookieStore.js +11 -38
- package/esm/session/sessionCookieStore.js.map +1 -0
- package/esm/session/sessionManagement.js +2 -8
- package/esm/session/sessionManagement.js.map +1 -0
- package/esm/session/sessionStore.js +4 -22
- package/esm/session/sessionStore.js.map +1 -0
- package/esm/synthetics/syntheticsWorkerValues.js +2 -1
- package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/synthetics/usr.js +2 -3
- package/esm/synthetics/usr.js.map +1 -0
- package/esm/telemetry/telemetry.js +111 -0
- package/esm/telemetry/telemetry.js.map +1 -0
- package/esm/telemetry/types.js +9 -0
- package/esm/telemetry/types.js.map +1 -0
- package/esm/tracekit/computeStackTrace.js +4 -31
- package/esm/tracekit/computeStackTrace.js.map +1 -0
- package/esm/tracekit/index.js +2 -1
- package/esm/tracekit/index.js.map +1 -0
- package/esm/tracekit/tracekit.js +5 -14
- package/esm/tracekit/tracekit.js.map +1 -0
- package/esm/transport/batch.js +9 -47
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.js +2 -5
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.js +11 -20
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.js +8 -18
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.js +2 -1
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.js +4 -17
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/transport/startBatchWithReplica.js +2 -3
- package/esm/transport/startBatchWithReplica.js.map +1 -0
- package/esm/user/index.js.map +1 -0
- package/esm/user/user.js +4 -5
- package/esm/user/user.js.map +1 -0
- package/esm/worker.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/addEventListener.js +8 -7
- package/src/browser/fetchObservable.js +12 -3
- package/src/browser/scroll.js +25 -0
- package/src/configuration/configuration.js +16 -0
- package/src/configuration/transportConfiguration.js +2 -2
- package/src/console/consoleObservable.js +4 -2
- package/src/dataMap.js +17 -3
- package/src/error/trackRuntimeError.js +2 -2
- package/src/helper/contextHistory.js +3 -3
- package/src/helper/enums.js +4 -0
- package/src/helper/errorTools.js +55 -24
- package/src/helper/instrumentMethod.js +5 -2
- package/src/helper/monitor.js +44 -0
- package/src/helper/observable.js +10 -8
- package/src/helper/readBytesFromStream.js +5 -5
- package/src/helper/timer.js +3 -3
- package/src/helper/tools.js +2 -17
- package/src/index.js +4 -0
- package/src/init.js +19 -21
- package/src/report/reportObservable.js +6 -5
- package/src/telemetry/telemetry.js +164 -0
- package/src/telemetry/types.js +9 -0
- package/src/transport/batch.js +4 -4
- package/src/transport/httpRequest.js +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","names":["_display","require","_timer","_typeof","obj","Symbol","iterator","constructor","prototype","ArrayProto","Array","FuncProto","Function","ObjProto","Object","slice","toString","hasOwnProperty","nativeForEach","forEach","nativeIsArray","isArray","breaker","each","context","length","i","l","call","key","exports","assign","target","arguments","source","prop","shallowClone","object","extend","extend2Lev","isObject","coverExtend","isFunction","f","test","err","isArguments","toArray","iterable","values","results","value","keys","indexOf","arr","hasAttribute","ele","attr","attributes","specified","filter","fn","self","ret","val","push","map","some","flag","every","matchList","list","useStartsWith","undefined","item","RegExp","startsWith","e","display","error","cssEscape","str","window","CSS","escape","replace","ch","asCodePoint","charCodeAt","inherit","subclass","superclass","F","tirm","isEmptyObject","objectEntries","res","isUndefined","isString","isDate","isBoolean","isNumber","String","isElement","nodeType","isJSONString","JSON","parse","safeJSONParse","decodeURIComponent","result","encodeDates","v","k","formatDate","mediaQueriesSupported","matchMedia","msMatchMedia","getScreenOrientation","screenOrientationAPI","screen","msOrientation","mozOrientation","orientation","type","screenOrientation","matchMediaFunc","matches","now","Date","getTime","throttle","wait","options","needLeadingExecution","leading","needTrailingExecution","trailing","inWaitPeriod","pendingExecutionWithParameters","pendingTimeoutId","throttled","apply","setTimeout","cancel","clearTimeout","hashCode","hash","char","d","pad","n","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","searchObjDate","o","a","b","formatJsonString","stringify","searchObjString","formatString","unique","ar","temp","strip_empty_properties","p","utf8Encode","string","utftext","start","end","stringl","c1","enc","fromCharCode","substring","base64Encode","data","btoa","encodeURIComponent","match","p1","b64","o1","o2","o3","h1","h2","h3","h4","bits","ac","tmp_arr","charAt","join","UUID","placeholder","parseInt","Math","random","concat","replaceNumberCharByPath","path","pathGroup","getQueryParam","url","param","regexS","regex","exec","urlParse","para","URLParser","_fields","Username","Password","Port","Protocol","Host","Path","URL","QueryString","Fragment","_values","_regex","_parse","setUrl","_initValues","addQueryString","queryObj","query","getParse","getUrl","Origin","c","elementMatches","element","selector","msMatchesSelector","cookie","get","name","nameEQ","ca","document","split","set","days","is_secure","cdomain","expires","secure","date","setTime","Number","toGMTString","remove","localStorage","getItem","storedValue","sd","log","setItem","removeItem","isSupport","supported","sessionStorage","isSupportCors","XMLHttpRequest","XDomainRequest","xhr","cors","ActiveXObject","console","ajax","timeout","credentials","getJSON","g","success","abort","e2","onreadystatechange","readyState","status","responseText","onload","open","withCredentials","header","setRequestHeader","contentType","send","loadScript","appendCall","getElementsByTagName","appendChild","createElement","rel","href","async","setAttribute","src","onerror","getHostname","defaultValue","hostname","getQueryParamsFromUrl","queryString","getURLSearchParams","decodeParam","args","pairs","pos","createCircularReferenceChecker","WeakSet","hasAlreadyBeenSeen","has","add","array","getType","mergeInto","destination","circularReferenceChecker","flags","global","ignoreCase","multiline","sticky","unicode","merged","deepClone","_URL","basicProps","isURLAPIWorking","searchParams","params","search","searchParam","link","pathname","getCurrentDomain","cookieTopLevelDomain","getCookieTopLevelDomain","location","splitResult","domainStr","splice","strToUnicode","nstr","autoExeQueue","queue","items","enqueue","dequeue","shift","getCurrentItem","isRun","close","strip_sa_properties","arrv","searchConfigData","$option","data_config","stringSplice","sp","ps","pe","getStatusGroup","substr","getReferrer","ref","referrer","toLowerCase","re","typeDecide","noop","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","performDraw","threshold","round","num","decimals","toFixed","msToNs","duration","mapValues","newObject","toServerDuration","getRelativeTime","timestamp","getNavigationStart","preferredNow","relativeNow","getTimestamp","relativeTime","performance","clocksNow","relative","timeStamp","timeStampNow","dateNow","looksLikeRelativeTime","time","elapsed","clocksOrigin","preferredClock","clocks","preferredTimeStamp","relativeToClocks","getCorrectedTimeStamp","currentDrift","addDuration","correctedOrigin","navigationStart","timing","findCommaSeparatedValue","rawString","findByPath","pathArr","safeTruncate","candidate","lastChar","isMatchOption","itemType","includes","find","predicate","arrayFrom","arrayLike","from","Set","findLast","isPercentage","getLocationOrigin","getLinkElementOrigin","isIE","Boolean","documentMode","isChromium","chrome","navigator","userAgent","origin","sanitizedHost","host","protocol","withSnakeCaseKeys","toSnakeCase","deepSnakeCase","word","uppercaseLetter","index","isNullUndefinedDefaultValue","objectHasValue","endsWith","tryToClone","response","clone","isHashAnAnchor","correspondingId","getElementById","getPathFromHash"],"sources":["../../src/helper/tools.js"],"sourcesContent":["import { display } from './display'\nimport { setTimeout, clearTimeout } from './timer'\nvar ArrayProto = Array.prototype\nvar FuncProto = Function.prototype\nvar ObjProto = Object.prototype\nvar slice = ArrayProto.slice\nvar toString = ObjProto.toString\nvar hasOwnProperty = ObjProto.hasOwnProperty\nvar nativeForEach = ArrayProto.forEach\nvar nativeIsArray = Array.isArray\nvar breaker = false\nexport var each = function (obj, iterator, context) {\n if (obj === null) return false\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context)\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) {\n return false\n }\n }\n } else {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) {\n return false\n }\n }\n }\n }\n}\nexport function assign(target) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\n target[prop] = source[prop]\n }\n }\n })\n return target\n}\n\nexport function shallowClone(object) {\n return assign({}, object)\n}\nexport var extend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var extend2Lev = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n if (isObject(source[prop]) && isObject(obj[prop])) {\n extend(obj[prop], source[prop])\n } else {\n obj[prop] = source[prop]\n }\n }\n }\n })\n return obj\n}\nexport var coverExtend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0 && obj[prop] === void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var isArray =\n nativeIsArray ||\n function (obj) {\n return toString.call(obj) === '[object Array]'\n }\nexport var isFunction = function (f) {\n if (!f) {\n return false\n }\n try {\n return /^\\s*\\bfunction\\b/.test(f)\n } catch (err) {\n return false\n }\n}\nexport var isArguments = function (obj) {\n return !!(obj && hasOwnProperty.call(obj, 'callee'))\n}\nexport var toArray = function (iterable) {\n if (!iterable) return []\n if (iterable.toArray) {\n return iterable.toArray()\n }\n if (isArray(iterable)) {\n return slice.call(iterable)\n }\n if (isArguments(iterable)) {\n return slice.call(iterable)\n }\n return values(iterable)\n}\nexport var values = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value) {\n results[results.length] = value\n })\n return results\n}\nexport var keys = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value, key) {\n results[results.length] = key\n })\n return results\n}\nexport var indexOf = function (arr, target) {\n var indexOf = arr.indexOf\n if (indexOf) {\n return indexOf.call(arr, target)\n } else {\n for (var i = 0; i < arr.length; i++) {\n if (target === arr[i]) {\n return i\n }\n }\n return -1\n }\n}\nexport var hasAttribute = function (ele, attr) {\n if (ele.hasAttribute) {\n return ele.hasAttribute(attr)\n } else {\n return !!(ele.attributes[attr] && ele.attributes[attr].specified)\n }\n}\nexport var filter = function (arr, fn, self) {\n if (arr.filter) {\n return arr.filter(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n ret.push(val)\n }\n }\n return ret\n}\nexport var map = function (arr, fn, self) {\n if (arr.map) {\n return arr.map(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n ret.push(fn.call(self, val, i, arr))\n }\n return ret\n}\nexport var some = function (arr, fn, self) {\n if (arr.some) {\n return arr.some(fn)\n }\n var flag = false\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n flag = true\n break\n }\n }\n return flag\n}\nexport var every = function (arr, fn, self) {\n if (arr.every) {\n return arr.every(fn)\n }\n var flag = true\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (!fn.call(self, val, i, arr)) {\n flag = false\n break\n }\n }\n return flag\n}\nexport var matchList = function (list, value, useStartsWith) {\n if (useStartsWith === undefined) {\n useStartsWith = false\n }\n return some(list, function (item) {\n try {\n if (typeof item === 'function') {\n return item(value)\n } else if (item instanceof RegExp) {\n return item.test(value)\n } else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value\n }\n } catch (e) {\n display.error(e)\n }\n })\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport var cssEscape = function (str) {\n str = str + ''\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str)\n }\n\n // eslint-disable-next-line no-control-regex\n return str.replace(\n /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,\n function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD'\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return (\n ch.slice(0, -1) +\n '\\\\' +\n ch.charCodeAt(ch.length - 1).toString(16) +\n ' '\n )\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return '\\\\' + ch\n }\n )\n}\nexport var inherit = function (subclass, superclass) {\n var F = function () {}\n F.prototype = superclass.prototype\n subclass.prototype = new F()\n subclass.prototype.constructor = subclass\n subclass.superclass = superclass.prototype\n return subclass\n}\nexport var tirm = function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n}\nexport var isObject = function (obj) {\n if (obj === null) return false\n return toString.call(obj) === '[object Object]'\n}\n\nexport var isEmptyObject = function (obj) {\n if (isObject(obj)) {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n return false\n }\n }\n return true\n } else {\n return false\n }\n}\nexport var objectEntries = function (object) {\n var res = []\n each(object, function (value, key) {\n res.push([key, value])\n })\n return res\n}\nexport var isUndefined = function (obj) {\n return obj === void 0\n}\nexport var isString = function (obj) {\n return toString.call(obj) === '[object String]'\n}\nexport var isDate = function (obj) {\n return toString.call(obj) === '[object Date]'\n}\nexport var isBoolean = function (obj) {\n return toString.call(obj) === '[object Boolean]'\n}\nexport var isNumber = function (obj) {\n return toString.call(obj) === '[object Number]' && /[\\d\\.]+/.test(String(obj))\n}\nexport var isElement = function (obj) {\n return !!(obj && obj.nodeType === 1)\n}\nexport var isJSONString = function (str) {\n try {\n JSON.parse(str)\n } catch (e) {\n return false\n }\n return true\n}\nexport var safeJSONParse = function (str) {\n var val = null\n try {\n val = JSON.parse(str)\n } catch (e) {\n return false\n }\n return val\n}\nexport var decodeURIComponent = function (val) {\n var result = val\n try {\n result = decodeURIComponent(val)\n } catch (error) {\n result = val\n }\n return result\n}\nexport var encodeDates = function (obj) {\n each(obj, function (v, k) {\n if (isDate(v)) {\n obj[k] = formatDate(v)\n } else if (isObject(v)) {\n obj[k] = encodeDates(v)\n }\n })\n return obj\n}\nexport var mediaQueriesSupported = function () {\n return (\n typeof window.matchMedia !== 'undefined' ||\n typeof window.msMatchMedia !== 'undefined'\n )\n}\nexport var getScreenOrientation = function () {\n var screenOrientationAPI =\n screen.msOrientation ||\n screen.mozOrientation ||\n (screen.orientation || {}).type\n var screenOrientation = '未取到值'\n if (screenOrientationAPI) {\n screenOrientation =\n screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait'\n } else if (mediaQueriesSupported()) {\n var matchMediaFunc = window.matchMedia || window.msMatchMedia\n if (matchMediaFunc('(orientation: landscape)').matches) {\n screenOrientation = 'landscape'\n } else if (matchMediaFunc('(orientation: portrait)').matches) {\n screenOrientation = 'portrait'\n }\n }\n return screenOrientation\n}\nexport var now =\n Date.now ||\n function () {\n return new Date().getTime()\n }\n\nexport var throttle = function (fn, wait, options) {\n var needLeadingExecution =\n options && options.leading !== undefined ? options.leading : true\n var needTrailingExecution =\n options && options.trailing !== undefined ? options.trailing : true\n let inWaitPeriod = false\n let pendingExecutionWithParameters\n let pendingTimeoutId\n var context = this\n return {\n throttled: function () {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = arguments\n return\n }\n\n if (needLeadingExecution) {\n fn.apply(context, arguments)\n } else {\n pendingExecutionWithParameters = arguments\n }\n inWaitPeriod = true\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(context, pendingExecutionWithParameters)\n }\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }, wait)\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId)\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }\n }\n}\nexport var hashCode = function (str) {\n if (typeof str !== 'string') {\n return 0\n }\n var hash = 0\n var char = null\n if (str.length == 0) {\n return hash\n }\n for (var i = 0; i < str.length; i++) {\n char = str.charCodeAt(i)\n hash = (hash << 5) - hash + char\n hash = hash & hash\n }\n return hash\n}\nexport var formatDate = function (d) {\n function pad(n) {\n return n < 10 ? '0' + n : n\n }\n\n return (\n d.getFullYear() +\n '-' +\n pad(d.getMonth() + 1) +\n '-' +\n pad(d.getDate()) +\n ' ' +\n pad(d.getHours()) +\n ':' +\n pad(d.getMinutes()) +\n ':' +\n pad(d.getSeconds()) +\n '.' +\n pad(d.getMilliseconds())\n )\n}\nexport var searchObjDate = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjDate(o[b])\n } else {\n if (isDate(a)) {\n o[b] = formatDate(a)\n }\n }\n })\n }\n}\nexport var formatJsonString = function (obj) {\n try {\n return JSON.stringify(obj, null, ' ')\n } catch (e) {\n return JSON.stringify(obj)\n }\n}\n// export var formatString = function (str) {\n// if (str.length > MAX_STRING_LENGTH) {\n// sd.log('字符串长度超过限制,已经做截取--' + str)\n// return str.slice(0, MAX_STRING_LENGTH)\n// } else {\n// return str\n// }\n// }\nexport var searchObjString = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjString(o[b])\n } else {\n if (isString(a)) {\n o[b] = formatString(a)\n }\n }\n })\n }\n}\nexport var unique = function (ar) {\n var temp,\n n = [],\n o = {}\n for (var i = 0; i < ar.length; i++) {\n temp = ar[i]\n if (!(temp in o)) {\n o[temp] = true\n n.push(temp)\n }\n }\n return n\n}\nexport var strip_empty_properties = function (p) {\n var ret = {}\n each(p, function (v, k) {\n if (v != null) {\n ret[k] = v\n }\n })\n return ret\n}\nexport var utf8Encode = function (string) {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n')\n\n var utftext = '',\n start,\n end\n var stringl = 0,\n n\n\n start = end = 0\n stringl = string.length\n\n for (n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n)\n var enc = null\n\n if (c1 < 128) {\n end++\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128)\n } else {\n enc = String.fromCharCode(\n (c1 >> 12) | 224,\n ((c1 >> 6) & 63) | 128,\n (c1 & 63) | 128\n )\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.substring(start, end)\n }\n utftext += enc\n start = end = n + 1\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length)\n }\n\n return utftext\n}\nexport var base64Encode = function (data) {\n if (typeof btoa === 'function') {\n return btoa(\n encodeURIComponent(data).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1)\n })\n )\n }\n data = String(data)\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n var o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n enc = '',\n tmp_arr = []\n if (!data) {\n return data\n }\n data = utf8Encode(data)\n do {\n o1 = data.charCodeAt(i++)\n o2 = data.charCodeAt(i++)\n o3 = data.charCodeAt(i++)\n\n bits = (o1 << 16) | (o2 << 8) | o3\n\n h1 = (bits >> 18) & 0x3f\n h2 = (bits >> 12) & 0x3f\n h3 = (bits >> 6) & 0x3f\n h4 = bits & 0x3f\n tmp_arr[ac++] =\n b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)\n } while (i < data.length)\n\n enc = tmp_arr.join('')\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '=='\n break\n case 2:\n enc = enc.slice(0, -1) + '='\n break\n }\n\n return enc\n}\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function UUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (\n parseInt(placeholder, 10) ^\n ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))\n ).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, UUID)\n}\n\n// 替换url包含数字的路由\nexport function replaceNumberCharByPath(path) {\n var pathGroup = ''\n if (path) {\n pathGroup = path.replace(/\\/([^\\/]*)\\d([^\\/]*)/g, '/?').replace(/\\/$/g, '')\n }\n return pathGroup || '/'\n}\nexport var getQueryParam = function (url, param) {\n param = param.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]')\n url = decodeURIComponent(url)\n var regexS = '[\\\\?&]' + param + '=([^&#]*)',\n regex = new RegExp(regexS),\n results = regex.exec(url)\n if (\n results === null ||\n (results && typeof results[1] !== 'string' && results[1].length)\n ) {\n return ''\n } else {\n return decodeURIComponent(results[1])\n }\n}\nexport var urlParse = function (para) {\n var URLParser = function (a) {\n this._fields = {\n Username: 4,\n Password: 5,\n Port: 7,\n Protocol: 2,\n Host: 6,\n Path: 8,\n URL: 0,\n QueryString: 9,\n Fragment: 10\n }\n this._values = {}\n this._regex = null\n this._regex =\n /^((\\w+):\\/\\/)?((\\w+):?(\\w+)?@)?([^\\/\\?:]+):?(\\d+)?(\\/?[^\\?#]+)?\\??([^#]+)?#?(\\w*)/\n\n if (typeof a != 'undefined') {\n this._parse(a)\n }\n }\n URLParser.prototype.setUrl = function (a) {\n this._parse(a)\n }\n URLParser.prototype._initValues = function () {\n for (var a in this._fields) {\n this._values[a] = ''\n }\n }\n URLParser.prototype.addQueryString = function (queryObj) {\n if (typeof queryObj !== 'object') {\n return false\n }\n var query = this._values.QueryString || ''\n for (var i in queryObj) {\n if (new RegExp(i + '[^&]+').test(query)) {\n query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i])\n } else {\n if (query.slice(-1) === '&') {\n query = query + i + '=' + queryObj[i]\n } else {\n if (query === '') {\n query = i + '=' + queryObj[i]\n } else {\n query = query + '&' + i + '=' + queryObj[i]\n }\n }\n }\n }\n this._values.QueryString = query\n }\n URLParser.prototype.getParse = function () {\n return this._values\n }\n URLParser.prototype.getUrl = function () {\n var url = ''\n url += this._values.Origin\n // url += this._values.Port ? ':' + this._values.Port : ''\n url += this._values.Path\n url += this._values.QueryString ? '?' + this._values.QueryString : ''\n return url\n }\n URLParser.prototype._parse = function (a) {\n this._initValues()\n var b = this._regex.exec(a)\n if (!b) {\n throw 'DPURLParser::_parse -> Invalid URL'\n }\n for (var c in this._fields) {\n if (typeof b[this._fields[c]] != 'undefined') {\n this._values[c] = b[this._fields[c]]\n }\n }\n this._values['Path'] = this._values['Path'] || '/'\n this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n this._values['Origin'] =\n this._values['Protocol'] +\n '://' +\n this._values['Hostname'] +\n (this._values.Port ? ':' + this._values.Port : '')\n // this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n // this._values['Origin'] =\n // this._values['Protocol'] + '://' + this._values['Hostname']\n }\n return new URLParser(para)\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector)\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector)\n }\n return false\n}\n\nexport var cookie = {\n get: function (name) {\n var nameEQ = name + '='\n var ca = document.cookie.split(';')\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i]\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length)\n }\n if (c.indexOf(nameEQ) == 0) {\n return decodeURIComponent(c.substring(nameEQ.length, c.length))\n }\n }\n return null\n },\n set: function (name, value, days, is_secure) {\n var cdomain = '',\n expires = '',\n secure = ''\n days = days == null ? 73000 : days\n if (days !== 0) {\n var date = new Date()\n if (String(days).slice(-1) === 's') {\n date.setTime(date.getTime() + Number(String(days).slice(0, -1)) * 1000)\n } else {\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n }\n\n expires = '; expires=' + date.toGMTString()\n }\n\n if (is_secure) {\n secure = '; secure'\n }\n\n document.cookie =\n name +\n '=' +\n encodeURIComponent(value) +\n expires +\n '; path=/' +\n cdomain +\n secure\n },\n\n remove: function (name) {\n cookie.set(name, '', -1)\n }\n}\nexport var localStorage = {\n get: function (name) {\n return window.localStorage.getItem(name)\n },\n\n parse: function (name) {\n var storedValue\n try {\n storedValue = JSON.parse(localStorage.get(name)) || null\n } catch (err) {\n sd.log(err)\n }\n return storedValue\n },\n\n set: function (name, value) {\n window.localStorage.setItem(name, value)\n },\n\n remove: function (name) {\n window.localStorage.removeItem(name)\n },\n\n isSupport: function () {\n var supported = true\n try {\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n localStorage.set(key, val)\n if (localStorage.get(key) !== val) {\n supported = false\n }\n localStorage.remove(key)\n } catch (err) {\n supported = false\n }\n return supported\n }\n}\nexport var sessionStorage = {\n isSupport: function () {\n var supported = true\n\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n try {\n if (sessionStorage && sessionStorage.setItem) {\n sessionStorage.setItem(key, val)\n sessionStorage.removeItem(key, val)\n supported = true\n } else {\n supported = false\n }\n } catch (e) {\n supported = false\n }\n return supported\n }\n}\nexport var isSupportCors = function () {\n if (typeof window.XMLHttpRequest === 'undefined') {\n return false\n }\n if ('withCredentials' in new XMLHttpRequest()) {\n return true\n } else if (typeof XDomainRequest !== 'undefined') {\n return true\n } else {\n return false\n }\n}\nexport var xhr = function (cors) {\n if (cors) {\n if (\n typeof window.XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest()\n ) {\n return new XMLHttpRequest()\n } else if (typeof XDomainRequest !== 'undefined') {\n return new XDomainRequest()\n } else {\n return null\n }\n } else {\n if (typeof window.XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest()\n }\n if (window.ActiveXObject) {\n try {\n return new ActiveXObject('Msxml2.XMLHTTP')\n } catch (d) {\n try {\n return new ActiveXObject('Microsoft.XMLHTTP')\n } catch (d) {\n console.log(d)\n }\n }\n }\n }\n}\nexport var ajax = function (para) {\n para.timeout = para.timeout || 20000\n\n para.credentials =\n typeof para.credentials === 'undefined' ? true : para.credentials\n\n function getJSON(data) {\n if (!data) {\n return ''\n }\n try {\n return JSON.parse(data)\n } catch (e) {\n return {}\n }\n }\n\n var g = xhr(para.cors)\n\n if (!g) {\n return false\n }\n\n if (!para.type) {\n para.type = para.data ? 'POST' : 'GET'\n }\n para = extend(\n {\n success: function () {},\n error: function () {}\n },\n para\n )\n\n try {\n if (typeof g === 'object' && 'timeout' in g) {\n g.timeout = para.timeout\n } else {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n }\n } catch (e) {\n try {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n } catch (e2) {}\n }\n\n g.onreadystatechange = function () {\n try {\n if (g.readyState == 4) {\n if ((g.status >= 200 && g.status < 300) || g.status == 304) {\n para.success(getJSON(g.responseText))\n } else {\n para.error(getJSON(g.responseText), g.status)\n }\n g.onreadystatechange = null\n g.onload = null\n }\n } catch (e) {\n g.onreadystatechange = null\n g.onload = null\n }\n }\n\n g.open(para.type, para.url, true)\n\n try {\n if (para.credentials) {\n g.withCredentials = true\n }\n if (isObject(para.header)) {\n for (var i in para.header) {\n g.setRequestHeader(i, para.header[i])\n }\n }\n\n if (para.data) {\n if (!para.cors) {\n g.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n }\n if (para.contentType === 'application/json') {\n g.setRequestHeader('Content-type', 'application/json; charset=UTF-8')\n } else {\n g.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')\n }\n }\n } catch (e) {}\n\n g.send(para.data || null)\n}\nexport var loadScript = function (para) {\n para = extend(\n {\n success: function () {},\n error: function () {},\n appendCall: function (g) {\n document.getElementsByTagName('head')[0].appendChild(g)\n }\n },\n para\n )\n\n var g = null\n if (para.type === 'css') {\n g = document.createElement('link')\n g.rel = 'stylesheet'\n g.href = para.url\n }\n if (para.type === 'js') {\n g = document.createElement('script')\n g.async = 'async'\n g.setAttribute('charset', 'UTF-8')\n g.src = para.url\n g.type = 'text/javascript'\n }\n g.onload = g.onreadystatechange = function () {\n if (\n !this.readyState ||\n this.readyState === 'loaded' ||\n this.readyState === 'complete'\n ) {\n para.success()\n g.onload = g.onreadystatechange = null\n }\n }\n g.onerror = function () {\n para.error()\n g.onerror = null\n }\n para.appendCall(g)\n}\nexport var getHostname = function (url, defaultValue) {\n if (!defaultValue || typeof defaultValue !== 'string') {\n defaultValue = 'hostname解析异常'\n }\n var hostname = null\n try {\n hostname = URL(url).hostname\n } catch (e) {}\n return hostname || defaultValue\n}\nexport var getQueryParamsFromUrl = function (url) {\n var result = {}\n var arr = url.split('?')\n var queryString = arr[1] || ''\n if (queryString) {\n result = getURLSearchParams('?' + queryString)\n }\n return result\n}\n\nexport var getURLSearchParams = function (queryString) {\n queryString = queryString || ''\n var decodeParam = function (str) {\n return decodeURIComponent(str)\n }\n var args = {}\n var query = queryString.substring(1)\n var pairs = query.split('&')\n for (var i = 0; i < pairs.length; i++) {\n var pos = pairs[i].indexOf('=')\n if (pos === -1) continue\n var name = pairs[i].substring(0, pos)\n var value = pairs[i].substring(pos + 1)\n name = decodeParam(name)\n value = decodeParam(value)\n args[name] = value\n }\n return args\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set = new WeakSet()\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set.has(value)\n if (!has) {\n set.add(value)\n }\n return has\n }\n }\n }\n var array = []\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0\n if (!has) {\n array.push(value)\n }\n return has\n }\n }\n}\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return typeof value\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n // ignore the source if it is undefined\n if (typeof circularReferenceChecker === 'undefined') {\n circularReferenceChecker = createCircularReferenceChecker()\n }\n if (source === undefined) {\n return destination\n }\n\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source\n } else if (source instanceof Date) {\n return new Date(source.getTime())\n } else if (source instanceof RegExp) {\n var flags =\n source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : ''\n ].join('')\n return new RegExp(source.source, flags)\n }\n\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined\n } else if (Array.isArray(source)) {\n var merged = Array.isArray(destination) ? destination : []\n for (var i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker)\n }\n return merged\n }\n\n var merged = getType(destination) === 'object' ? destination : {}\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(\n merged[key],\n source[key],\n circularReferenceChecker\n )\n }\n }\n return merged\n}\n\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value)\n}\nexport var _URL = function (url) {\n var result = {}\n var basicProps = [\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'origin',\n 'password',\n 'pathname',\n 'port',\n 'protocol',\n 'search',\n 'username'\n ]\n var isURLAPIWorking = function () {\n var url\n try {\n url = new URL('http://modernizr.com/')\n return url.href === 'http://modernizr.com/'\n } catch (e) {\n return false\n }\n }\n if (typeof window.URL === 'function' && isURLAPIWorking()) {\n result = new URL(url)\n if (!result.searchParams) {\n result.searchParams = (function () {\n var params = getURLSearchParams(result.search)\n return {\n get: function (searchParam) {\n return params[searchParam]\n }\n }\n })()\n }\n } else {\n var _regex = /^https?:\\/\\/.+/\n if (_regex.test(url) === false) {\n throw 'Invalid URL'\n }\n var link = document.createElement('a')\n link.href = url\n for (var i = basicProps.length - 1; i >= 0; i--) {\n var prop = basicProps[i]\n result[prop] = link[prop]\n }\n if (\n result.hostname &&\n typeof result.pathname === 'string' &&\n result.pathname.indexOf('/') !== 0\n ) {\n result.pathname = '/' + result.pathname\n }\n result.searchParams = (function () {\n var params = getURLSearchParams(result.search)\n return {\n get: function (searchParam) {\n return params[searchParam]\n }\n }\n })()\n }\n return result\n}\n\nexport var getCurrentDomain = function (url) {\n var cookieTopLevelDomain = getCookieTopLevelDomain()\n if (url === '') {\n return 'url解析失败'\n } else if (cookieTopLevelDomain === '') {\n return 'url解析失败'\n } else {\n return cookieTopLevelDomain\n }\n}\nexport var getCookieTopLevelDomain = function (hostname) {\n hostname = hostname || window.location.hostname\n var splitResult = hostname.split('.')\n if (\n isArray(splitResult) &&\n splitResult.length >= 2 &&\n !/^(\\d+\\.)+\\d+$/.test(hostname)\n ) {\n var domainStr = '.' + splitResult.splice(splitResult.length - 1, 1)\n while (splitResult.length > 0) {\n domainStr =\n '.' + splitResult.splice(splitResult.length - 1, 1) + domainStr\n document.cookie = 'domain_test=true; path=/; domain=' + domainStr\n if (document.cookie.indexOf('domain_test=true') !== -1) {\n var now = new Date()\n now.setTime(now.getTime() - 1000)\n document.cookie =\n 'domain_test=true; expires=' +\n now.toGMTString() +\n '; path=/; domain=' +\n domainStr\n return domainStr\n }\n }\n }\n return ''\n}\nexport var strToUnicode = function (str) {\n if (typeof str !== 'string') {\n return str\n }\n var nstr = ''\n for (var i = 0; i < str.length; i++) {\n nstr += '\\\\' + str.charCodeAt(i).toString(16)\n }\n return nstr\n}\nexport var autoExeQueue = function () {\n var queue = {\n items: [],\n enqueue: function (val) {\n this.items.push(val)\n this.start()\n },\n dequeue: function () {\n return this.items.shift()\n },\n getCurrentItem: function () {\n return this.items[0]\n },\n isRun: false,\n start: function () {\n if (this.items.length > 0 && !this.isRun) {\n this.isRun = true\n this.getCurrentItem().start()\n }\n },\n close: function () {\n this.dequeue()\n this.isRun = false\n this.start()\n }\n }\n return queue\n}\nexport var strip_sa_properties = function (p) {\n if (!isObject(p)) {\n return p\n }\n each(p, function (v, k) {\n if (isArray(v)) {\n var temp = []\n each(v, function (arrv) {\n if (isString(arrv)) {\n temp.push(arrv)\n } else {\n console.log(\n '您的数据-',\n k,\n v,\n '的数组里的值必须是字符串,已经将其删除'\n )\n }\n })\n if (temp.length !== 0) {\n p[k] = temp\n } else {\n delete p[k]\n console.log('已经删除空的数组')\n }\n }\n if (\n !(\n isString(v) ||\n isNumber(v) ||\n isDate(v) ||\n isBoolean(v) ||\n isArray(v) ||\n isFunction(v) ||\n k === '$option'\n )\n ) {\n console.log('您的数据-', k, v, '-格式不满足要求,我们已经将其删除')\n delete p[k]\n }\n })\n return p\n}\n\nexport var searchConfigData = function (data) {\n if (typeof data === 'object' && data.$option) {\n var data_config = data.$option\n delete data.$option\n return data_config\n } else {\n return {}\n }\n}\n// 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束\n// abcd=1&b=1&c=3;\n// abdc=1;b=1;a=3;\nexport var stringSplice = function (src, k, e, sp) {\n if (src === '') {\n return ''\n }\n sp = sp === '' ? '=' : sp\n k += sp\n var ps = src.indexOf(k)\n if (ps < 0) {\n return ''\n }\n ps += k.length\n var pe = pe < ps ? src.length : src.indexOf(e, ps)\n return src.substring(ps, pe)\n}\nexport function getStatusGroup(status) {\n if (!status) return status\n return (\n String(status).substr(0, 1) + String(status).substr(1).replace(/\\d*/g, 'x')\n )\n}\nexport var getReferrer = function () {\n var ref = document.referrer.toLowerCase()\n var re = /^[^\\?&#]*.swf([\\?#])?/\n // 如果页面 Referer 为空,从 URL 中获取\n if (ref === '' || ref.match(re)) {\n ref = stringSplice(window.location.href, 'ref', '&', '')\n if (ref !== '') {\n return encodeURIComponent(ref)\n }\n }\n return encodeURIComponent(ref)\n}\nexport var typeDecide = function (o, type) {\n return toString.call(o) === '[object ' + type + ']'\n}\n\nexport function noop() {}\n\nexport var ONE_SECOND = 1000\nexport var ONE_MINUTE = 60 * ONE_SECOND\nexport var ONE_HOUR = 60 * ONE_MINUTE\nexport var ONE_DAY = 24 * ONE_HOUR\nexport var ONE_YEAR = 365 * ONE_DAY\n\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold\n}\n\nexport function round(num, decimals) {\n return +num.toFixed(decimals)\n}\n\nexport function msToNs(duration) {\n if (typeof duration !== 'number') {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function mapValues(object, fn) {\n var newObject = {}\n each(object, function (value, key) {\n newObject[key] = fn(value)\n })\n\n return newObject\n}\n\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function getRelativeTime(timestamp) {\n return timestamp - getNavigationStart()\n}\nexport function preferredNow() {\n return relativeNow()\n}\nexport function getTimestamp(relativeTime) {\n return Math.round(getNavigationStart() + relativeTime)\n}\nexport function relativeNow() {\n return performance.now()\n}\n\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() }\n}\nexport function timeStampNow() {\n return dateNow()\n}\n\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime()\n}\n\nexport function elapsed(start, end) {\n return end - start\n}\n\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() }\n}\nexport function preferredClock(clocks) {\n return clocks.relative\n}\nexport function preferredTimeStamp(clocks) {\n return getTimestamp(clocks.relative)\n}\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) }\n}\nexport function currentDrift() {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(dateNow() - (getNavigationStart() + performance.now()))\n}\nexport function addDuration(a, b) {\n return a + b\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = dateNow() - performance.now()\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(correctedOrigin + relativeTime)\n }\n return getTimestamp(relativeTime)\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart\nexport function getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart\n }\n return navigationStart\n}\nexport function findCommaSeparatedValue(rawString, name) {\n var matches = rawString.match('(?:^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)')\n return matches ? matches[1] : undefined\n}\nexport function findByPath(source, path) {\n var pathArr = path.split('.')\n while (pathArr.length) {\n var key = pathArr.shift()\n if (source && key in source && hasOwnProperty.call(source, key)) {\n source = source[key]\n } else {\n return undefined\n }\n }\n return source\n}\nexport function safeTruncate(candidate, length) {\n var lastChar = candidate.charCodeAt(length - 1)\n // check if it is the high part of a surrogate pair\n if (lastChar >= 0xd800 && lastChar <= 0xdbff) {\n return candidate.slice(0, length + 1)\n }\n return candidate.slice(0, length)\n}\nexport function isMatchOption(item) {\n const itemType = getType(item)\n return (\n itemType === 'string' || itemType === 'function' || item instanceof RegExp\n )\n}\nexport function includes(candidate, search) {\n // tslint:disable-next-line: no-unsafe-any\n return candidate.indexOf(search) !== -1\n}\n\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike)\n }\n var array = []\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) {\n array.push(item)\n })\n } else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i])\n }\n }\n return array\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100\n}\n\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location)\n}\n\nexport function isIE() {\n return Boolean(document.documentMode)\n}\n\nexport function isChromium() {\n return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent)\n}\n\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nexport function getLinkElementOrigin(element) {\n if (element.origin && element.origin !== 'null') {\n return element.origin\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '')\n return element.protocol + '//' + sanitizedHost\n}\n\nexport function withSnakeCaseKeys(candidate) {\n var result = {}\n each(candidate, function (value, key) {\n result[toSnakeCase(key)] = deepSnakeCase(value)\n })\n return result\n}\n\nexport function deepSnakeCase(candidate) {\n if (isArray(candidate)) {\n return map(candidate, function (value) {\n return deepSnakeCase(value)\n })\n }\n if (typeof candidate === 'object' && candidate !== null) {\n return withSnakeCaseKeys(candidate)\n }\n return candidate\n}\n\nexport function toSnakeCase(word) {\n return word\n .replace(/[A-Z]/g, function (uppercaseLetter, index) {\n return (index !== 0 ? '_' : '') + uppercaseLetter.toLowerCase()\n })\n .replace(/-/g, '_')\n}\n\nexport function isNullUndefinedDefaultValue(data, defaultValue) {\n if (data !== null && data !== void 0) {\n return data\n } else {\n return defaultValue\n }\n}\n\nexport function objectHasValue(object, value) {\n return some(keys(object), function (key) {\n return object[key] === value\n })\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search\n}\n\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search\n}\n\nexport function tryToClone(response) {\n try {\n return response.clone()\n } catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return\n }\n}\nexport function isHashAnAnchor(hash) {\n var correspondingId = hash.substr(1)\n if (!correspondingId) return false\n return !!document.getElementById(correspondingId)\n}\nexport function getPathFromHash(hash) {\n var index = hash.indexOf('?')\n return index < 0 ? hash : hash.slice(0, index)\n}\n"],"mappings":"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"}
|
|
@@ -10,53 +10,44 @@ exports.getPathName = getPathName;
|
|
|
10
10
|
exports.getSearch = getSearch;
|
|
11
11
|
exports.isValidUrl = isValidUrl;
|
|
12
12
|
exports.normalizeUrl = normalizeUrl;
|
|
13
|
-
|
|
14
13
|
var _tools = require("./tools");
|
|
15
|
-
|
|
16
14
|
function normalizeUrl(url) {
|
|
17
15
|
return buildUrl(url, (0, _tools.getLocationOrigin)()).href;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
function isValidUrl(url) {
|
|
21
18
|
try {
|
|
22
19
|
return !!buildUrl(url);
|
|
23
20
|
} catch (e) {
|
|
24
21
|
return false;
|
|
25
22
|
}
|
|
26
|
-
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// export function haveSameOrigin(url1, url2) {
|
|
27
26
|
// return getOrigin(url1) === getOrigin(url2)
|
|
28
27
|
// }
|
|
29
28
|
|
|
30
|
-
|
|
31
29
|
function getOrigin(url) {
|
|
32
30
|
return (0, _tools.getLinkElementOrigin)(buildUrl(url));
|
|
33
31
|
}
|
|
34
|
-
|
|
35
32
|
function getPathName(url) {
|
|
36
33
|
var pathname = buildUrl(url).pathname;
|
|
37
34
|
return pathname[0] === '/' ? pathname : '/' + pathname;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
function getSearch(url) {
|
|
41
37
|
return buildUrl(url).search;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
function getHash(url) {
|
|
45
40
|
return buildUrl(url).hash;
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
function buildUrl(url, base) {
|
|
49
43
|
if (checkURLSupported()) {
|
|
50
44
|
return base !== undefined ? new URL(url, base) : new URL(url);
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
if (base === undefined && !/:/.test(url)) {
|
|
54
47
|
throw new Error('Invalid URL: ' + url);
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
var doc = document;
|
|
58
50
|
var anchorElement = doc.createElement('a');
|
|
59
|
-
|
|
60
51
|
if (base !== undefined) {
|
|
61
52
|
doc = document.implementation.createHTMLDocument('');
|
|
62
53
|
var baseElement = doc.createElement('base');
|
|
@@ -64,18 +55,14 @@ function buildUrl(url, base) {
|
|
|
64
55
|
doc.head.appendChild(baseElement);
|
|
65
56
|
doc.body.appendChild(anchorElement);
|
|
66
57
|
}
|
|
67
|
-
|
|
68
58
|
anchorElement.href = url;
|
|
69
59
|
return anchorElement;
|
|
70
60
|
}
|
|
71
|
-
|
|
72
61
|
var isURLSupported;
|
|
73
|
-
|
|
74
62
|
function checkURLSupported() {
|
|
75
63
|
if (isURLSupported !== undefined) {
|
|
76
64
|
return isURLSupported;
|
|
77
65
|
}
|
|
78
|
-
|
|
79
66
|
try {
|
|
80
67
|
var url = new URL('http://test/path');
|
|
81
68
|
isURLSupported = url.href === 'http://test/path';
|
|
@@ -83,6 +70,6 @@ function checkURLSupported() {
|
|
|
83
70
|
} catch (e) {
|
|
84
71
|
isURLSupported = false;
|
|
85
72
|
}
|
|
86
|
-
|
|
87
73
|
return isURLSupported;
|
|
88
|
-
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=urlPolyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlPolyfill.js","names":["_tools","require","normalizeUrl","url","buildUrl","getLocationOrigin","href","isValidUrl","e","getOrigin","getLinkElementOrigin","getPathName","pathname","getSearch","search","getHash","hash","base","checkURLSupported","undefined","URL","test","Error","doc","document","anchorElement","createElement","implementation","createHTMLDocument","baseElement","head","appendChild","body","isURLSupported"],"sources":["../../src/helper/urlPolyfill.js"],"sourcesContent":["import { getLinkElementOrigin, getLocationOrigin } from './tools'\n\nexport function normalizeUrl(url) {\n return buildUrl(url, getLocationOrigin()).href\n}\n\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url)\n } catch (e) {\n return false\n }\n}\n\n// export function haveSameOrigin(url1, url2) {\n// return getOrigin(url1) === getOrigin(url2)\n// }\n\nexport function getOrigin(url) {\n return getLinkElementOrigin(buildUrl(url))\n}\n\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname\n return pathname[0] === '/' ? pathname : '/' + pathname\n}\n\nexport function getSearch(url) {\n return buildUrl(url).search\n}\n\nexport function getHash(url) {\n return buildUrl(url).hash\n}\n\nexport function buildUrl(url, base) {\n if (checkURLSupported()) {\n return base !== undefined ? new URL(url, base) : new URL(url)\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error('Invalid URL: ' + url)\n }\n var doc = document\n var anchorElement = doc.createElement('a')\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('')\n var baseElement = doc.createElement('base')\n baseElement.href = base\n doc.head.appendChild(baseElement)\n doc.body.appendChild(anchorElement)\n }\n anchorElement.href = url\n return anchorElement\n}\n\nvar isURLSupported\nfunction checkURLSupported() {\n if (isURLSupported !== undefined) {\n return isURLSupported\n }\n try {\n var url = new URL('http://test/path')\n isURLSupported = url.href === 'http://test/path'\n return isURLSupported\n } catch (e) {\n isURLSupported = false\n }\n return isURLSupported\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,YAAYA,CAACC,GAAG,EAAE;EAChC,OAAOC,QAAQ,CAACD,GAAG,EAAE,IAAAE,wBAAiB,EAAC,CAAC,CAAC,CAACC,IAAI;AAChD;AAEO,SAASC,UAAUA,CAACJ,GAAG,EAAE;EAC9B,IAAI;IACF,OAAO,CAAC,CAACC,QAAQ,CAACD,GAAG,CAAC;EACxB,CAAC,CAAC,OAAOK,CAAC,EAAE;IACV,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;;AAEO,SAASC,SAASA,CAACN,GAAG,EAAE;EAC7B,OAAO,IAAAO,2BAAoB,EAACN,QAAQ,CAACD,GAAG,CAAC,CAAC;AAC5C;AAEO,SAASQ,WAAWA,CAACR,GAAG,EAAE;EAC/B,IAAIS,QAAQ,GAAGR,QAAQ,CAACD,GAAG,CAAC,CAACS,QAAQ;EACrC,OAAOA,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,GAAGA,QAAQ,GAAG,GAAG,GAAGA,QAAQ;AACxD;AAEO,SAASC,SAASA,CAACV,GAAG,EAAE;EAC7B,OAAOC,QAAQ,CAACD,GAAG,CAAC,CAACW,MAAM;AAC7B;AAEO,SAASC,OAAOA,CAACZ,GAAG,EAAE;EAC3B,OAAOC,QAAQ,CAACD,GAAG,CAAC,CAACa,IAAI;AAC3B;AAEO,SAASZ,QAAQA,CAACD,GAAG,EAAEc,IAAI,EAAE;EAClC,IAAIC,iBAAiB,CAAC,CAAC,EAAE;IACvB,OAAOD,IAAI,KAAKE,SAAS,GAAG,IAAIC,GAAG,CAACjB,GAAG,EAAEc,IAAI,CAAC,GAAG,IAAIG,GAAG,CAACjB,GAAG,CAAC;EAC/D;EACA,IAAIc,IAAI,KAAKE,SAAS,IAAI,CAAC,GAAG,CAACE,IAAI,CAAClB,GAAG,CAAC,EAAE;IACxC,MAAM,IAAImB,KAAK,CAAC,eAAe,GAAGnB,GAAG,CAAC;EACxC;EACA,IAAIoB,GAAG,GAAGC,QAAQ;EAClB,IAAIC,aAAa,GAAGF,GAAG,CAACG,aAAa,CAAC,GAAG,CAAC;EAC1C,IAAIT,IAAI,KAAKE,SAAS,EAAE;IACtBI,GAAG,GAAGC,QAAQ,CAACG,cAAc,CAACC,kBAAkB,CAAC,EAAE,CAAC;IACpD,IAAIC,WAAW,GAAGN,GAAG,CAACG,aAAa,CAAC,MAAM,CAAC;IAC3CG,WAAW,CAACvB,IAAI,GAAGW,IAAI;IACvBM,GAAG,CAACO,IAAI,CAACC,WAAW,CAACF,WAAW,CAAC;IACjCN,GAAG,CAACS,IAAI,CAACD,WAAW,CAACN,aAAa,CAAC;EACrC;EACAA,aAAa,CAACnB,IAAI,GAAGH,GAAG;EACxB,OAAOsB,aAAa;AACtB;AAEA,IAAIQ,cAAc;AAClB,SAASf,iBAAiBA,CAAA,EAAG;EAC3B,IAAIe,cAAc,KAAKd,SAAS,EAAE;IAChC,OAAOc,cAAc;EACvB;EACA,IAAI;IACF,IAAI9B,GAAG,GAAG,IAAIiB,GAAG,CAAC,kBAAkB,CAAC;IACrCa,cAAc,GAAG9B,GAAG,CAACG,IAAI,KAAK,kBAAkB;IAChD,OAAO2B,cAAc;EACvB,CAAC,CAAC,OAAOzB,CAAC,EAAE;IACVyB,cAAc,GAAG,KAAK;EACxB;EACA,OAAOA,cAAc;AACvB"}
|