Merge branch 'dev' of github.com:jetlinks/jetlinks-ui-vue into dev

This commit is contained in:
easy 2023-01-09 18:13:41 +08:00
commit d38fe9e5b8
12 changed files with 2225 additions and 53 deletions

12
components.d.ts vendored
View File

@ -7,18 +7,28 @@ export {}
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
export interface GlobalComponents { export interface GlobalComponents {
ABadge: typeof import('ant-design-vue/es')['Badge']
AButton: typeof import('ant-design-vue/es')['Button'] AButton: typeof import('ant-design-vue/es')['Button']
ACard: typeof import('ant-design-vue/es')['Card'] ACard: typeof import('ant-design-vue/es')['Card']
ACol: typeof import('ant-design-vue/es')['Col'] ACol: typeof import('ant-design-vue/es')['Col']
ADatePicker: typeof import('ant-design-vue/es')['DatePicker']
AForm: typeof import('ant-design-vue/es')['Form']
AFormItem: typeof import('ant-design-vue/es')['FormItem']
AInput: typeof import('ant-design-vue/es')['Input']
AInputGroup: typeof import('ant-design-vue/es')['InputGroup']
AInputNumber: typeof import('ant-design-vue/es')['InputNumber']
AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
AModal: typeof import('ant-design-vue/es')['Modal'] AModal: typeof import('ant-design-vue/es')['Modal']
APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
ARow: typeof import('ant-design-vue/es')['Row'] ARow: typeof import('ant-design-vue/es')['Row']
ASelect: typeof import('ant-design-vue/es')['Select'] ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ATooltip: typeof import('ant-design-vue/es')['Tooltip'] ATooltip: typeof import('ant-design-vue/es')['Tooltip']
AUpload: typeof import('ant-design-vue/es')['Upload']
BadgeStatus: typeof import('./src/components/BadgeStatus/index.vue')['default'] BadgeStatus: typeof import('./src/components/BadgeStatus/index.vue')['default']
CardBox: typeof import('./src/components/CardBox/index.vue')['default'] CardBox: typeof import('./src/components/CardBox/index.vue')['default']
GeoComponent: typeof import('./src/components/GeoComponent/index.vue')['default'] GeoComponent: typeof import('./src/components/GeoComponent/index.vue')['default']
MonacoEditor: typeof import('./src/components/MonacoEditor/index.vue')['default'] MonacoEditor: typeof import('./src/components/MonacoEditor/index.vue')['default']
PermissionButton: typeof import('./src/components/PermissionButton/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink'] RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView'] RouterView: typeof import('vue-router')['RouterView']
ValueItem: typeof import('./src/components/ValueItem/index.vue')['default'] ValueItem: typeof import('./src/components/ValueItem/index.vue')['default']

1145
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,7 @@
"prettier": "prettier --write" "prettier": "prettier --write"
}, },
"dependencies": { "dependencies": {
"@vitejs/plugin-vue-jsx": "^3.0.0",
"@vuemap/vue-amap": "^1.1.20", "@vuemap/vue-amap": "^1.1.20",
"ant-design-vue": "^3.2.15", "ant-design-vue": "^3.2.15",
"axios": "^1.2.1", "axios": "^1.2.1",

View File

@ -0,0 +1,61 @@
<template>
<template v-if="isPermission">
<template v-if="popConfirm">
<a-popconfirm v-bind="popConfirm" :disabled="!isPermission || props.disabled">
<a-tooltip v-if="tooltip" v-bind="tooltip">
<slot v-if="noButton"></slot>
<a-button v-else v-bind="buttonProps" :disabled="_isPermission"></a-button>
</a-tooltip>
<a-button v-else v-bind="buttonProps" :disabled="_isPermission"></a-button>
</a-popconfirm>
</template>
<template v-else-if="tooltip">
<a-tooltip v-bind="tooltip">
<slot v-if="noButton"></slot>
<a-button v-else v-bind="buttonProps" :disabled="_isPermission"></a-button>
</a-tooltip>
</template>
<template v-else>
<slot v-if="noButton"></slot>
<a-button v-else v-bind="buttonProps" :disabled="_isPermission"></a-button>
</template>
</template>
<a-tooltip v-else title="没有权限">
<slot v-if="noButton"></slot>
<a-button v-else v-bind="buttonProps" :disabled="_isPermission"></a-button>
</a-tooltip>
</template>
<script setup lang="ts">
import type { ButtonProps, TooltipProps, PopconfirmProps } from 'ant-design-vue'
import { usePermissionStore } from '@/store/permission';
interface PermissionButtonProps extends ButtonProps {
tooltip?: TooltipProps;
popConfirm?: PopconfirmProps;
hasPermission?: string | Array<string>;
noButton?: boolean;
}
const props = withDefaults(defineProps<PermissionButtonProps>(), {
noButton: false
})
const { tooltip, popConfirm, hasPermission, noButton, ...buttonProps } = props;
const permissionStore = usePermissionStore()
const isPermission = computed(() => {
if (!props.hasPermission) {
return true
}
return permissionStore.hasPermission(props.hasPermission)
})
const _isPermission = computed(() =>
'hasPermission' in props && isPermission
? 'disabled' in buttonProps
? buttonProps.disabled
: false
: true
)
</script>
<style scoped lang="scss">
</style>

View File

@ -1,8 +1,10 @@
import type { App } from 'vue' import type { App } from 'vue'
import AIcon from './AIcon' import AIcon from './AIcon'
import PermissionButton from './PermissionButton/index.vue'
export default { export default {
install(app: App) { install(app: App) {
app.component('AIcon', AIcon) app.component('AIcon', AIcon)
app.component('PermissionButton', PermissionButton)
} }
} }

View File

@ -24,6 +24,10 @@ export default [
path: '/demo', path: '/demo',
component: () => import('@/views/demo/index.vue') component: () => import('@/views/demo/index.vue')
}, },
{
path: '/bind',
component: () => import('@/views/account/Center/bind/index.vue')
},
{ {
path: '/iot/home', path: '/iot/home',
component: () => import('@/views/iot/home/index.vue') component: () => import('@/views/iot/home/index.vue')

240
src/router/router.ts Normal file
View File

@ -0,0 +1,240 @@
/** 路由Code */
export enum MENUS_CODE {
'home' = 'home',
'Analysis/CPU' = 'Analysis/CPU',
'Analysis/DeviceChart' = 'Analysis/DeviceChart',
'Analysis/DeviceMessage' = 'Analysis/DeviceMessage',
'Analysis/Jvm' = 'Analysis/Jvm',
'Analysis/MessageChart' = 'Analysis/MessageChart',
'Analysis' = 'Analysis',
'cloud/Aliyun' = 'cloud/Aliyun',
'cloud/Ctwing' = 'cloud/Ctwing',
'cloud/DuerOS' = 'cloud/DuerOS',
'cloud/Onenet' = 'cloud/Onenet',
'device/Alarm' = 'device/Alarm',
'device/Category/Save' = 'device/Category/Save',
'device/Category' = 'device/Category',
'device/Command' = 'device/Command',
'device/DataSource' = 'device/DataSource',
'device/Instance' = 'device/Instance',
'device/Location' = 'device/Location',
'device/Product/Save' = 'device/Product/Save',
'device/Product' = 'device/Product',
'device/DashBoard' = 'device/DashBoard',
'device/components/Alarm/Edit' = 'device/components/Alarm/Edit',
'device/components/Alarm/Record' = 'device/components/Alarm/Record',
'device/components/Alarm/Setting' = 'device/components/Alarm/Setting',
'device/components/Alarm' = 'device/components/Alarm',
'device/components/Metadata/Base/Edit' = 'device/components/Metadata/Base/Edit',
'device/components/Metadata/Base' = 'device/components/Metadata/Base',
'device/components/Metadata/Cat' = 'device/components/Metadata/Cat',
'device/components/Metadata/Import' = 'device/components/Metadata/Import',
'device/components/Metadata' = 'device/components/Metadata',
'link/Certificate' = 'link/Certificate',
'link/Certificate/Detail' = 'link/Certificate/Detail',
'link/Gateway' = 'link/Gateway',
'link/Protocol/Debug' = 'link/Protocol/Debug',
'link/Protocol' = 'link/Protocol',
'link/Type' = 'link/Type',
'link/AccessConfig' = 'link/AccessConfig',
'link/DataCollect/Dashboard' = 'link/DataCollect/Dashboard',
'link/DataCollect/DataGathering' = 'link/DataCollect/DataGathering',
'link/DataCollect/IntegratedQuery' = 'link/DataCollect/IntegratedQuery',
'edge/Device' = 'edge/Device',
'edge/Resource' = 'edge/Resource',
'Log' = 'Log',
'media/Cascade' = 'media/Cascade',
'media/Cascade/Save' = 'media/Cascade/Save',
'media/Cascade/Channel' = 'media/Cascade/Channel',
'media/Config' = 'media/Config',
'media/Device' = 'media/Device',
'media/Device/Save' = 'media/Device/Save',
'media/Device/Channel' = 'media/Device/Channel',
'media/Device/Playback' = 'media/Device/Playback',
'media/Reveal' = 'media/Reveal',
'media/Stream' = 'media/Stream',
'media/Stream/Detail' = 'media/Stream/Detail',
'media/DashBoard' = 'media/DashBoard',
'notice/Type' = 'notice/Type',
'notice/Config' = 'notice/Config',
'media/SplitScreen' = 'media/SplitScreen',
'notice/Type/Config' = 'notice/Config',
'notice/Config/Detail' = 'notice/Config/Detail',
'notice/Template' = 'notice/Template',
'notice/Template/Detail' = 'notice/Template/Detail',
'rule-engine/DashBoard' = 'rule-engine/DashBoard',
'rule-engine/Instance' = 'rule-engine/Instance',
'rule-engine/SQLRule' = 'rule-engine/SQLRule',
'rule-engine/Scene' = 'rule-engine/Scene',
'rule-engine/Alarm/Log' = 'rule-engine/Alarm/Log',
'rule-engine/Alarm/Log/Detail' = 'rule-engine/Alarm/Log/Detail',
'rule-engine/Alarm/Config' = 'rule-engine/Alarm/Config',
'rule-engine/Scene/Save' = 'rule-engine/Scene/Save',
'rule-engine/Scene/Save2' = 'rule-engine/Scene/Save2',
'rule-engine/Alarm/Configuration' = 'rule-engine/Alarm/Configuration',
'rule-engine/Alarm/Configuration/Save' = 'rule-engine/Alarm/Configuration/Save',
'simulator/Device' = 'simulator/Device',
'system/DataSource' = 'system/DataSource',
'system/DataSource/Management' = 'system/DataSource/Management',
'system/Department/Assets' = 'system/Department/Assets',
'system/Department/Member' = 'system/Department/Member',
'system/Department' = 'system/Department',
'system/Menu' = 'system/Menu',
'system/Menu/Setting' = 'system/Menu/Setting',
'system/OpenAPI' = 'system/OpenAPI',
'system/Permission' = 'system/Permission',
'system/Role/Detail' = 'system/Role/Detail',
'system/Role' = 'system/Role',
'system/Tenant/Detail/Assets' = 'system/Tenant/Detail/Assets',
'system/Tenant/Detail/Info' = 'system/Tenant/Detail/Info',
'system/Tenant/Detail/Member' = 'system/Tenant/Detail/Member',
'system/Tenant/Detail/Permission' = 'system/Tenant/Detail/Permission',
'system/Tenant/Detail' = 'system/Tenant/Detail',
'system/Tenant' = 'system/Tenant',
'system/User' = 'system/User',
'system/Relationship' = 'system/Relationship',
'system/Basis' = 'system/Basis',
'user/Login' = 'user/Login',
'visualization/Category' = 'visualization/Category',
'visualization/Configuration' = 'visualization/Configuration',
'visualization/Screen' = 'visualization/Screen',
'device/Firmware' = 'device/Firmware',
'device/Firmware/Task' = 'device/Firmware/Task',
'device/Firmware/Task/Detail' = 'device/Firmware/Task/Detail',
'device/Instance/Detail/Config/Tags' = 'device/Instance/Detail/Config/Tags',
'device/Instance/Detail/Config' = 'device/Instance/Detail/Config',
'device/Instance/Detail/Functions' = 'device/Instance/Detail/Functions',
'device/Instance/Detail/Info' = 'device/Instance/Detail/Info',
'device/Instance/Detail/Log' = 'device/Instance/Detail/Log',
'device/Instance/Detail/MetadataLog/Event' = 'device/Instance/Detail/MetadataLog/Event',
'device/Instance/Detail/MetadataLog/Property' = 'device/Instance/Detail/MetadataLog/Property',
'device/Instance/Detail/Running' = 'device/Instance/Detail/Running',
'device/Instance/Detail' = 'device/Instance/Detail',
'device/Product/Detail/BaseInfo' = 'device/Product/Detail/BaseInfo',
'device/Product/Detail' = 'device/Product/Detail',
'link/AccessConfig/Detail' = 'link/AccessConfig/Detail',
'link/DashBoard' = 'link/DashBoard',
'system/Menu/Detail' = 'system/Menu/Detail',
'system/Department/Detail' = 'system/Department/Detail',
'link/Type/Detail' = 'link/Type/Detail',
'account/Center' = 'account/Center',
'account/NotificationSubscription' = 'account/NotificationSubscription',
'account/NotificationRecord' = 'account/NotificationRecord',
'account/Center/bind' = 'account/Center/bind',
'Northbound/DuerOS' = 'Northbound/DuerOS',
'Northbound/DuerOS/Detail' = 'Northbound/DuerOS/Detail',
'Northbound/AliCloud' = 'Northbound/AliCloud',
'Northbound/AliCloud/Detail' = 'Northbound/AliCloud/Detail',
'system/Platforms' = 'system/Platforms',
'system/Platforms/Api' = 'system/Platforms/Api',
'system/Platforms/View' = 'system/Platforms/View',
'system/Platforms/Setting' = 'system/Platforms/Setting',
'system/Apply' = 'system/Apply',
'system/Apply/Api' = 'system/Apply/Api',
'system/Apply/View' = 'system/Apply/View',
'system/License' = 'system/License',
'iot-card/Home' = 'iot-card/Home',
'iot-card/Platform' = 'iot-card/Platform',
'iot-card/Platform/Detail' = 'iot-card/Platform/Detail',
'iot-card/Recharge' = 'iot-card/Recharge',
'iot-card/Dashboard' = 'iot-card/Dashboard',
'iot-card/CardManagement' = 'iot-card/CardManagement',
'iot-card/Record' = 'iot-card/Record',
}
export type MENUS_CODE_TYPE = keyof typeof MENUS_CODE | string;
export enum BUTTON_PERMISSION_ENUM {
'add' = 'add',
'delete' = 'delete',
'import' = 'import',
'view' = 'view',
'export' = 'export',
'update' = 'update',
'action' = 'action',
'push' = 'push',
'assert' = 'assert',
'bind-user' = 'bind-user',
'active' = 'active',
'sync' = 'sync',
'channel' = 'channel',
'debug' = 'debug',
'log' = 'log',
'tigger' = 'tigger',
'empowerment' = 'empowerment',
'bind' = 'bind',
'edit' = 'edit', //资产权限编辑
'setting' = 'setting', //菜单配置
'password' = 'password', //重置密码
'api' = 'api', //查看api
'manage' = 'manage', //数据源-管理
'stop' = 'stop',
'restart' = 'restart',
'pay' = 'pay', //充值
}
// 调试按钮、通知记录、批量导出、批量导入、选择通道、推送、分配资产、绑定用户对应的ID是啥
export type CUSTOM_BUTTON = 'debug' | 'log' | 'channel' | 'assert' | 'bind-user';
export type BUTTON_PERMISSION = keyof typeof BUTTON_PERMISSION_ENUM | string | CUSTOM_BUTTON;
export const getDetailNameByCode = {
'system/Menu/Detail': '菜单详情',
'device/Product/Detail': '产品详情',
'device/Instance/Detail': '设备详情',
'device/Firmware/Task/Detail': '详情',
'system/Department/Detail': '组织详情',
'system/Role/Detail': '权限配置',
'link/Type/Detail': '网络组件详情',
'link/AccessConfig/Detail': '配置详情',
'media/Stream/Detail': '流媒体详情',
'rule-engine/Alarm/Log/Detail': '告警日志',
'Northbound/AliCloud/Detail': '阿里云详情',
'link/Certificate/Detail': '证书详情',
'iot-card/Platform/Detail': '平台对接详情',
};
// 开源版路由
export const CommunityCodeList = [
'account/Center',
'account/NotificationSubscription',
'account/NotificationRecord',
'system/Basis',
'system/User',
'system/Department',
'system/Department/Detail',
'system/Role',
'system/Role/Detail',
'system/Menu',
'system/Menu/Detail',
'system/Menu/Setting',
'system/Permission',
'system/Relationship',
'home',
'rule-engine/DashBoard',
'rule-engine/Alarm/Configuration',
'rule-engine/Alarm/Configuration/Save',
'rule-engine/Alarm/Log',
'rule-engine/Alarm/Log/Detail',
'device/DashBoard',
'device/Category',
'device/Instance',
'device/Instance/Detail',
'device/Product',
'device/Product/Detail',
'link/AccessConfig',
'link/AccessConfig/Detail',
'link/Protocol',
'link/DashBoard',
'Log',
'link/Type',
'link/Type/Detail',
'link/Certificate',
'link/Certificate/Detail',
'rule-engine/Scene',
'rule-engine/Scene/Save',
'notice/Config',
'notice/Config/Detail',
'notice/Template',
'notice/Template/Detail',
];

42
src/store/permission.ts Normal file
View File

@ -0,0 +1,42 @@
import { defineStore } from "pinia";
import type { MENUS_CODE_TYPE, BUTTON_PERMISSION } from '@/router/router'
export const usePermissionStore = defineStore({
id: 'permission',
state: () => ({
permissions: {} as {[key: MENUS_CODE_TYPE]: BUTTON_PERMISSION},
}),
getters: {
check(state) {
return (permissionCode: string) => {
if (!permissionCode) {
return true
}
if (!permissionCode.includes(":")) {
return false
}
const code = permissionCode.split(":")[0]
const value = permissionCode.split(":")[1]
const _buttonArray = state.permissions[code]
if (!_buttonArray) {
return false
}
return _buttonArray.includes(value)
}
},
hasPermission(state) {
return (permissionCode: string | string[]) => {
if (!permissionCode) {
return true
}
if (!!Object.keys(state.permissions).length) {
if (typeof permissionCode === 'string') {
return this.check(permissionCode)
}
return permissionCode.some(_permissionCode => this.check(_permissionCode))
}
return false
}
}
}
})

View File

@ -0,0 +1,189 @@
<!-- 第三方账户绑定 -->
<template>
<div class="page-container">
<div class="content">
<div class="title">第三方账户绑定</div>
<!-- 已登录-绑定三方账号 -->
<template v-if="false">
<div class="info">
<a-card style="width: 280px">
<template #title>
<div class="info-head">
<img :src="getImage('/bind/Rectangle.png')" />
<span>个人信息</span>
</div>
</template>
<div class="info-body">
<img :src="getImage('/bind/jetlinksLogo.png')" />
<p>账号admin</p>
<p>用户名超级管理员</p>
</div>
</a-card>
<img :src="getImage('/bind/Vector.png')" />
<a-card style="width: 280px">
<template #title>
<div class="info-head">
<img :src="getImage('/bind/Rectangle.png')" />
<span>三方账户信息</span>
</div>
</template>
<div class="info-body">
<img :src="getImage('/bind/wechat-webapp.png')" />
<p>用户名-</p>
<p>名称微信昵称</p>
</div>
</a-card>
</div>
<div class="btn">
<a-button type="primary">立即绑定</a-button>
</div>
</template>
<!-- 未登录-绑定三方账号 -->
<template v-else>
<div class="not-login">
<div class="logo">
<img :src="getImage('/bind/jetlinksLogo.png')" />
<img
class="arrow"
:src="getImage('/bind/Vector.png')"
/>
<img :src="getImage('/bind/wechat-webapp.png')" />
</div>
<div class="desc">
你已通过微信授权,完善以下登录信息即可以完成绑定
</div>
<div class="login-form">
<a-form layout="vertical" :model="formData">
<a-form-item label="账户">
<a-input
v-model:value="formData.username"
placeholder="请输入账户"
/>
</a-form-item>
<a-form-item label="密码">
<a-input-password
v-model:value="formData.password"
placeholder="请输入密码"
/>
</a-form-item>
<a-form-item label="验证码">
<a-input
v-model:value="formData.captcha"
placeholder="请输入验证码"
>
<template #addonAfter>图形验证码</template>
</a-input>
</a-form-item>
<a-form-item>
<a-button type="primary" style="width: 100%">
登录并绑定账户
</a-button>
</a-form-item>
</a-form>
</div>
</div>
</template>
</div>
</div>
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm';
interface formData {
username: string;
password: string;
captcha: string;
}
const formData = ref<formData>({
username: '',
password: '',
captcha: '',
});
</script>
<style lang="less" scoped>
.page-container {
width: 100%;
height: 100vh;
background: url(/images/bind/bindPage.png) 0% 0% / 100% 100% no-repeat;
display: flex;
align-items: center;
justify-content: center;
.content {
box-sizing: border-box;
width: 850px;
min-height: 510px;
background: #fff;
border: 1px solid #e0e4e8;
border-radius: 2px;
.title {
margin: 30px 0;
color: #0f1222;
font-weight: 400;
font-size: 20px;
font-family: 'PingFang SC';
font-style: normal;
line-height: 25px;
text-align: center;
}
// -
.info {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
&-head {
display: flex;
align-items: baseline;
gap: 10px;
}
&-body {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
img {
width: 70px;
height: 70px;
}
}
}
.btn {
display: flex;
justify-content: center;
margin-top: 30px;
}
//
.not-login {
display: flex;
flex-direction: column;
align-items: center;
.logo {
display: flex;
align-items: center;
gap: 20px;
img {
width: 50px;
height: 50px;
}
.arrow {
width: 15px;
height: 15px;
}
}
.desc {
margin-top: 30px;
margin-bottom: 30px;
font-size: 14px;
font-family: 'PingFang SC';
font-style: normal;
line-height: 14px;
opacity: 0.75;
mix-blend-mode: normal;
}
}
}
}
</style>

View File

@ -2,7 +2,7 @@
<template> <template>
<div class="page-container"> <div class="page-container">
父级: {{ testValue }} 父级: {{ testValue }}
<ViewItem v-model="testValue" /> <ValueItem v-model="testValue" />
<!-- 卡片 --> <!-- 卡片 -->
<br />卡片组件 <br />卡片组件
<a-row :gutter="20"> <a-row :gutter="20">
@ -41,7 +41,6 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import ViewItem from '@/components/ValueItem/index.vue';
import CardBox from '@/components/CardBox/index.vue'; import CardBox from '@/components/CardBox/index.vue';
import { StatusColorEnum } from '@/utils/consts'; import { StatusColorEnum } from '@/utils/consts';
import { getImage } from '@/utils/comm'; import { getImage } from '@/utils/comm';

View File

@ -1,5 +1,6 @@
import {defineConfig, loadEnv} from 'vite' import {defineConfig, loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import Components from 'unplugin-vue-components/vite' import Components from 'unplugin-vue-components/vite'
import {AntDesignVueResolver} from 'unplugin-vue-components/resolvers' import {AntDesignVueResolver} from 'unplugin-vue-components/resolvers'
import AutoImport from 'unplugin-auto-import/vite' import AutoImport from 'unplugin-auto-import/vite'
@ -46,6 +47,7 @@ export default defineConfig(({ mode}) => {
}, },
plugins: [ plugins: [
vue(), vue(),
vueJsx(),
Components({ Components({
resolvers: [AntDesignVueResolver({ importStyle: 'less' }), VueAmapResolver()], resolvers: [AntDesignVueResolver({ importStyle: 'less' }), VueAmapResolver()],
directoryAsNamespace: true directoryAsNamespace: true

577
yarn.lock
View File

@ -26,6 +26,14 @@
"@types/three" "0.143.0" "@types/three" "0.143.0"
three "0.143.0" three "0.143.0"
"@ampproject/remapping@^2.1.0":
"integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w=="
"resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz"
"version" "2.2.0"
dependencies:
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
"@ant-design/colors@^6.0.0": "@ant-design/colors@^6.0.0":
version "6.0.0" version "6.0.0"
resolved "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz" resolved "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz"
@ -51,10 +59,233 @@
resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz" resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz"
integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g== integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==
"@babel/parser@^7.16.4": "@babel/code-frame@^7.18.6":
version "7.20.7" "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q=="
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz" "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz"
integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "version" "7.18.6"
dependencies:
"@babel/highlight" "^7.18.6"
"@babel/compat-data@^7.20.5":
"integrity" "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg=="
"resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz"
"version" "7.20.10"
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.20.5":
"integrity" "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg=="
"resolved" "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz"
"version" "7.20.12"
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.20.7"
"@babel/helper-compilation-targets" "^7.20.7"
"@babel/helper-module-transforms" "^7.20.11"
"@babel/helpers" "^7.20.7"
"@babel/parser" "^7.20.7"
"@babel/template" "^7.20.7"
"@babel/traverse" "^7.20.12"
"@babel/types" "^7.20.7"
"convert-source-map" "^1.7.0"
"debug" "^4.1.0"
"gensync" "^1.0.0-beta.2"
"json5" "^2.2.2"
"semver" "^6.3.0"
"@babel/generator@^7.20.7":
"integrity" "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw=="
"resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/types" "^7.20.7"
"@jridgewell/gen-mapping" "^0.3.2"
"jsesc" "^2.5.1"
"@babel/helper-annotate-as-pure@^7.18.6":
"integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA=="
"resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-compilation-targets@^7.20.7":
"integrity" "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ=="
"resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/compat-data" "^7.20.5"
"@babel/helper-validator-option" "^7.18.6"
"browserslist" "^4.21.3"
"lru-cache" "^5.1.1"
"semver" "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.20.7":
"integrity" "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ=="
"resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz"
"version" "7.20.12"
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-member-expression-to-functions" "^7.20.7"
"@babel/helper-optimise-call-expression" "^7.18.6"
"@babel/helper-replace-supers" "^7.20.7"
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-environment-visitor@^7.18.9":
"integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
"resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz"
"version" "7.18.9"
"@babel/helper-function-name@^7.19.0":
"integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w=="
"resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz"
"version" "7.19.0"
dependencies:
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
"@babel/helper-hoist-variables@^7.18.6":
"integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q=="
"resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-member-expression-to-functions@^7.20.7":
"integrity" "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw=="
"resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/types" "^7.20.7"
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.18.6":
"integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="
"resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-module-transforms@^7.20.11":
"integrity" "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg=="
"resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz"
"version" "7.20.11"
dependencies:
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-module-imports" "^7.18.6"
"@babel/helper-simple-access" "^7.20.2"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-validator-identifier" "^7.19.1"
"@babel/template" "^7.20.7"
"@babel/traverse" "^7.20.10"
"@babel/types" "^7.20.7"
"@babel/helper-optimise-call-expression@^7.18.6":
"integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA=="
"resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2":
"integrity" "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ=="
"resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz"
"version" "7.20.2"
"@babel/helper-replace-supers@^7.20.7":
"integrity" "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A=="
"resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-member-expression-to-functions" "^7.20.7"
"@babel/helper-optimise-call-expression" "^7.18.6"
"@babel/template" "^7.20.7"
"@babel/traverse" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/helper-simple-access@^7.20.2":
"integrity" "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA=="
"resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz"
"version" "7.20.2"
dependencies:
"@babel/types" "^7.20.2"
"@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
"integrity" "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg=="
"resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz"
"version" "7.20.0"
dependencies:
"@babel/types" "^7.20.0"
"@babel/helper-split-export-declaration@^7.18.6":
"integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA=="
"resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/types" "^7.18.6"
"@babel/helper-string-parser@^7.19.4":
"integrity" "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
"resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz"
"version" "7.19.4"
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
"integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
"resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz"
"version" "7.19.1"
"@babel/helper-validator-option@^7.18.6":
"integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="
"resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz"
"version" "7.18.6"
"@babel/helpers@^7.20.7":
"integrity" "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA=="
"resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/template" "^7.20.7"
"@babel/traverse" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/highlight@^7.18.6":
"integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g=="
"resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/helper-validator-identifier" "^7.18.6"
"chalk" "^2.0.0"
"js-tokens" "^4.0.0"
"@babel/parser@^7.15.8", "@babel/parser@^7.16.4", "@babel/parser@^7.20.7":
"integrity" "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg=="
"resolved" "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz"
"version" "7.20.7"
"@babel/plugin-syntax-jsx@^7.0.0":
"integrity" "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q=="
"resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz"
"version" "7.18.6"
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-typescript@^7.20.0":
"integrity" "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ=="
"resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz"
"version" "7.20.0"
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/plugin-transform-typescript@^7.20.2":
"integrity" "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw=="
"resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/helper-create-class-features-plugin" "^7.20.7"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-typescript" "^7.20.0"
"@babel/runtime@^7.10.5": "@babel/runtime@^7.10.5":
version "7.20.7" version "7.20.7"
@ -63,6 +294,40 @@
dependencies: dependencies:
regenerator-runtime "^0.13.11" regenerator-runtime "^0.13.11"
"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7":
"integrity" "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw=="
"resolved" "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
"@babel/traverse@^7.0.0", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7":
"integrity" "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ=="
"resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz"
"version" "7.20.12"
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.20.7"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
"debug" "^4.1.0"
"globals" "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7":
"integrity" "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg=="
"resolved" "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"@babel/helper-string-parser" "^7.19.4"
"@babel/helper-validator-identifier" "^7.19.1"
"to-fast-properties" "^2.0.0"
"@ctrl/tinycolor@^3.4.0": "@ctrl/tinycolor@^3.4.0":
version "3.5.0" version "3.5.0"
resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz" resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz"
@ -178,10 +443,25 @@
resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz" resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz"
integrity sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw== integrity sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==
<<<<<<< HEAD
"@jridgewell/gen-mapping@^0.3.0": "@jridgewell/gen-mapping@^0.3.0":
version "0.3.2" version "0.3.2"
resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
=======
"@jridgewell/gen-mapping@^0.1.0":
"integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w=="
"resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz"
"version" "0.1.1"
dependencies:
"@jridgewell/set-array" "^1.0.0"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
"integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A=="
"resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
"version" "0.3.2"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
"@jridgewell/set-array" "^1.0.1" "@jridgewell/set-array" "^1.0.1"
"@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/sourcemap-codec" "^1.4.10"
@ -192,10 +472,17 @@
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
<<<<<<< HEAD
"@jridgewell/set-array@^1.0.1": "@jridgewell/set-array@^1.0.1":
version "1.1.2" version "1.1.2"
resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
=======
"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
"integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
"resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
"version" "1.1.2"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
"@jridgewell/source-map@^0.3.2": "@jridgewell/source-map@^0.3.2":
version "0.3.2" version "0.3.2"
@ -310,6 +597,15 @@
resolved "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz" resolved "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz"
integrity sha512-IUMDPSXnYIbEO2IereEFcgcqfDREOgmbGqtrMpVPpACTU6pltYLwHgVkrnYv0XhWEcjio9sYEfIEzgn3c7nDqA== integrity sha512-IUMDPSXnYIbEO2IereEFcgcqfDREOgmbGqtrMpVPpACTU6pltYLwHgVkrnYv0XhWEcjio9sYEfIEzgn3c7nDqA==
"@vitejs/plugin-vue-jsx@^3.0.0":
"integrity" "sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew=="
"resolved" "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.0.tgz"
"version" "3.0.0"
dependencies:
"@babel/core" "^7.20.5"
"@babel/plugin-transform-typescript" "^7.20.2"
"@vue/babel-plugin-jsx" "^1.1.1"
"@vitejs/plugin-vue@^4.0.0": "@vitejs/plugin-vue@^4.0.0":
version "4.0.0" version "4.0.0"
resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz" resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz"
@ -360,6 +656,26 @@
"@volar/typescript" "1.0.17" "@volar/typescript" "1.0.17"
"@volar/vue-language-core" "1.0.17" "@volar/vue-language-core" "1.0.17"
"@vue/babel-helper-vue-transform-on@^1.0.2":
"integrity" "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA=="
"resolved" "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz"
"version" "1.0.2"
"@vue/babel-plugin-jsx@^1.1.1":
"integrity" "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w=="
"resolved" "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz"
"version" "1.1.1"
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.0.0"
"@babel/template" "^7.0.0"
"@babel/traverse" "^7.0.0"
"@babel/types" "^7.0.0"
"@vue/babel-helper-vue-transform-on" "^1.0.2"
"camelcase" "^6.0.0"
"html-tags" "^3.1.0"
"svg-tags" "^1.0.0"
"@vue/compiler-core@3.2.45": "@vue/compiler-core@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz" resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz"
@ -488,10 +804,29 @@ acorn@^8.5.0, acorn@^8.8.1:
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz" resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz"
integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
<<<<<<< HEAD
ansi-styles@^4.1.0: ansi-styles@^4.1.0:
version "4.3.0" version "4.3.0"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
=======
"acorn@^8.5.0", "acorn@^8.8.1":
"integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz"
"version" "8.8.1"
"ansi-styles@^3.2.1":
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
"version" "3.2.1"
dependencies:
"color-convert" "^1.9.0"
"ansi-styles@^4.1.0":
"integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
"version" "4.3.0"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
color-convert "^2.0.1" color-convert "^2.0.1"
@ -604,10 +939,17 @@ braces@^3.0.2, braces@~3.0.2:
dependencies: dependencies:
fill-range "^7.0.1" fill-range "^7.0.1"
<<<<<<< HEAD
browserslist@^4.21.4: browserslist@^4.21.4:
version "4.21.4" version "4.21.4"
resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz" resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz"
integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
=======
"browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4.21.0":
"integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw=="
"resolved" "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz"
"version" "4.21.4"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
caniuse-lite "^1.0.30001400" caniuse-lite "^1.0.30001400"
electron-to-chromium "^1.4.251" electron-to-chromium "^1.4.251"
@ -632,6 +974,7 @@ camelcase@^1.2.1:
resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz"
integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==
<<<<<<< HEAD
caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426:
version "1.0.30001441" version "1.0.30001441"
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz" resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz"
@ -641,6 +984,31 @@ chalk@^4.0.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
=======
"camelcase@^6.0.0":
"integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
"resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
"version" "6.3.0"
"caniuse-lite@^1.0.30001400", "caniuse-lite@^1.0.30001426":
"integrity" "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg=="
"resolved" "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz"
"version" "1.0.30001441"
"chalk@^2.0.0":
"integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
"version" "2.4.2"
dependencies:
"ansi-styles" "^3.2.1"
"escape-string-regexp" "^1.0.5"
"supports-color" "^5.3.0"
"chalk@^4.0.2":
"integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
"resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
"version" "4.1.2"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
ansi-styles "^4.1.0" ansi-styles "^4.1.0"
supports-color "^7.1.0" supports-color "^7.1.0"
@ -667,10 +1035,24 @@ clean-css@^5.2.2:
dependencies: dependencies:
source-map "~0.6.0" source-map "~0.6.0"
<<<<<<< HEAD
color-convert@^2.0.1: color-convert@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
=======
"color-convert@^1.9.0":
"integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
"resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
"version" "1.9.3"
dependencies:
"color-name" "1.1.3"
"color-convert@^2.0.1":
"integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
"resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
"version" "2.0.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
color-name "~1.1.4" color-name "~1.1.4"
@ -679,10 +1061,22 @@ color-name@^1.0.0, color-name@~1.1.4:
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
<<<<<<< HEAD
color-string@^1.9.0: color-string@^1.9.0:
version "1.9.1" version "1.9.1"
resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
=======
"color-name@1.1.3":
"integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
"resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
"version" "1.1.3"
"color-string@^1.9.0":
"integrity" "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="
"resolved" "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
"version" "1.9.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
color-name "^1.0.0" color-name "^1.0.0"
simple-swizzle "^0.2.2" simple-swizzle "^0.2.2"
@ -737,10 +1131,22 @@ consola@^2.15.3:
resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz"
integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
<<<<<<< HEAD
copy-anything@^2.0.1: copy-anything@^2.0.1:
version "2.0.6" version "2.0.6"
resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz" resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz"
integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==
=======
"convert-source-map@^1.7.0":
"integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
"resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
"version" "1.9.0"
"copy-anything@^2.0.1":
"integrity" "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw=="
"resolved" "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz"
"version" "2.0.6"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
is-what "^3.14.1" is-what "^3.14.1"
@ -787,10 +1193,17 @@ debug@^3.2.6:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
<<<<<<< HEAD
debug@^4.3.4: debug@^4.3.4:
version "4.3.4" version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz" resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
=======
"debug@^4.1.0", "debug@^4.3.4":
"integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
"resolved" "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
"version" "4.3.4"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
ms "2.1.2" ms "2.1.2"
@ -922,10 +1335,22 @@ escalade@^3.1.1:
resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz" resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
<<<<<<< HEAD
escape-string-regexp@^5.0.0: escape-string-regexp@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz"
integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
=======
"escape-string-regexp@^1.0.5":
"integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
"resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
"version" "1.0.5"
"escape-string-regexp@^5.0.0":
"integrity" "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="
"resolved" "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz"
"version" "5.0.0"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
estree-walker@^2.0.1, estree-walker@^2.0.2: estree-walker@^2.0.1, estree-walker@^2.0.2:
version "2.0.2" version "2.0.2"
@ -997,6 +1422,7 @@ fsevents@~2.3.2:
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
<<<<<<< HEAD
function-bind@^1.1.1: function-bind@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz" resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz"
@ -1006,9 +1432,21 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz" resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
=======
"gensync@^1.0.0-beta.2":
"integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
"resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
"version" "1.0.0-beta.2"
"glob-parent@^5.1.2", "glob-parent@~5.1.2":
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
"version" "5.1.2"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
is-glob "^4.0.1" is-glob "^4.0.1"
<<<<<<< HEAD
graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.10" version "4.2.10"
resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz"
@ -1018,6 +1456,27 @@ has-flag@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
=======
"globals@^11.1.0":
"integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
"resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
"version" "11.12.0"
"graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0":
"integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
"resolved" "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz"
"version" "4.2.10"
"has-flag@^3.0.0":
"integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
"resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
"version" "3.0.0"
"has-flag@^4.0.0":
"integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
"resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
"version" "4.0.0"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
has@^1.0.3: has@^1.0.3:
version "1.0.3" version "1.0.3"
@ -1044,10 +1503,22 @@ html-minifier-terser@^6.1.0:
relateurl "^0.2.7" relateurl "^0.2.7"
terser "^5.10.0" terser "^5.10.0"
<<<<<<< HEAD
iconv-lite@^0.6.3: iconv-lite@^0.6.3:
version "0.6.3" version "0.6.3"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz" resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
=======
"html-tags@^3.1.0":
"integrity" "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg=="
"resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz"
"version" "3.2.0"
"iconv-lite@^0.6.3":
"integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="
"resolved" "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz"
"version" "0.6.3"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3.0.0" safer-buffer ">= 2.1.2 < 3.0.0"
@ -1112,6 +1583,7 @@ jake@^10.8.5:
filelist "^1.0.1" filelist "^1.0.1"
minimatch "^3.0.4" minimatch "^3.0.4"
<<<<<<< HEAD
"js-tokens@^3.0.0 || ^4.0.0": "js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0" version "4.0.0"
resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz" resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz"
@ -1121,6 +1593,27 @@ jsonc-parser@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz" resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
=======
"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0":
"integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
"resolved" "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz"
"version" "4.0.0"
"jsesc@^2.5.1":
"integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
"resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
"version" "2.5.2"
"json5@^2.2.2":
"integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
"resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
"version" "2.2.3"
"jsonc-parser@^3.2.0":
"integrity" "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
"resolved" "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
"version" "3.2.0"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
jsonfile@^6.0.1: jsonfile@^6.0.1:
version "6.1.0" version "6.1.0"
@ -1189,10 +1682,24 @@ lower-case@^2.0.2:
dependencies: dependencies:
tslib "^2.0.3" tslib "^2.0.3"
<<<<<<< HEAD
magic-string@^0.25.7: magic-string@^0.25.7:
version "0.25.9" version "0.25.9"
resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz" resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz"
integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
=======
"lru-cache@^5.1.1":
"integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="
"resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
"version" "5.1.1"
dependencies:
"yallist" "^3.0.2"
"magic-string@^0.25.7":
"integrity" "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="
"resolved" "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz"
"version" "0.25.9"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
sourcemap-codec "^1.4.8" sourcemap-codec "^1.4.8"
@ -1526,10 +2033,22 @@ semver@^5.6.0:
resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz" resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
<<<<<<< HEAD
shallow-equal@^1.0.0: shallow-equal@^1.0.0:
version "1.2.1" version "1.2.1"
resolved "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz" resolved "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz"
integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
=======
"semver@^6.3.0":
"integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
"resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
"version" "6.3.0"
"shallow-equal@^1.0.0":
"integrity" "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
"resolved" "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz"
"version" "1.2.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
simple-swizzle@^0.2.2: simple-swizzle@^0.2.2:
version "0.2.2" version "0.2.2"
@ -1568,10 +2087,24 @@ strip-literal@^1.0.0:
dependencies: dependencies:
acorn "^8.8.1" acorn "^8.8.1"
<<<<<<< HEAD
supports-color@^7.1.0: supports-color@^7.1.0:
version "7.2.0" version "7.2.0"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
=======
"supports-color@^5.3.0":
"integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
"resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
"version" "5.5.0"
dependencies:
"has-flag" "^3.0.0"
"supports-color@^7.1.0":
"integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
"resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
"version" "7.2.0"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
has-flag "^4.0.0" has-flag "^4.0.0"
@ -1580,10 +2113,22 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
<<<<<<< HEAD
terser@^5.10.0: terser@^5.10.0:
version "5.16.1" version "5.16.1"
resolved "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz" resolved "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz"
integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==
=======
"svg-tags@^1.0.0":
"integrity" "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA=="
"resolved" "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz"
"version" "1.0.0"
"terser@^5.10.0", "terser@^5.4.0":
"integrity" "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw=="
"resolved" "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz"
"version" "5.16.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
"@jridgewell/source-map" "^0.3.2" "@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0" acorn "^8.5.0"
@ -1595,10 +2140,22 @@ three@0.143.0:
resolved "https://registry.npmjs.org/three/-/three-0.143.0.tgz" resolved "https://registry.npmjs.org/three/-/three-0.143.0.tgz"
integrity sha512-oKcAGYHhJ46TGEuHjodo2n6TY2R6lbvrkp+feKZxqsUL/WkH7GKKaeu6RHeyb2Xjfk2dPLRKLsOP0KM2VgT8Zg== integrity sha512-oKcAGYHhJ46TGEuHjodo2n6TY2R6lbvrkp+feKZxqsUL/WkH7GKKaeu6RHeyb2Xjfk2dPLRKLsOP0KM2VgT8Zg==
<<<<<<< HEAD
to-regex-range@^5.0.1: to-regex-range@^5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz" resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
=======
"to-fast-properties@^2.0.0":
"integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
"resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
"version" "2.0.0"
"to-regex-range@^5.0.1":
"integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
"resolved" "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
"version" "5.0.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a
dependencies: dependencies:
is-number "^7.0.0" is-number "^7.0.0"
@ -1785,6 +2342,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz" resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
<<<<<<< HEAD
webpack-virtual-modules@^0.5.0: webpack-virtual-modules@^0.5.0:
version "0.5.0" version "0.5.0"
resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz" resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
@ -1796,3 +2354,14 @@ zrender@5.4.1:
integrity sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA== integrity sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==
dependencies: dependencies:
tslib "2.3.0" tslib "2.3.0"
=======
"webpack-virtual-modules@^0.5.0":
"integrity" "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
"resolved" "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
"version" "0.5.0"
"yallist@^3.0.2":
"integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
"resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
"version" "3.1.1"
>>>>>>> 640f6d898b750802038c0814bc081d9c2a877f1a